@@ -186,6 +186,70 @@ def test_insert_image_save_after_sweep(mocker: MockerFixture, tmp_path: Path):
186186 assert pipeline [3 ].config_params ["axis" ] == 1
187187
188188
189+ def test_remove_redundant_method_in_sweep (mocker : MockerFixture , tmp_path : Path ):
190+ comm = MPI .COMM_SELF
191+ repo = make_mock_repo (mocker )
192+ loader = mocker .create_autospec (
193+ LoaderInterface ,
194+ instance = True ,
195+ )
196+ pipeline = Pipeline (
197+ loader = loader ,
198+ methods = [
199+ make_test_method (
200+ mocker ,
201+ method_name = "remove_outlier" ,
202+ module_path = "httomolibgpu.misc.corr" ,
203+ save_result = False ,
204+ task_id = "t1" ,
205+ ),
206+ make_test_method (
207+ mocker ,
208+ method_name = "dark_flat_field_correction" ,
209+ module_path = "httomolibgpu.prep.normalize" ,
210+ save_result = False ,
211+ task_id = "t2" ,
212+ ),
213+ make_test_method (
214+ mocker ,
215+ method_name = "FBP3d_tomobar" ,
216+ module_path = "httomolibgpu.recon.algorithm" ,
217+ save_result = False ,
218+ sweep = True ,
219+ task_id = "t3" ,
220+ ),
221+ make_test_method (
222+ mocker ,
223+ method_name = "calculate_stats" ,
224+ module_path = "httomo.methods" ,
225+ save_result = False ,
226+ task_id = "t4" ,
227+ ),
228+ make_test_method (
229+ mocker ,
230+ method_name = "rescale_to_int" ,
231+ module_path = "httomolib.misc.rescale" ,
232+ save_result = False ,
233+ task_id = "t5" ,
234+ ),
235+ make_test_method (
236+ mocker ,
237+ method_name = "save_to_images" ,
238+ module_path = "httomolib.misc.images" ,
239+ save_result = False ,
240+ task_id = "t6" ,
241+ ),
242+ ],
243+ )
244+ trans = TransformLayer (comm , repo = repo , save_all = False , out_dir = tmp_path )
245+ pipeline = trans .remove_redundant_method_in_sweep (pipeline )
246+
247+ assert len (pipeline ) == 3
248+ assert pipeline [0 ].method_name == "remove_outlier"
249+ assert pipeline [1 ].method_name == "dark_flat_field_correction"
250+ assert pipeline [2 ].method_name == "FBP3d_tomobar"
251+
252+
189253def test_insert_data_checker (mocker : MockerFixture , tmp_path : Path ):
190254 comm = MPI .COMM_SELF
191255 repo = make_mock_repo (mocker )
@@ -251,15 +315,14 @@ def test_insert_data_checker(mocker: MockerFixture, tmp_path: Path):
251315 trans = TransformLayer (comm , repo = repo , save_all = False , out_dir = tmp_path )
252316 pipeline = trans .insert_data_checker (pipeline )
253317
254- assert len (pipeline ) == 11
255- assert pipeline [0 ].method_name == "data_checker"
256- assert pipeline [2 ].method_name == "data_checker"
257- assert pipeline [4 ].method_name == "normalize"
258- assert pipeline [5 ].method_name == "data_checker"
259- assert pipeline [6 ].method_name == "FBP3d_tomobar"
260- assert pipeline [7 ].method_name == "data_checker"
261- assert pipeline [9 ].method_name == "rescale_to_int"
262- assert pipeline [10 ].method_name == "save_to_images"
318+ assert len (pipeline ) == 10
319+ assert pipeline [1 ].method_name == "data_checker"
320+ assert pipeline [3 ].method_name == "normalize"
321+ assert pipeline [4 ].method_name == "data_checker"
322+ assert pipeline [5 ].method_name == "FBP3d_tomobar"
323+ assert pipeline [6 ].method_name == "data_checker"
324+ assert pipeline [8 ].method_name == "rescale_to_int"
325+ assert pipeline [9 ].method_name == "save_to_images"
263326
264327
265328def test_insert_image_save_after_sweep2 (mocker : MockerFixture , tmp_path : Path ):
@@ -361,13 +424,13 @@ def test_insert_paganin_not_last_sweep(mocker: MockerFixture, tmp_path: Path):
361424 trans = TransformLayer (comm , repo = repo , save_all = False , out_dir = tmp_path )
362425 pipeline = trans .transform (pipeline )
363426
364- assert len (pipeline ) == 11
365- assert pipeline [7 ].method_name == "save_to_images"
366- assert pipeline [7 ].task_id == "saveimage_sweep_t3"
367- assert pipeline [7 ].config_params ["subfolder_name" ] == "images_sweep_paganin_filter"
368- assert pipeline [9 ].method_name == "FBP3d_tomobar"
369- assert pipeline [10 ].task_id == "saveimage_sweep_t4"
370- assert pipeline [10 ].config_params ["subfolder_name" ] == "images_sweep_FBP3d_tomobar"
427+ assert len (pipeline ) == 10
428+ assert pipeline [6 ].method_name == "save_to_images"
429+ assert pipeline [6 ].task_id == "saveimage_sweep_t3"
430+ assert pipeline [6 ].config_params ["subfolder_name" ] == "images_sweep_paganin_filter"
431+ assert pipeline [8 ].method_name == "FBP3d_tomobar"
432+ assert pipeline [9 ].task_id == "saveimage_sweep_t4"
433+ assert pipeline [9 ].config_params ["subfolder_name" ] == "images_sweep_FBP3d_tomobar"
371434
372435
373436def test_insert_paganin_is_last_sweep (mocker : MockerFixture , tmp_path : Path ):
@@ -407,10 +470,10 @@ def test_insert_paganin_is_last_sweep(mocker: MockerFixture, tmp_path: Path):
407470 trans = TransformLayer (comm , repo = repo , save_all = False , out_dir = tmp_path )
408471 pipeline = trans .transform (pipeline )
409472
410- assert len (pipeline ) == 8
411- assert pipeline [7 ].method_name == "save_to_images"
412- assert pipeline [7 ].task_id == "saveimage_sweep_t3"
413- assert pipeline [7 ].config_params ["subfolder_name" ] == "images_sweep_paganin_filter"
473+ assert len (pipeline ) == 7
474+ assert pipeline [6 ].method_name == "save_to_images"
475+ assert pipeline [6 ].task_id == "saveimage_sweep_t3"
476+ assert pipeline [6 ].config_params ["subfolder_name" ] == "images_sweep_paganin_filter"
414477
415478
416479def test_insert_denoise_last_after_FBP_sweep (mocker : MockerFixture , tmp_path : Path ):
@@ -450,7 +513,7 @@ def test_insert_denoise_last_after_FBP_sweep(mocker: MockerFixture, tmp_path: Pa
450513 trans = TransformLayer (comm , repo = repo , save_all = False , out_dir = tmp_path )
451514 pipeline = trans .transform (pipeline )
452515
453- assert len (pipeline ) == 8
454- assert pipeline [7 ].method_name == "save_to_images"
455- assert pipeline [7 ].task_id == "saveimage_sweep_t3"
456- assert pipeline [7 ].config_params ["subfolder_name" ] == "images_sweep_median_filter"
516+ assert len (pipeline ) == 7
517+ assert pipeline [6 ].method_name == "save_to_images"
518+ assert pipeline [6 ].task_id == "saveimage_sweep_t3"
519+ assert pipeline [6 ].config_params ["subfolder_name" ] == "images_sweep_median_filter"
0 commit comments