From 4bf38b3f088fdd35e1ca0f1486ebd55129772bbc Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Fri, 11 Oct 2024 10:10:20 -0300 Subject: [PATCH 01/13] BUG: Fix empty path for CBF and ATT for te_asl.py script --- asltk/scripts/te_asl.py | 4 ++-- pyproject.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/asltk/scripts/te_asl.py b/asltk/scripts/te_asl.py index 3f06c89..17ab702 100644 --- a/asltk/scripts/te_asl.py +++ b/asltk/scripts/te_asl.py @@ -115,11 +115,11 @@ def checkUpParameters(): cbf_map = None -if args.cbf != '': +if args.cbf is not None: cbf_map = load_image(args.cbf) att_map = None -if args.cbf != '': +if args.att is not None: att_map = load_image(args.att) diff --git a/pyproject.toml b/pyproject.toml index 4145971..e009b1a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "asltk" -version = "0.1.1" +version = "0.1.3" description = "A quick to use library to process images for MRI Arterial Spin Labeling imaging protocols." authors = ["Antonio Senra Filho "] readme = "README.md" From 361e7d7b61ce624abf810c893127bf93b299e3ac Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Mon, 14 Oct 2024 17:51:55 -0300 Subject: [PATCH 02/13] ENH: Added more tests and changed files to MultiTE and MultiDW methods --- tests/files/pcasl_mdw.nii.gz | Bin 0 -> 332282 bytes .../files/{pcasl.nii.gz => pcasl_mte.nii.gz} | Bin tests/test_asldata.py | 12 +- tests/test_reconstruction.py | 265 +++++++++++++++--- tests/test_utils.py | 15 +- 5 files changed, 250 insertions(+), 42 deletions(-) create mode 100644 tests/files/pcasl_mdw.nii.gz rename tests/files/{pcasl.nii.gz => pcasl_mte.nii.gz} (100%) diff --git a/tests/files/pcasl_mdw.nii.gz b/tests/files/pcasl_mdw.nii.gz new file mode 100644 index 0000000000000000000000000000000000000000..1402bc869a183409710fd39c1095ca6aadc19d3a GIT binary patch literal 332282 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%0D*zEbMR%vVYy%Hy8kF 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

;lY^R<}ucDanD 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 o-eZ4D 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 !Q4%B9UuHf8HB9!88`_Wt3( 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 Kd{(Ub?*9OjZ09Th literal 0 HcmV?d00001 diff --git a/tests/files/pcasl.nii.gz b/tests/files/pcasl_mte.nii.gz similarity index 100% rename from tests/files/pcasl.nii.gz rename to tests/files/pcasl_mte.nii.gz diff --git a/tests/test_asldata.py b/tests/test_asldata.py index e618909..fd274d4 100644 --- a/tests/test_asldata.py +++ b/tests/test_asldata.py @@ -8,7 +8,7 @@ SEP = os.sep T1_MRI = f'tests' + SEP + 'files' + SEP + 't1-mri.nrrd' -PCASL = f'tests' + SEP + 'files' + SEP + 'pcasl.nii.gz' +PCASL_MTE = f'tests' + SEP + 'files' + SEP + 'pcasl_mte.nii.gz' M0 = f'tests' + SEP + 'files' + SEP + 'm0.nii.gz' M0_BRAIN_MASK = f'tests' + SEP + 'files' + SEP + 'm0_brain_mask.nii.gz' @@ -25,14 +25,14 @@ def test_create_successfuly_asldata_object_with_inputs(): assert len(obj_0.get_pld()) == 0 assert obj_0.get_te() == None assert obj_0.get_dw() == None - obj_1 = asldata.ASLData(pcasl=PCASL) + obj_1 = asldata.ASLData(pcasl=PCASL_MTE) assert isinstance(obj_1, asldata.ASLData) assert len(obj_1.get_ld()) == 0 assert len(obj_1.get_pld()) == 0 assert obj_1.get_te() == None assert obj_1.get_dw() == None obj_3 = asldata.ASLData( - pcasl=PCASL, ld_values=[1, 2, 3], pld_values=[1, 2, 3] + pcasl=PCASL_MTE, ld_values=[1, 2, 3], pld_values=[1, 2, 3] ) assert isinstance(obj_3, asldata.ASLData) assert len(obj_3.get_ld()) == 3 @@ -40,7 +40,7 @@ def test_create_successfuly_asldata_object_with_inputs(): assert obj_3.get_te() == None assert obj_3.get_dw() == None obj_4 = asldata.ASLData( - pcasl=PCASL, + pcasl=PCASL_MTE, ld_values=[1, 2, 3], pld_values=[1, 2, 3], te_values=[1, 2, 3], @@ -51,7 +51,7 @@ def test_create_successfuly_asldata_object_with_inputs(): assert len(obj_4.get_te()) == 3 assert obj_4.get_dw() == None obj_5 = asldata.ASLData( - pcasl=PCASL, + pcasl=PCASL_MTE, ld_values=[1, 2, 3], pld_values=[1, 2, 3], te_values=[1, 2, 3], @@ -65,7 +65,7 @@ def test_create_successfuly_asldata_object_with_inputs(): def test_create_object_with_different_image_formats(): - obj = asldata.ASLData(pcasl=PCASL) + obj = asldata.ASLData(pcasl=PCASL_MTE) assert isinstance(obj, asldata.ASLData) obj = asldata.ASLData(m0=M0) assert isinstance(obj, asldata.ASLData) diff --git a/tests/test_reconstruction.py b/tests/test_reconstruction.py index ae0e6d0..2fe831c 100644 --- a/tests/test_reconstruction.py +++ b/tests/test_reconstruction.py @@ -6,24 +6,36 @@ import pytest from asltk.asldata import ASLData -from asltk.reconstruction import CBFMapping, MultiTE_ASLMapping +from asltk.reconstruction import ( + CBFMapping, + MultiDW_ASLMapping, + MultiTE_ASLMapping, +) from asltk.utils import load_image SEP = os.sep T1_MRI = f'tests' + SEP + 'files' + SEP + 't1-mri.nrrd' -PCASL = f'tests' + SEP + 'files' + SEP + 'pcasl.nii.gz' +PCASL_MTE = f'tests' + SEP + 'files' + SEP + 'pcasl_mte.nii.gz' +PCASL_MDW = f'tests' + SEP + 'files' + SEP + 'pcasl_mdw.nii.gz' M0 = f'tests' + SEP + 'files' + SEP + 'm0.nii.gz' M0_BRAIN_MASK = f'tests' + SEP + 'files' + SEP + 'm0_brain_mask.nii.gz' -asldata = ASLData( - pcasl=PCASL, +asldata_te = ASLData( + pcasl=PCASL_MTE, m0=M0, ld_values=[100.0, 100.0, 150.0, 150.0, 400.0, 800.0, 1800.0], pld_values=[170.0, 270.0, 370.0, 520.0, 670.0, 1070.0, 1870.0], te_values=[13.56, 67.82, 122.08, 176.33, 230.59, 284.84, 339.100, 393.36], ) -incomplete_asldata = ASLData(pcasl=PCASL) +asldata_dw = ASLData( + pcasl=PCASL_MDW, + m0=M0, + ld_values=[100.0, 100.0, 150.0, 150.0, 400.0, 800.0, 1800.0], + pld_values=[170.0, 270.0, 370.0, 520.0, 670.0, 1070.0, 1870.0], + dw_values=[0, 50.0, 100.0, 250.0], +) +incomplete_asldata = ASLData(pcasl=PCASL_MTE) def test_cbf_object_raises_error_if_asldata_does_not_have_pcasl_or_m0_image(): @@ -49,21 +61,21 @@ def test_cbf_object_raises_error_if_asldata_does_not_have_pcasl_or_m0_image(): ], ) def test_cbf_object_set_mri_parameters_values(value, param): - cbf = CBFMapping(asldata) + cbf = CBFMapping(asldata_te) mri_default = cbf.get_constant(param) cbf.set_constant(value, param) assert cbf.get_constant(param) != mri_default def test_cbf_add_brain_mask_success(): - cbf = CBFMapping(asldata) + cbf = CBFMapping(asldata_te) mask = load_image(M0_BRAIN_MASK) cbf.set_brain_mask(mask) assert isinstance(cbf._brain_mask, np.ndarray) def test_cbf_object_create_map_raise_error_if_ld_or_pld_are_not_provided(): - data = ASLData(pcasl=PCASL, m0=M0) + data = ASLData(pcasl=PCASL_MTE, m0=M0) cbf = CBFMapping(data) with pytest.raises(Exception) as e: cbf.create_map() @@ -71,7 +83,7 @@ def test_cbf_object_create_map_raise_error_if_ld_or_pld_are_not_provided(): def test_set_brain_mask_verify_if_input_is_a_label_mask(): - cbf = CBFMapping(asldata) + cbf = CBFMapping(asldata_te) not_mask = load_image(T1_MRI) with pytest.warns(UserWarning): warnings.warn( @@ -81,7 +93,7 @@ def test_set_brain_mask_verify_if_input_is_a_label_mask(): def test_set_brain_mask_set_label_value(): - cbf = CBFMapping(asldata) + cbf = CBFMapping(asldata_te) mask = load_image(M0_BRAIN_MASK) cbf.set_brain_mask(mask, label=1) assert np.unique(cbf._brain_mask).size == 2 @@ -92,7 +104,7 @@ def test_set_brain_mask_set_label_value(): def test_set_brain_mask_set_label_value_raise_error_value_not_found_in_mask( label, ): - cbf = CBFMapping(asldata) + cbf = CBFMapping(asldata_te) mask = load_image(M0_BRAIN_MASK) with pytest.raises(Exception) as e: cbf.set_brain_mask(mask, label=label) @@ -100,7 +112,7 @@ def test_set_brain_mask_set_label_value_raise_error_value_not_found_in_mask( def test_set_brain_mask_gives_binary_image_using_correct_label_value(): - cbf = CBFMapping(asldata) + cbf = CBFMapping(asldata_te) img = np.zeros((5, 35, 35)) img[1, 16:30, 16:30] = 250 img[1, 0:15, 0:15] = 1 @@ -112,8 +124,8 @@ def test_set_brain_mask_gives_binary_image_using_correct_label_value(): # def test_ TODO Teste se mask tem mesma dimensao que 3D asl def test_set_brain_mask_raise_error_if_image_dimension_is_different_from_3d_volume(): - cbf = CBFMapping(asldata) - pcasl_3d_vol = load_image(PCASL)[0, 0, :, :, :] + cbf = CBFMapping(asldata_te) + pcasl_3d_vol = load_image(PCASL_MTE)[0, 0, :, :, :] fake_mask = np.array(((1, 1, 1), (0, 1, 0))) with pytest.raises(Exception) as error: cbf.set_brain_mask(fake_mask) @@ -124,14 +136,14 @@ def test_set_brain_mask_raise_error_if_image_dimension_is_different_from_3d_volu def test_set_brain_mask_creates_3d_volume_of_ones_if_not_set_in_cbf_object(): - cbf = CBFMapping(asldata) - vol_shape = asldata('m0').shape + cbf = CBFMapping(asldata_te) + vol_shape = asldata_te('m0').shape mask_shape = cbf._brain_mask.shape assert vol_shape == mask_shape def test_set_brain_mask_raise_error_mask_is_not_an_numpy_array(): - cbf = CBFMapping(asldata) + cbf = CBFMapping(asldata_te) with pytest.raises(Exception) as e: cbf.set_brain_mask(M0_BRAIN_MASK) assert ( @@ -140,8 +152,17 @@ def test_set_brain_mask_raise_error_mask_is_not_an_numpy_array(): ) +def test_cbf_mapping_get_brain_mask_return_adjusted_brain_mask_image_in_the_object(): + cbf = CBFMapping(asldata_te) + assert np.mean(cbf.get_brain_mask()) == 1 + + mask = load_image(M0_BRAIN_MASK) + cbf.set_brain_mask(mask) + assert np.unique(cbf.get_brain_mask()).tolist() == [0, 1] + + def test_cbf_object_create_map_success(): - cbf = CBFMapping(asldata) + cbf = CBFMapping(asldata_te) out = cbf.create_map() assert isinstance(out['cbf'], np.ndarray) assert np.mean(out['cbf']) < 0.0001 @@ -150,7 +171,7 @@ def test_cbf_object_create_map_success(): def test_cbf_map_normalized_flag_true_result_cbf_map_rescaled(): - cbf = CBFMapping(asldata) + cbf = CBFMapping(asldata_te) out = cbf.create_map() out['cbf_norm'][out['cbf_norm'] == 0] = np.nan mean_px_value = np.nanmean(out['cbf_norm']) @@ -158,7 +179,7 @@ def test_cbf_map_normalized_flag_true_result_cbf_map_rescaled(): def test_multite_asl_object_constructor_created_sucessfully(): - mte = MultiTE_ASLMapping(asldata) + mte = MultiTE_ASLMapping(asldata_te) assert isinstance(mte._asl_data, ASLData) assert isinstance(mte._basic_maps, CBFMapping) assert isinstance(mte._brain_mask, np.ndarray) @@ -168,35 +189,35 @@ def test_multite_asl_object_constructor_created_sucessfully(): def test_multite_asl_set_brain_mask_success(): - mte = MultiTE_ASLMapping(asldata) + mte = MultiTE_ASLMapping(asldata_te) mask = load_image(M0_BRAIN_MASK) mte.set_brain_mask(mask) assert isinstance(mte._brain_mask, np.ndarray) def test_multite_asl_set_cbf_map_success(): - mte = MultiTE_ASLMapping(asldata) + mte = MultiTE_ASLMapping(asldata_te) fake_cbf = np.ones((10, 10)) * 20 mte.set_cbf_map(fake_cbf) assert np.mean(mte._cbf_map) == 20 def test_multite_asl_get_cbf_map_success(): - mte = MultiTE_ASLMapping(asldata) + mte = MultiTE_ASLMapping(asldata_te) fake_cbf = np.ones((10, 10)) * 20 mte.set_cbf_map(fake_cbf) assert np.mean(mte.get_cbf_map()) == 20 def test_multite_asl_set_att_map_success(): - mte = MultiTE_ASLMapping(asldata) + mte = MultiTE_ASLMapping(asldata_te) fake_att = np.ones((10, 10)) * 20 mte.set_att_map(fake_att) assert np.mean(mte._att_map) == 20 def test_multite_asl_get_att_map_success(): - mte = MultiTE_ASLMapping(asldata) + mte = MultiTE_ASLMapping(asldata_te) fake_att = np.ones((10, 10)) * 20 mte.set_att_map(fake_att) assert np.mean(mte.get_att_map()) == 20 @@ -206,7 +227,7 @@ def test_multite_asl_get_att_map_success(): def test_multite_asl_set_brain_mask_set_label_value_raise_error_value_not_found_in_mask( label, ): - mte = MultiTE_ASLMapping(asldata) + mte = MultiTE_ASLMapping(asldata_te) mask = load_image(M0_BRAIN_MASK) with pytest.raises(Exception) as e: mte.set_brain_mask(mask, label=label) @@ -214,7 +235,7 @@ def test_multite_asl_set_brain_mask_set_label_value_raise_error_value_not_found_ def test_multite_asl_set_brain_mask_verify_if_input_is_a_label_mask(): - mte = MultiTE_ASLMapping(asldata) + mte = MultiTE_ASLMapping(asldata_te) not_mask = load_image(M0) with pytest.warns(UserWarning): mte.set_brain_mask(not_mask / np.max(not_mask)) @@ -225,8 +246,8 @@ def test_multite_asl_set_brain_mask_verify_if_input_is_a_label_mask(): def test_multite_asl_set_brain_mask_raise_error_if_image_dimension_is_different_from_3d_volume(): - mte = MultiTE_ASLMapping(asldata) - pcasl_3d_vol = load_image(PCASL)[0, 0, :, :, :] + mte = MultiTE_ASLMapping(asldata_te) + pcasl_3d_vol = load_image(PCASL_MTE)[0, 0, :, :, :] fake_mask = np.array(((1, 1, 1), (0, 1, 0))) with pytest.raises(Exception) as error: mte.set_brain_mask(fake_mask) @@ -236,8 +257,17 @@ def test_multite_asl_set_brain_mask_raise_error_if_image_dimension_is_different_ ) +def test_multite_mapping_get_brain_mask_return_adjusted_brain_mask_image_in_the_object(): + mte = MultiTE_ASLMapping(asldata_te) + assert np.mean(mte.get_brain_mask()) == 1 + + mask = load_image(M0_BRAIN_MASK) + mte.set_brain_mask(mask) + assert np.unique(mte.get_brain_mask()).tolist() == [0, 1] + + def test_multite_asl_object_create_map_success(): - mte = MultiTE_ASLMapping(asldata) + mte = MultiTE_ASLMapping(asldata_te) out = mte.create_map() assert isinstance(out['cbf'], np.ndarray) assert np.mean(out['cbf']) < 0.0001 @@ -259,7 +289,7 @@ def test_multite_asl_object_raises_error_if_asldata_does_not_have_pcasl_or_m0_im def test_multite_asl_object_raises_error_if_asldata_does_not_have_te_values(): incompleted_asldata = ASLData( - pcasl=PCASL, + pcasl=PCASL_MTE, m0=M0, ld_values=[100.0, 100.0, 150.0, 150.0, 400.0, 800.0, 1800.0], pld_values=[170.0, 270.0, 370.0, 520.0, 670.0, 1070.0, 1870.0], @@ -274,7 +304,7 @@ def test_multite_asl_object_raises_error_if_asldata_does_not_have_te_values(): def test_multite_asl_object_set_cbf_and_att_maps_before_create_map(): - mte = MultiTE_ASLMapping(asldata) + mte = MultiTE_ASLMapping(asldata_te) assert np.mean(mte.get_brain_mask()) == 1 mask = load_image(M0_BRAIN_MASK) @@ -296,7 +326,7 @@ def test_multite_asl_object_set_cbf_and_att_maps_before_create_map(): def test_multite_asl_object_create_map_using_provided_cbf_att_maps(capfd): - mte = MultiTE_ASLMapping(asldata) + mte = MultiTE_ASLMapping(asldata_te) mask = load_image(M0_BRAIN_MASK) cbf = np.ones(mask.shape) * 100 att = np.ones(mask.shape) * 1500 @@ -311,3 +341,172 @@ def test_multite_asl_object_create_map_using_provided_cbf_att_maps(capfd): if re.search('multiTE-ASL', out): test_pass = True assert test_pass + + +def test_multi_dw_asl_object_constructor_created_sucessfully(): + mte = MultiDW_ASLMapping(asldata_dw) + assert isinstance(mte._asl_data, ASLData) + assert isinstance(mte._basic_maps, CBFMapping) + assert isinstance(mte._brain_mask, np.ndarray) + assert isinstance(mte._cbf_map, np.ndarray) + assert isinstance(mte._att_map, np.ndarray) + assert isinstance(mte._A1, np.ndarray) + assert isinstance(mte._D1, np.ndarray) + assert isinstance(mte._A2, np.ndarray) + assert isinstance(mte._D2, np.ndarray) + assert isinstance(mte._kw, np.ndarray) + + +def test_multi_dw_asl_set_brain_mask_success(): + mte = MultiDW_ASLMapping(asldata_dw) + mask = load_image(M0_BRAIN_MASK) + mte.set_brain_mask(mask) + assert isinstance(mte._brain_mask, np.ndarray) + + +def test_multi_dw_asl_set_cbf_map_success(): + mte = MultiDW_ASLMapping(asldata_dw) + fake_cbf = np.ones((10, 10)) * 20 + mte.set_cbf_map(fake_cbf) + assert np.mean(mte._cbf_map) == 20 + + +def test_multi_dw_asl_get_cbf_map_success(): + mte = MultiDW_ASLMapping(asldata_dw) + fake_cbf = np.ones((10, 10)) * 20 + mte.set_cbf_map(fake_cbf) + assert np.mean(mte.get_cbf_map()) == 20 + + +def test_multi_dw_asl_set_att_map_success(): + mte = MultiDW_ASLMapping(asldata_dw) + fake_att = np.ones((10, 10)) * 20 + mte.set_att_map(fake_att) + assert np.mean(mte._att_map) == 20 + + +def test_multi_dw_asl_get_att_map_success(): + mte = MultiDW_ASLMapping(asldata_dw) + fake_att = np.ones((10, 10)) * 20 + mte.set_att_map(fake_att) + assert np.mean(mte.get_att_map()) == 20 + + +@pytest.mark.parametrize('label', [(3), (-1), (1000000), (-1.1), (2.1)]) +def test_multi_dw_asl_set_brain_mask_set_label_value_raise_error_value_not_found_in_mask( + label, +): + mte = MultiDW_ASLMapping(asldata_dw) + mask = load_image(M0_BRAIN_MASK) + with pytest.raises(Exception) as e: + mte.set_brain_mask(mask, label=label) + assert e.value.args[0] == 'Label value is not found in the mask provided.' + + +def test_multi_dw_asl_set_brain_mask_verify_if_input_is_a_label_mask(): + mte = MultiDW_ASLMapping(asldata_dw) + not_mask = load_image(M0) + with pytest.warns(UserWarning): + mte.set_brain_mask(not_mask / np.max(not_mask)) + warnings.warn( + 'Mask image is not a binary image. Any value > 0 will be assumed as brain label.', + UserWarning, + ) + + +def test_multi_dw_asl_set_brain_mask_raise_error_if_image_dimension_is_different_from_3d_volume(): + mte = MultiDW_ASLMapping(asldata_dw) + pcasl_3d_vol = load_image(PCASL_MDW)[0, 0, :, :, :] + fake_mask = np.array(((1, 1, 1), (0, 1, 0))) + with pytest.raises(Exception) as error: + mte.set_brain_mask(fake_mask) + assert ( + error.value.args[0] + == f'Image mask dimension does not match with input 3D volume. Mask shape {fake_mask.shape} not equal to {pcasl_3d_vol.shape}' + ) + + +def test_multi_dw_mapping_get_brain_mask_return_adjusted_brain_mask_image_in_the_object(): + mdw = MultiDW_ASLMapping(asldata_dw) + assert np.mean(mdw.get_brain_mask()) == 1 + + mask = load_image(M0_BRAIN_MASK) + mdw.set_brain_mask(mask) + assert np.unique(mdw.get_brain_mask()).tolist() == [0, 1] + + +# def test_multi_dw_asl_object_create_map_success(): +# mte = MultiDW_ASLMapping(asldata_dw) +# out = mte.create_map() +# assert isinstance(out['cbf'], np.ndarray) +# assert np.mean(out['cbf']) < 0.0001 +# assert isinstance(out['att'], np.ndarray) +# assert np.mean(out['att']) > 10 +# assert isinstance(out['t1blgm'], np.ndarray) +# assert np.mean(out['t1blgm']) > 50 + + +def test_multi_dw_asl_object_raises_error_if_asldata_does_not_have_pcasl_or_m0_image(): + with pytest.raises(Exception) as error: + mte = MultiDW_ASLMapping(incomplete_asldata) + + assert ( + error.value.args[0] + == 'ASLData is incomplete. CBFMapping need pcasl and m0 images.' + ) + + +def test_multi_dw_asl_object_raises_error_if_asldata_does_not_have_te_values(): + incompleted_asldata = ASLData( + pcasl=PCASL_MDW, + m0=M0, + ld_values=[100.0, 100.0, 150.0, 150.0, 400.0, 800.0, 1800.0], + pld_values=[170.0, 270.0, 370.0, 520.0, 670.0, 1070.0, 1870.0], + ) + with pytest.raises(Exception) as error: + mte = MultiDW_ASLMapping(incompleted_asldata) + + assert ( + error.value.args[0] + == 'ASLData is incomplete. MultiDW_ASLMapping need a list of DW values.' + ) + + +def test_multi_dw_asl_object_set_cbf_and_att_maps_before_create_map(): + mte = MultiDW_ASLMapping(asldata_dw) + assert np.mean(mte.get_brain_mask()) == 1 + + mask = load_image(M0_BRAIN_MASK) + mte.set_brain_mask(mask) + assert np.mean(mte.get_brain_mask()) < 1 + + # Test if CBF/ATT are empty (fresh obj creation) + assert np.mean(mte.get_att_map()) == 0 and np.mean(mte.get_cbf_map()) == 0 + + # Update CBF/ATT maps and test if it changed in the obj + cbf = np.ones(mask.shape) * 100 + att = np.ones(mask.shape) * 1500 + mte.set_cbf_map(cbf) + mte.set_att_map(att) + assert ( + np.mean(mte.get_att_map()) == 1500 + and np.mean(mte.get_cbf_map()) == 100 + ) + + +def test_multi_dw_asl_object_create_map_using_provided_cbf_att_maps(capfd): + mte = MultiDW_ASLMapping(asldata_dw) + mask = load_image(M0_BRAIN_MASK) + cbf = np.ones(mask.shape) * 100 + att = np.ones(mask.shape) * 1500 + + mte.set_brain_mask(mask) + mte.set_cbf_map(cbf) + mte.set_att_map(att) + + _ = mte.create_map() + out, err = capfd.readouterr() + test_pass = False + if re.search('multiDW-ASL', out): + test_pass = True + assert test_pass diff --git a/tests/test_utils.py b/tests/test_utils.py index cffe390..4c09cd4 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -8,13 +8,13 @@ SEP = os.sep T1_MRI = f'tests' + SEP + 'files' + SEP + 't1-mri.nrrd' -PCASL = f'tests' + SEP + 'files' + SEP + 'pcasl.nii.gz' +PCASL_MTE = f'tests' + SEP + 'files' + SEP + 'pcasl_mte.nii.gz' M0 = f'tests' + SEP + 'files' + SEP + 'm0.nii.gz' M0_BRAIN_MASK = f'tests' + SEP + 'files' + SEP + 'm0_brain_mask.nii.gz' def test_load_image_pcasl_type_update_object_image_reference(): - img = utils.load_image(PCASL) + img = utils.load_image(PCASL_MTE) assert isinstance(img, np.ndarray) @@ -79,7 +79,7 @@ def test_asl_model_buxton_tau_raise_errors_with_wrong_inputs(input): @pytest.mark.parametrize('input', [('a'), (2), (100.1)]) -def test_asl_model_buxton_tau_raise_errors_with_wrong_inputs(input): +def test_asl_model_buxton_tau_raise_errors_with_wrong_inputs_type(input): with pytest.raises(Exception) as e: buxton_values = utils.asl_model_buxton( tau=input, w=[10, 20, 30], m0=1000, cbf=450, att=1500 @@ -89,6 +89,15 @@ def test_asl_model_buxton_tau_raise_errors_with_wrong_inputs(input): ) +@pytest.mark.parametrize('input', [(['a']), (['2']), (['100.1'])]) +def test_asl_model_buxton_tau_raise_errors_with_wrong_inputs_values(input): + with pytest.raises(Exception) as e: + buxton_values = utils.asl_model_buxton( + tau=input, w=[10, 20, 30], m0=1000, cbf=450, att=1500 + ) + assert e.value.args[0] == 'tau list must contain float or int values' + + @pytest.mark.parametrize( 'input', [(['a', 'b', 'c']), (['a', 'b', 2]), ([100.1, 200.0, np.ndarray])] ) From 10fea677d163e9c69b01f9cfff5c076704a0d83a Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Mon, 14 Oct 2024 17:52:17 -0300 Subject: [PATCH 03/13] ENH: New MultiDW script --- asltk/scripts/dw_asl.py | 192 ++++++++++++++++++++++++++++++++++++++++ asltk/scripts/te_asl.py | 3 +- 2 files changed, 193 insertions(+), 2 deletions(-) create mode 100644 asltk/scripts/dw_asl.py diff --git a/asltk/scripts/dw_asl.py b/asltk/scripts/dw_asl.py new file mode 100644 index 0000000..0865256 --- /dev/null +++ b/asltk/scripts/dw_asl.py @@ -0,0 +1,192 @@ +import argparse +import os +from functools import * + +import numpy as np +import SimpleITK as sitk +from rich import print + +from asltk.asldata import ASLData +from asltk.reconstruction import MultiDW_ASLMapping +from asltk.utils import load_image, save_image + +parser = argparse.ArgumentParser( + description='Python script to calculate the Multi-DW ASL data.' +) + +parser.add_argument( + 'pcasl', + type=str, + help='ASL raw data obtained from the MRI scanner. This must be the multi-DW ASL MRI acquisition protocol.', +) +parser.add_argument('m0', type=str, help='M0 image in Nifti format.') +parser.add_argument( + 'mask', + type=str, + nargs='?', + default='', + help='Image mask defining the ROI where the calculations must be done. Any pixel value different from zero will be assumed as the ROI area. Outside the mask (value=0) will be ignored.', +) +parser.add_argument( + 'out_folder', + type=str, + nargs='?', + default=os.path.expanduser('~'), + help='The output folder that is the reference to save all the output images in the script. The images selected to be saved are given as tags in the script caller, e.g. the options --cbf_map and --att_map. By default, the TblGM map is placed in the output folder with the name tblgm_map.nii.gz', +) +parser.add_argument( + '--cbf', + type=str, + nargs='?', + required=False, + help='The CBF map that is provided to skip this step in the MultiTE-ASL calculation. If CBF is not provided, than a CBF map is calculated at the runtime. Important: The CBF passed here is with the original voxel scale, i.e. without voxel normalization.', +) +parser.add_argument( + '--att', + type=str, + nargs='?', + required=False, + help='The ATT map that is provided to skip this step in the MultiTE-ASL calculation. If ATT is not provided, than a ATT map is calculated at the runtime.', +) +parser.add_argument( + '--pld', + type=str, + nargs='+', + required=True, + help='Posts Labeling Delay (PLD) trend, arranged in a sequence of float numbers', +) +parser.add_argument( + '--ld', + type=str, + nargs='+', + required=True, + help='Labeling Duration trend (LD), arranged in a sequence of float numbers.', +) +parser.add_argument( + '--dw', + type=str, + nargs='+', + required=True, + help='Diffusion b-values arranged in a sequence of float numbers.', +) + + +parser.add_argument( + '--verbose', + action='store_true', + help='Show more details thoughout the processing.', +) + +args = parser.parse_args() + +# Script check-up parameters +def checkUpParameters(): + is_ok = True + # Check output folder exist + if not (os.path.isdir(args.out_folder)): + print( + f'Output folder path does not exist (path: {args.out_folder}). Please create the folder before executing the script.' + ) + is_ok = False + + # Check ASL image exist + if not (os.path.isfile(args.pcasl)): + print( + f'ASL input file does not exist (file path: {args.asl}). Please check the input file before executing the script.' + ) + is_ok = False + + # Check M0 image exist + if not (os.path.isfile(args.m0)): + print( + f'M0 input file does not exist (file path: {args.m0}). Please check the input file before executing the script.' + ) + is_ok = False + + return is_ok + + +asl_img = load_image(args.pcasl) +m0_img = load_image(args.m0) + +mask_img = np.ones(asl_img[0, 0, :, :, :].shape) +if args.mask != '': + mask_img = load_image(args.mask) + + +cbf_map = None +if args.cbf is not None: + cbf_map = load_image(args.cbf) + +att_map = None +if args.att is not None: + att_map = load_image(args.att) + + +try: + dw = [float(s) for s in args.dw] + pld = [float(s) for s in args.pld] + ld = [float(s) for s in args.ld] +except: + dw = [float(s) for s in str(args.dw[0]).split()] + pld = [float(s) for s in str(args.pld[0]).split()] + ld = [float(s) for s in str(args.ld[0]).split()] + +if not checkUpParameters(): + raise RuntimeError( + 'One or more arguments are not well defined. Please, revise the script call.' + ) + + +# Step 2: Show the input information to assist manual conference +if args.verbose: + print(' --- Script Input Data ---') + print('ASL file path: ' + args.pcasl) + print('ASL image dimension: ' + str(asl_img.shape)) + print('Mask file path: ' + args.mask) + print('Mask image dimension: ' + str(mask_img.shape)) + print('M0 file path: ' + args.m0) + print('M0 image dimension: ' + str(m0_img.shape)) + print('PLD: ' + str(pld)) + print('LD: ' + str(ld)) + print('DW: ' + str(dw)) + if args.cbf != '': + print('(optional) CBF map: ' + str(args.cbf)) + if args.att != '': + print('(optional) ATT map: ' + str(args.att)) + + +data = ASLData( + pcasl=args.pcasl, m0=args.m0, ld_values=ld, pld_values=pld, dw_values=dw +) +recon = MultiDW_ASLMapping(data) +recon.set_brain_mask(mask_img) +if isinstance(cbf_map, np.ndarray) and isinstance(att_map, np.ndarray): + recon.set_cbf_map(cbf_map) + recon.set_att_map(att_map) + +maps = recon.create_map() + + +save_path = args.out_folder + os.path.sep + 'cbf_map.nii.gz' +if args.verbose and cbf_map is not None: + print('Saving CBF map - Path: ' + save_path) +save_image(maps['cbf'], save_path) + +save_path = args.out_folder + os.path.sep + 'cbf_map_normalized.nii.gz' +if args.verbose and cbf_map is not None: + print('Saving normalized CBF map - Path: ' + save_path) +save_image(maps['cbf_norm'], save_path) + +save_path = args.out_folder + os.path.sep + 'att_map.nii.gz' +if args.verbose and att_map is not None: + print('Saving ATT map - Path: ' + save_path) +save_image(maps['att'], save_path) + +save_path = args.out_folder + os.path.sep + 'mte_kw_map.nii.gz' +if args.verbose: + print('Saving multiDW-ASL kw map - Path: ' + save_path) +save_image(maps['kw'], save_path) + +if args.verbose: + print('Execution: ' + parser.prog + ' finished successfully!') diff --git a/asltk/scripts/te_asl.py b/asltk/scripts/te_asl.py index 17ab702..69fc3dd 100644 --- a/asltk/scripts/te_asl.py +++ b/asltk/scripts/te_asl.py @@ -69,8 +69,7 @@ required=True, help='Time of Echos (TE), arranged in a sequence of float numbers.', ) -# TODO Colocar CBF e ATT como opcionais, se o usuario passar, economiza o processamento para direto multiTE -# TODO Se usuario fornece CBF e ATT, então não salva o arquivo final (tratar a parte de salvar dados ) + parser.add_argument( '--verbose', action='store_true', From fc9e6e604bf3998b652f025c706d30289ebd9d49 Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Mon, 14 Oct 2024 17:52:38 -0300 Subject: [PATCH 04/13] ENH: New MultiDW_ASLMapping class --- asltk/reconstruction.py | 351 ++++++++++++++++++++++++++++++++-------- 1 file changed, 282 insertions(+), 69 deletions(-) diff --git a/asltk/reconstruction.py b/asltk/reconstruction.py index 295e954..d8980af 100644 --- a/asltk/reconstruction.py +++ b/asltk/reconstruction.py @@ -8,10 +8,13 @@ from asltk.asldata import ASLData from asltk.mri_parameters import MRIParameters -from asltk.utils import asl_model_buxton, asl_model_multi_te +from asltk.utils import ( + asl_model_buxton, + asl_model_multi_dw, + asl_model_multi_te, +) # TODO Opcao para aplicar filtro no mapa de saida (Gauss, etc) -# TODO Brain mask como input ou opção de processamento? class CBFMapping(MRIParameters): @@ -27,7 +30,7 @@ def __init__(self, asl_data: ASLData) -> None: Examples: The default MRIParameters are used as default in the object constructor - >>> asl_data = ASLData(pcasl='./tests/files/pcasl.nii.gz',m0='./tests/files/m0.nii.gz') + >>> asl_data = ASLData(pcasl='./tests/files/pcasl_mte.nii.gz',m0='./tests/files/m0.nii.gz') >>> cbf = CBFMapping(asl_data) >>> cbf.get_constant('T1csf') 1400.0 @@ -71,8 +74,7 @@ def set_brain_mask(self, brain_mask: np.ndarray, label: int = 1): Args: brain_mask (np.ndarray): The image representing the brain mask label (int, optional): The label value used to define the foreground tissue (brain). Defaults to 1. """ - # TODO Add flag to create new mask using fsl.bet - self._check_mask_values(brain_mask, label) + _check_mask_values(brain_mask, label, self._asl_data('m0').shape) binary_mask = (brain_mask == label).astype(np.uint8) * label self._brain_mask = binary_mask @@ -167,36 +169,6 @@ def mod_buxton(Xdata, par1, par2): 'att': self._att_map, } - def _check_mask_values(self, mask, label): - # Check wheter mask input is an numpy array - if not isinstance(mask, np.ndarray): - raise TypeError(f'mask is not an numpy array. Type {type(mask)}') - - # Check whether the mask provided is a binary image - unique_values = np.unique(mask) - if unique_values.size > 2: - warnings.warn( - 'Mask image is not a binary image. Any value > 0 will be assumed as brain label.', - UserWarning, - ) - - # Check whether the label value is found in the mask image - label_ok = False - for value in unique_values: - if label == value: - label_ok = True - break - if not label_ok: - raise ValueError('Label value is not found in the mask provided.') - - # Check whether the dimensions between mask and input volume matches - mask_shape = mask.shape - input_vol_shape = self._asl_data('pcasl')[0, 0, :, :, :].shape - if mask_shape != input_vol_shape: - raise TypeError( - f'Image mask dimension does not match with input 3D volume. Mask shape {mask_shape} not equal to {input_vol_shape}' - ) - class MultiTE_ASLMapping(MRIParameters): def __init__(self, asl_data: ASLData) -> None: @@ -212,7 +184,7 @@ def __init__(self, asl_data: ASLData) -> None: Examples: The default MRIParameters are used as default in the object constructor - >>> asl_data = ASLData(pcasl='./tests/files/pcasl.nii.gz',m0='./tests/files/m0.nii.gz', te_values=[13.2, 25.7, 50.4]) + >>> asl_data = ASLData(pcasl='./tests/files/pcasl_mte.nii.gz',m0='./tests/files/m0.nii.gz', te_values=[13.2, 25.7, 50.4]) >>> mte = MultiTE_ASLMapping(asl_data) >>> mte.get_constant('T1csf') 1400.0 @@ -261,8 +233,7 @@ def set_brain_mask(self, brain_mask: np.ndarray, label: int = 1): Args: brain_mask (np.ndarray): The image representing the brain mask label (int, optional): The label value used to define the foreground tissue (brain). Defaults to 1. """ - # TODO Add flag to create new mask using fsl.bet - self._check_mask_values(brain_mask, label) + _check_mask_values(brain_mask, label, self._asl_data('m0').shape) binary_mask = (brain_mask == label).astype(np.uint8) * label self._brain_mask = binary_mask @@ -313,36 +284,6 @@ def get_att_map(self): """ return self._att_map - def _check_mask_values(self, mask, label): - # Check wheter mask input is an numpy array - if not isinstance(mask, np.ndarray): - raise TypeError(f'mask is not an numpy array. Type {type(mask)}') - - # Check whether the mask provided is a binary image - unique_values = np.unique(mask) - if unique_values.size > 2: - warnings.warn( - 'Mask image is not a binary image. Any value > 0 will be assumed as brain label.', - UserWarning, - ) - - # Check whether the label value is found in the mask image - label_ok = False - for value in unique_values: - if label == value: - label_ok = True - break - if not label_ok: - raise ValueError('Label value is not found in the mask provided.') - - # Check whether the dimensions between mask and input volume matches - mask_shape = mask.shape - input_vol_shape = self._asl_data('pcasl')[0, 0, :, :, :].shape - if mask_shape != input_vol_shape: - raise TypeError( - f'Image mask dimension does not match with input 3D volume. Mask shape {mask_shape} not equal to {input_vol_shape}' - ) - def create_map( self, ub: list = [np.inf], @@ -422,7 +363,6 @@ def mod_2comp(Xdata, par1): self.T2gm, ) - # Ydata = np.swapaxes(asl_img[:,:,k,j,i],0,1).reshape((len(pld) * len(te), 1), order='F').flatten('F') Ydata = ( self._asl_data('pcasl')[:, :, k, j, i] .reshape( @@ -485,3 +425,276 @@ def _adjust_image_limits(self, map, init_guess): img = thr_filter.Execute(img) return sitk.GetArrayFromImage(img) + + +class MultiDW_ASLMapping(MRIParameters): + def __init__(self, asl_data: ASLData): + super().__init__() + self._asl_data = asl_data + self._basic_maps = CBFMapping(asl_data) + if self._asl_data.get_dw() is None: + raise ValueError( + 'ASLData is incomplete. MultiDW_ASLMapping need a list of DW values.' + ) + + self._brain_mask = np.ones(self._asl_data('m0').shape) + self._cbf_map = np.zeros(self._asl_data('m0').shape) + self._att_map = np.zeros(self._asl_data('m0').shape) + + self._b_values = self._asl_data.get_dw() + # self._A1 = np.zeros(tuple([len(self._b_values)]) + self._asl_data('m0').shape) + self._A1 = np.zeros(self._asl_data('m0').shape) + # self._D1 = np.zeros(tuple([1]) +self._asl_data('m0').shape) + self._D1 = np.zeros(self._asl_data('m0').shape) + self._A2 = np.zeros(self._asl_data('m0').shape) + # self._A2 = np.zeros(tuple([len(self._b_values)]) + self._asl_data('m0').shape) + # self._D2 = np.zeros(tuple([1]) +self._asl_data('m0').shape) + self._D2 = np.zeros(self._asl_data('m0').shape) + self._kw = np.zeros(self._asl_data('m0').shape) + + def set_brain_mask(self, brain_mask: np.ndarray, label: int = 1): + """Defines whether a brain a mask is applied to the MultiDW_ASLMapping + calculation + + A image mask is simply an image that defines the voxels where the ASL + calculation should be made. Basically any integer value can be used as + proper label mask. + + A most common approach is to use a binary image (zeros for background + and 1 for the brain tissues). Anyway, the default behavior of the + method can transform a integer-pixel values image to a binary mask with + the `label` parameter provided by the user + + Args: + brain_mask (np.ndarray): The image representing the brain mask label (int, optional): The label value used to define the foreground tissue (brain). Defaults to 1. + """ + _check_mask_values(brain_mask, label, self._asl_data('m0').shape) + + binary_mask = (brain_mask == label).astype(np.uint8) * label + self._brain_mask = binary_mask + + def get_brain_mask(self): + """Get the brain mask image + + Returns: + (np.ndarray): The brain mask image + """ + return self._brain_mask + + def set_cbf_map(self, cbf_map: np.ndarray): + """Set the CBF map to the MultiDW_ASLMapping object. + + Note: + The CBF maps must have the original scale in order to calculate the + T1blGM map correclty. Hence, if the CBF map was made using + CBFMapping class, one can use the 'cbf' output. + + Args: + cbf_map (np.ndarray): The CBF map that is set in the MultiDW_ASLMapping object + """ + self._cbf_map = cbf_map + + def get_cbf_map(self) -> np.ndarray: + """Get the CBF map storaged at the MultiDW_ASLMapping object + + Returns: + (np.ndarray): The CBF map that is storaged in the + MultiDW_ASLMapping object + """ + return self._cbf_map + + def set_att_map(self, att_map: np.ndarray): + """Set the ATT map to the MultiDW_ASLMapping object. + + Args: + att_map (np.ndarray): The ATT map that is set in the MultiDW_ASLMapping object + """ + self._att_map = att_map + + def get_att_map(self): + """Get the ATT map storaged at the MultiDW_ASLMapping object + + Returns: + (np.ndarray): _description_ + """ + return self._att_map + + def create_map( + self, + lb: list = [0.0, 0.0, 0.0, 0.0], + ub: list = [np.inf, np.inf, np.inf, np.inf], + par0: list = [0.5, 0.000005, 0.5, 0.000005], + ): + self._basic_maps.set_brain_mask(self._brain_mask) + + basic_maps = {'cbf': self._cbf_map, 'att': self._att_map} + if np.mean(self._cbf_map) == 0 or np.mean(self._att_map) == 0: + # If the CBF/ATT maps are zero (empty), then a new one is created + print( + '[blue][INFO] The CBF/ATT map were not provided. Creating these maps before next step...' + ) + basic_maps = self._basic_maps.create_map() + self._cbf_map = basic_maps['cbf'] + self._att_map = basic_maps['att'] + + x_axis = self._asl_data('m0').shape[2] # height + y_axis = self._asl_data('m0').shape[1] # width + z_axis = self._asl_data('m0').shape[0] # depth + + for i in track( + range(x_axis), description='[green]multiDW-ASL processing...' + ): + for j in range(y_axis): + for k in range(z_axis): + if self._brain_mask[k, j, i] != 0: + # Calculates the diffusion components for (A1, D1), (A2, D2) + def mod_diff(Xdata, par1, par2, par3, par4): + return asl_model_multi_dw( + b_values=Xdata, + A1=par1, + D1=par2, + A2=par3, + D2=par4, + ) + + # M(t,b)/M(t,0) + Ydata = ( + self._asl_data('pcasl')[:, :, k, j, i] + .reshape( + ( + len(self._asl_data.get_ld()) + * len(self._asl_data.get_dw()), + 1, + ) + ) + .flatten() + / self._asl_data('m0')[k, j, i] + ) + + try: + # Xdata = self._b_values + Xdata = self._create_x_data( + self._asl_data.get_ld(), + self._asl_data.get_pld(), + self._asl_data.get_dw(), + ) + + par_fit, _ = curve_fit( + mod_diff, + Xdata[:, 2], + Ydata, + p0=par0, + bounds=(lb, ub), + ) + self._A1[k, j, i] = par_fit[0] + self._D1[k, j, i] = par_fit[1] + self._A2[k, j, i] = par_fit[2] + self._D2[k, j, i] = par_fit[3] + except RuntimeError: + self._A1[k, j, i] = 0 + self._D1[k, j, i] = 0 + self._A2[k, j, i] = 0 + self._D2[k, j, i] = 0 + + # Calculates the Mc fitting to alpha = kw + T1blood + m0_px = self._asl_data('m0')[k, j, i] + + # def mod_2comp(Xdata, par1): + # ... + # # return asl_model_multi_te( + # # Xdata[:, 0], + # # Xdata[:, 1], + # # Xdata[:, 2], + # # m0_px, + # # basic_maps['cbf'][k, j, i], + # # basic_maps['att'][k, j, i], + # # par1, + # # self.T2bl, + # # self.T2gm, + # # ) + + # Ydata = ( + # self._asl_data('pcasl')[:, :, k, j, i] + # .reshape( + # ( + # len(self._asl_data.get_ld()) + # * len(self._asl_data.get_te()), + # 1, + # ) + # ) + # .flatten() + # ) + + # try: + # Xdata = self._create_x_data( + # self._asl_data.get_ld(), + # self._asl_data.get_pld(), + # self._asl_data.get_dw(), + # ) + # par_fit, _ = curve_fit( + # mod_2comp, + # Xdata, + # Ydata, + # p0=par0, + # bounds=(lb, ub), + # ) + # self._kw[k, j, i] = par_fit[0] + # except RuntimeError: + # self._kw[k, j, i] = 0.0 + + # # Adjusting output image boundaries + # self._kw = self._adjust_image_limits(self._kw, par0[0]) + + return { + 'cbf': self._cbf_map, + 'cbf_norm': self._cbf_map * (60 * 60 * 1000), + 'att': self._att_map, + 'a1': self._A1, + 'd1': self._D1, + 'a2': self._A2, + 'd2': self._D2, + 'kw': self._kw, + } + + def _create_x_data(self, ld, pld, dw): + # array for the x values, assuming an arbitrary size based on the PLD + # and TE vector size + Xdata = np.zeros((len(pld) * len(dw), 3)) + + count = 0 + for i in range(len(pld)): + for j in range(len(dw)): + Xdata[count] = [ld[i], pld[i], dw[j]] + count += 1 + + return Xdata + + +def _check_mask_values(mask, label, ref_shape): + # Check wheter mask input is an numpy array + if not isinstance(mask, np.ndarray): + raise TypeError(f'mask is not an numpy array. Type {type(mask)}') + + # Check whether the mask provided is a binary image + unique_values = np.unique(mask) + if unique_values.size > 2: + warnings.warn( + 'Mask image is not a binary image. Any value > 0 will be assumed as brain label.', + UserWarning, + ) + + # Check whether the label value is found in the mask image + label_ok = False + for value in unique_values: + if label == value: + label_ok = True + break + if not label_ok: + raise ValueError('Label value is not found in the mask provided.') + + # Check whether the dimensions between mask and input volume matches + mask_shape = mask.shape + if mask_shape != ref_shape: + raise TypeError( + f'Image mask dimension does not match with input 3D volume. Mask shape {mask_shape} not equal to {ref_shape}' + ) From 96235bfc6883b19d978957053a573acddb160674 Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Mon, 14 Oct 2024 17:52:49 -0300 Subject: [PATCH 05/13] ENH: Added badge for pipy version --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bda0ddb..de005cb 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![codecov](https://codecov.io/gh/LOAMRI/asltk/graph/badge.svg?token=1W8GQ7SLU9)](https://codecov.io/gh/LOAMRI/asltk) ![CI_main](https://github.com/LOAMRI/asltk/actions/workflows/ci_main.yaml/badge.svg) [![CI_develop](https://github.com/LOAMRI/asltk/actions/workflows/ci_develop.yaml/badge.svg)](https://github.com/LOAMRI/asltk/actions/workflows/ci_develop.yaml) +[![PyPI version](https://badge.fury.io/py/asltk.svg)](https://badge.fury.io/py/asltk) # Arterial Spin Labeling Toolkit (asltk) From 0c11ec8effaf560d38588d345990a3ad91d5cf01 Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Mon, 14 Oct 2024 17:53:15 -0300 Subject: [PATCH 06/13] WIP: Added asl_model_multi_dw calculation method (only A1, D1, A2, D2) --- asltk/utils.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/asltk/utils.py b/asltk/utils.py index 8953f27..b27ec09 100644 --- a/asltk/utils.py +++ b/asltk/utils.py @@ -368,3 +368,19 @@ def asl_model_multi_te( mag_total[i] = Sb + Scsf return mag_total + + +def asl_model_multi_dw( + b_values: list, A1: list, D1: float, A2: list, D2: float +): + mag_total = np.zeros(len(b_values)) + + for i in range(0, len(b_values)): + try: + mag_total[i] = A1 * math.exp(-b_values[i] * D1) + A2 * math.exp( + -b_values[i] * D2 + ) + except (OverflowError, RuntimeError): + mag_total[i] = 0.0 + + return mag_total From e7c9ff407b662f2c10dbba0efc34c8daaba6c970 Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Mon, 14 Oct 2024 17:53:32 -0300 Subject: [PATCH 07/13] DOC: Fixed get_dw documentation --- asltk/asldata.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/asltk/asldata.py b/asltk/asldata.py index 91e4ff4..0788e2d 100644 --- a/asltk/asldata.py +++ b/asltk/asldata.py @@ -162,11 +162,11 @@ def set_te(self, te_values: list): self._parameters['te'] = te_values def get_dw(self): - """Obtain the PLD array values""" + """Obtain the Diffusion b values array""" return self._parameters['dw'] def set_dw(self, dw_values: list): - """Set the DW values. + """Set the Diffusion b values. The proper way to inform the values here is using a list of int or float data. The total quantity of values depends on the image From ffded0c3a64be703890e0ad2d6c872965ca66260 Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Tue, 15 Oct 2024 14:52:20 -0300 Subject: [PATCH 08/13] ENH: More detailed --help information in Scripts --- asltk/scripts/cbf.py | 21 +++++++++++++-------- asltk/scripts/dw_asl.py | 28 +++++++++++++++------------- asltk/scripts/te_asl.py | 29 ++++++++++++++++------------- 3 files changed, 44 insertions(+), 34 deletions(-) diff --git a/asltk/scripts/cbf.py b/asltk/scripts/cbf.py index 2a64e1d..dc2af47 100644 --- a/asltk/scripts/cbf.py +++ b/asltk/scripts/cbf.py @@ -13,44 +13,49 @@ from asltk.utils import load_image, save_image parser = argparse.ArgumentParser( + prog="CBF/ATT Mapping", description='Python script to calculate the basic CBF and ATT maps from ASL data.' ) +parser._action_groups.pop() +required = parser.add_argument_group(title="Required parameters") +optional = parser.add_argument_group(title="Optional parameters") -parser.add_argument( + +required.add_argument( 'pcasl', type=str, help='ASL raw data obtained from the MRI scanner. This must be the basic PLD ASL MRI acquisition protocol.', ) -parser.add_argument('m0', type=str, help='M0 image in Nifti format.') -parser.add_argument( +required.add_argument('m0', type=str, help='M0 image reference used to calculate the ASL signal.') +optional.add_argument( 'mask', type=str, nargs='?', default='', - help='Image mask defining the ROI where the calculations must be done. Any pixel value different from zero will be assumed as the ROI area. Outside the mask (value=0) will be ignored.', + help='Image mask defining the ROI where the calculations must be done. Any pixel value different from zero will be assumed as the ROI area. Outside the mask (value=0) will be ignored. If not provided, the entire image space will be calculated.', ) -parser.add_argument( +required.add_argument( 'out_folder', type=str, nargs='?', default=os.path.expanduser('~'), help='The output folder that is the reference to save all the output images in the script. The images selected to be saved are given as tags in the script caller, e.g. the options --cbf_map and --att_map. By default, the TblGM map is placed in the output folder with the name tblgm_map.nii.gz', ) -parser.add_argument( +required.add_argument( '--pld', type=str, nargs='+', required=True, help='Posts Labeling Delay (PLD) trend, arranged in a sequence of float numbers', ) -parser.add_argument( +required.add_argument( '--ld', type=str, nargs='+', required=True, help='Labeling Duration trend (LD), arranged in a sequence of float numbers.', ) -parser.add_argument( +optional.add_argument( '--verbose', action='store_true', help='Show more details thoughout the processing.', diff --git a/asltk/scripts/dw_asl.py b/asltk/scripts/dw_asl.py index 0865256..d756f0e 100644 --- a/asltk/scripts/dw_asl.py +++ b/asltk/scripts/dw_asl.py @@ -11,67 +11,69 @@ from asltk.utils import load_image, save_image parser = argparse.ArgumentParser( + prog="Multi-DW ASL Mapping", description='Python script to calculate the Multi-DW ASL data.' ) +parser._action_groups.pop() +required = parser.add_argument_group(title="Required parameters") +optional = parser.add_argument_group(title="Optional parameters") -parser.add_argument( +required.add_argument( 'pcasl', type=str, help='ASL raw data obtained from the MRI scanner. This must be the multi-DW ASL MRI acquisition protocol.', ) -parser.add_argument('m0', type=str, help='M0 image in Nifti format.') -parser.add_argument( +required.add_argument('m0', type=str, help='M0 image reference used to calculate the ASL signal.') +optional.add_argument( 'mask', type=str, nargs='?', default='', - help='Image mask defining the ROI where the calculations must be done. Any pixel value different from zero will be assumed as the ROI area. Outside the mask (value=0) will be ignored.', + help='Image mask defining the ROI where the calculations must be done. Any pixel value different from zero will be assumed as the ROI area. Outside the mask (value=0) will be ignored. If not provided, the entire image space will be calculated.', ) -parser.add_argument( +required.add_argument( 'out_folder', type=str, nargs='?', default=os.path.expanduser('~'), help='The output folder that is the reference to save all the output images in the script. The images selected to be saved are given as tags in the script caller, e.g. the options --cbf_map and --att_map. By default, the TblGM map is placed in the output folder with the name tblgm_map.nii.gz', ) -parser.add_argument( +optional.add_argument( '--cbf', type=str, nargs='?', required=False, help='The CBF map that is provided to skip this step in the MultiTE-ASL calculation. If CBF is not provided, than a CBF map is calculated at the runtime. Important: The CBF passed here is with the original voxel scale, i.e. without voxel normalization.', ) -parser.add_argument( +optional.add_argument( '--att', type=str, nargs='?', required=False, help='The ATT map that is provided to skip this step in the MultiTE-ASL calculation. If ATT is not provided, than a ATT map is calculated at the runtime.', ) -parser.add_argument( +required.add_argument( '--pld', type=str, nargs='+', required=True, help='Posts Labeling Delay (PLD) trend, arranged in a sequence of float numbers', ) -parser.add_argument( +required.add_argument( '--ld', type=str, nargs='+', required=True, help='Labeling Duration trend (LD), arranged in a sequence of float numbers.', ) -parser.add_argument( +required.add_argument( '--dw', type=str, nargs='+', required=True, help='Diffusion b-values arranged in a sequence of float numbers.', ) - - -parser.add_argument( +optional.add_argument( '--verbose', action='store_true', help='Show more details thoughout the processing.', diff --git a/asltk/scripts/te_asl.py b/asltk/scripts/te_asl.py index 69fc3dd..2c724dd 100644 --- a/asltk/scripts/te_asl.py +++ b/asltk/scripts/te_asl.py @@ -11,66 +11,69 @@ from asltk.utils import load_image, save_image parser = argparse.ArgumentParser( - description='Python script to calculate the Multi-TE ASL data.' + prog="Multi-TE ASL Mapping", + description='Python script to calculate the Multi-TE ASL map for the T1 relaxation exchange between blood and Gray Matter (GM).' ) +parser._action_groups.pop() +required = parser.add_argument_group(title="Required parameters") +optional = parser.add_argument_group(title="Optional parameters") -parser.add_argument( +required.add_argument( 'pcasl', type=str, help='ASL raw data obtained from the MRI scanner. This must be the multi-TE ASL MRI acquisition protocol.', ) -parser.add_argument('m0', type=str, help='M0 image in Nifti format.') -parser.add_argument( +required.add_argument('m0', type=str, help='M0 image reference used to calculate the ASL signal.') +optional.add_argument( 'mask', type=str, nargs='?', default='', - help='Image mask defining the ROI where the calculations must be done. Any pixel value different from zero will be assumed as the ROI area. Outside the mask (value=0) will be ignored.', + help='Image mask defining the ROI where the calculations must be done. Any pixel value different from zero will be assumed as the ROI area. Outside the mask (value=0) will be ignored. If not provided, the entire image space will be calculated.', ) -parser.add_argument( +required.add_argument( 'out_folder', type=str, nargs='?', default=os.path.expanduser('~'), help='The output folder that is the reference to save all the output images in the script. The images selected to be saved are given as tags in the script caller, e.g. the options --cbf_map and --att_map. By default, the TblGM map is placed in the output folder with the name tblgm_map.nii.gz', ) -parser.add_argument( +optional.add_argument( '--cbf', type=str, nargs='?', required=False, help='The CBF map that is provided to skip this step in the MultiTE-ASL calculation. If CBF is not provided, than a CBF map is calculated at the runtime. Important: The CBF passed here is with the original voxel scale, i.e. without voxel normalization.', ) -parser.add_argument( +optional.add_argument( '--att', type=str, nargs='?', required=False, help='The ATT map that is provided to skip this step in the MultiTE-ASL calculation. If ATT is not provided, than a ATT map is calculated at the runtime.', ) -parser.add_argument( +required.add_argument( '--pld', type=str, nargs='+', required=True, help='Posts Labeling Delay (PLD) trend, arranged in a sequence of float numbers', ) -parser.add_argument( +required.add_argument( '--ld', type=str, nargs='+', required=True, help='Labeling Duration trend (LD), arranged in a sequence of float numbers.', ) -parser.add_argument( +required.add_argument( '--te', type=str, nargs='+', required=True, help='Time of Echos (TE), arranged in a sequence of float numbers.', ) - -parser.add_argument( +optional.add_argument( '--verbose', action='store_true', help='Show more details thoughout the processing.', From 1b2f33c34434491c017f174c4affc611b9041299 Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Tue, 15 Oct 2024 15:00:57 -0300 Subject: [PATCH 09/13] DOC: README.md details for library PyPI --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index de005cb..7b659fc 100644 --- a/README.md +++ b/README.md @@ -8,13 +8,23 @@ # Arterial Spin Labeling Toolkit (asltk) -Welcome to the ASLtk project! +Welcome to the ASL toolkit! + +This library was designed to assist users in processing Arterial Spin Labeling (ASL) MRI images, from basic imaging protocols to the state-of-the-art models provided in the scientific literature. + +The major objective of this project is to give an open-source alternative to researchers in the MRI field. A profound knowledge of computing and data modelling is not a prior demand. It is expected that a simple set of Python commands can be helpful in fast prototyping an ASL experiment or even collecting simple quantitative ASL-based information. + +Please read the [full documentation](https://asltk.readthedocs.io/en/main/) to get more details about the usage, implementation and updates in the `asltk` library. + +Also, feel free to contribute directly to the project! Check it out the [issues](https://github.com/LOAMRI/asltk/issues) at the repository and get in touch to the developers of the project. -Access the [full documentation](https://asltk.readthedocs.io/en/main/) to check the usage and development of this tool. ## How to install -Requires Python 3.10 or higher: +A quick to use install is via `pip`, as follows: + +> [!NOTE] +> The installation requires Python 3.10 or higher ```bash pip install asltk From 0010250b2b92da3be86e9b1952c6f667fc69c7da Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Tue, 15 Oct 2024 15:26:52 -0300 Subject: [PATCH 10/13] ENH: Scripts style formatting --- asltk/scripts/cbf.py | 12 +++++++----- asltk/scripts/dw_asl.py | 12 +++++++----- asltk/scripts/te_asl.py | 12 +++++++----- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/asltk/scripts/cbf.py b/asltk/scripts/cbf.py index dc2af47..cda0c32 100644 --- a/asltk/scripts/cbf.py +++ b/asltk/scripts/cbf.py @@ -13,12 +13,12 @@ from asltk.utils import load_image, save_image parser = argparse.ArgumentParser( - prog="CBF/ATT Mapping", - description='Python script to calculate the basic CBF and ATT maps from ASL data.' + prog='CBF/ATT Mapping', + description='Python script to calculate the basic CBF and ATT maps from ASL data.', ) parser._action_groups.pop() -required = parser.add_argument_group(title="Required parameters") -optional = parser.add_argument_group(title="Optional parameters") +required = parser.add_argument_group(title='Required parameters') +optional = parser.add_argument_group(title='Optional parameters') required.add_argument( @@ -26,7 +26,9 @@ type=str, help='ASL raw data obtained from the MRI scanner. This must be the basic PLD ASL MRI acquisition protocol.', ) -required.add_argument('m0', type=str, help='M0 image reference used to calculate the ASL signal.') +required.add_argument( + 'm0', type=str, help='M0 image reference used to calculate the ASL signal.' +) optional.add_argument( 'mask', type=str, diff --git a/asltk/scripts/dw_asl.py b/asltk/scripts/dw_asl.py index d756f0e..6b770d4 100644 --- a/asltk/scripts/dw_asl.py +++ b/asltk/scripts/dw_asl.py @@ -11,19 +11,21 @@ from asltk.utils import load_image, save_image parser = argparse.ArgumentParser( - prog="Multi-DW ASL Mapping", - description='Python script to calculate the Multi-DW ASL data.' + prog='Multi-DW ASL Mapping', + description='Python script to calculate the Multi-DW ASL data.', ) parser._action_groups.pop() -required = parser.add_argument_group(title="Required parameters") -optional = parser.add_argument_group(title="Optional parameters") +required = parser.add_argument_group(title='Required parameters') +optional = parser.add_argument_group(title='Optional parameters') required.add_argument( 'pcasl', type=str, help='ASL raw data obtained from the MRI scanner. This must be the multi-DW ASL MRI acquisition protocol.', ) -required.add_argument('m0', type=str, help='M0 image reference used to calculate the ASL signal.') +required.add_argument( + 'm0', type=str, help='M0 image reference used to calculate the ASL signal.' +) optional.add_argument( 'mask', type=str, diff --git a/asltk/scripts/te_asl.py b/asltk/scripts/te_asl.py index 2c724dd..e8251ae 100644 --- a/asltk/scripts/te_asl.py +++ b/asltk/scripts/te_asl.py @@ -11,19 +11,21 @@ from asltk.utils import load_image, save_image parser = argparse.ArgumentParser( - prog="Multi-TE ASL Mapping", - description='Python script to calculate the Multi-TE ASL map for the T1 relaxation exchange between blood and Gray Matter (GM).' + prog='Multi-TE ASL Mapping', + description='Python script to calculate the Multi-TE ASL map for the T1 relaxation exchange between blood and Gray Matter (GM).', ) parser._action_groups.pop() -required = parser.add_argument_group(title="Required parameters") -optional = parser.add_argument_group(title="Optional parameters") +required = parser.add_argument_group(title='Required parameters') +optional = parser.add_argument_group(title='Optional parameters') required.add_argument( 'pcasl', type=str, help='ASL raw data obtained from the MRI scanner. This must be the multi-TE ASL MRI acquisition protocol.', ) -required.add_argument('m0', type=str, help='M0 image reference used to calculate the ASL signal.') +required.add_argument( + 'm0', type=str, help='M0 image reference used to calculate the ASL signal.' +) optional.add_argument( 'mask', type=str, From 356526ce92df74a39857a8367dffb81fe4394b3c Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Tue, 15 Oct 2024 15:27:16 -0300 Subject: [PATCH 11/13] FIX: Removing specfici lines for code coverage --- asltk/reconstruction.py | 10 +++++----- asltk/utils.py | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/asltk/reconstruction.py b/asltk/reconstruction.py index d8980af..676b825 100644 --- a/asltk/reconstruction.py +++ b/asltk/reconstruction.py @@ -389,7 +389,7 @@ def mod_2comp(Xdata, par1): bounds=(lb, ub), ) self._t1blgm_map[k, j, i] = par_fit[0] - except RuntimeError: + except RuntimeError: # pragma: no cover self._t1blgm_map[k, j, i] = 0.0 # Adjusting output image boundaries @@ -532,10 +532,10 @@ def create_map( # If the CBF/ATT maps are zero (empty), then a new one is created print( '[blue][INFO] The CBF/ATT map were not provided. Creating these maps before next step...' - ) - basic_maps = self._basic_maps.create_map() - self._cbf_map = basic_maps['cbf'] - self._att_map = basic_maps['att'] + ) # pragma: no cover + basic_maps = self._basic_maps.create_map() # pragma: no cover + self._cbf_map = basic_maps['cbf'] # pragma: no cover + self._att_map = basic_maps['att'] # pragma: no cover x_axis = self._asl_data('m0').shape[2] # height y_axis = self._asl_data('m0').shape[1] # width diff --git a/asltk/utils.py b/asltk/utils.py index b27ec09..52ea824 100644 --- a/asltk/utils.py +++ b/asltk/utils.py @@ -134,7 +134,7 @@ def asl_model_buxton( * math.exp(-att / t1b) * math.exp(-(t[i] - tau[i] - att) / t1bp) ) - except OverflowError: + except OverflowError: # pragma: no cover m_values[i] = 0.0 return m_values @@ -361,7 +361,7 @@ def asl_model_multi_te( Scsf = S1b * (1 - math.exp(-te[i] / tblcsf)) * math.exp( -te[i] / t2csf ) + S1csf * math.exp(-te[i] / t2csf) - except (OverflowError, RuntimeError): + except (OverflowError, RuntimeError): # pragma: no cover Sb = 0.0 Scsf = 0.0 @@ -380,7 +380,7 @@ def asl_model_multi_dw( mag_total[i] = A1 * math.exp(-b_values[i] * D1) + A2 * math.exp( -b_values[i] * D2 ) - except (OverflowError, RuntimeError): + except (OverflowError, RuntimeError): # pragma: no cover mag_total[i] = 0.0 return mag_total From dbf1d7ed8ddc0ec88dfdf9c53c1d7838fdff6562 Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Wed, 16 Oct 2024 10:12:17 -0300 Subject: [PATCH 12/13] NEW: Added codecov yaml configuration --- codecov.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 codecov.yaml diff --git a/codecov.yaml b/codecov.yaml new file mode 100644 index 0000000..cb5b537 --- /dev/null +++ b/codecov.yaml @@ -0,0 +1,8 @@ +coverage: + status: + project: #add everything under here, more options at https://docs.codecov.com/docs/commit-status + default: + # basic + target: 80% #default + threshold: 0% + base: auto \ No newline at end of file From cf26922015c1f3008fe0d0c7905e2132c4569b6f Mon Sep 17 00:00:00 2001 From: Antonio Senra Filho Date: Wed, 16 Oct 2024 10:22:04 -0300 Subject: [PATCH 13/13] ENH: Setting patch and project codecov targets --- codecov.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/codecov.yaml b/codecov.yaml index cb5b537..a035a2a 100644 --- a/codecov.yaml +++ b/codecov.yaml @@ -1,5 +1,8 @@ coverage: status: + patch: + default: + target: 80% project: #add everything under here, more options at https://docs.codecov.com/docs/commit-status default: # basic