@@ -130,7 +130,8 @@ def __init__(
130130 train_extra_configs = None ,
131131 exclude_vars = None ,
132132 continue_training = False ,
133- label_dict = None
133+ label_dict = None ,
134+ original_path = None ,
134135 ):
135136 super ().__init__ ()
136137
@@ -159,6 +160,7 @@ def __init__(
159160 self .cross_site_validation_task_name = cross_site_validation_task_name
160161 self .monai_deploy_config = monai_deploy_config
161162 self .label_dict = label_dict
163+ self .original_path = original_path
162164
163165 def handle_event (self , event_type : str , fl_ctx : FLContext ):
164166 if event_type == EventType .START_RUN :
@@ -173,19 +175,20 @@ def initialize(self, fl_ctx: FLContext):
173175
174176 with open ("init_logfile_out.log" , "w" ) as f_o :
175177 with open ("init_logfile_err.log" , "w" ) as f_e :
176- subprocess .call (
177- [
178- sys .executable ,
179- "-m" ,
180- "pip" ,
181- "install" ,
182- "--user" ,
183- "-r" ,
184- str (Path (self .custom_app_dir ).joinpath ("requirements.txt" )),
185- ],
186- stdout = f_o ,
187- stderr = f_e ,
188- )
178+ ...
179+ #subprocess.call(
180+ # [
181+ # sys.executable,
182+ # "-m",
183+ # "pip",
184+ # "install",
185+ # "--user",
186+ # "-r",
187+ # str(Path(self.custom_app_dir).joinpath("requirements.txt")),
188+ # ],
189+ # stdout=f_o,
190+ # stderr=f_e,
191+ #)
189192
190193 def execute (self , task_name : str , shareable : Shareable , fl_ctx : FLContext , abort_signal : Signal ) -> Shareable :
191194 self .run_dir = fl_ctx .get_engine ().get_workspace ().get_run_dir (fl_ctx .get_job_id ())
@@ -223,6 +226,10 @@ def prepare_dataset(self) -> Shareable:
223226 dataset_name_or_id = self .nnunet_config ["dataset_name_or_id" ]
224227 if isinstance (dataset_name_or_id , dict ):
225228 dataset_name_or_id = dataset_name_or_id .get (self .client_name , None )
229+ if isinstance (dataset_name_or_id , dict ):
230+ dataset_name = dataset_name_or_id .get ("name" , None )
231+ dataset_name_or_id = dataset_name_or_id .get ("id" , None )
232+
226233 data_list = prepare_data_folder (
227234 data_dir = self .data_dir ,
228235 nnunet_root_dir = self .nnunet_root_folder ,
@@ -237,6 +244,7 @@ def prepare_dataset(self) -> Shareable:
237244 subfolder_suffix = self .subfolder_suffix ,
238245 trainer_class_name = nnunet_trainer_name ,
239246 modality_list = self .modality_list ,
247+ dataset_name = dataset_name
240248 )
241249
242250 outgoing_dxo = DXO (data_kind = DataKind .COLLECTION , data = data_list , meta = {})
@@ -274,6 +282,10 @@ def plan_and_preprocess(self):
274282 dataset_name_or_id = self .nnunet_config ["dataset_name_or_id" ]
275283 if isinstance (dataset_name_or_id , dict ):
276284 dataset_name_or_id = dataset_name_or_id .get (self .client_name , None )
285+ if isinstance (dataset_name_or_id , dict ):
286+ dataset_name = dataset_name_or_id .get ("name" , None )
287+ dataset_name_or_id = dataset_name_or_id .get ("id" , None )
288+
277289 nnunet_plans = plan_and_preprocess (
278290 self .nnunet_root_folder ,
279291 dataset_name_or_id ,
@@ -282,6 +294,7 @@ def plan_and_preprocess(self):
282294 self .tracking_uri ,
283295 nnunet_plans_name = nnunet_plans_name ,
284296 trainer_class_name = nnunet_trainer_name ,
297+ dataset_name = dataset_name ,
285298 )
286299
287300 outgoing_dxo = DXO (data_kind = DataKind .COLLECTION , data = nnunet_plans , meta = {})
@@ -301,6 +314,10 @@ def preprocess(self):
301314 dataset_name_or_id = self .nnunet_config ["dataset_name_or_id" ]
302315 if isinstance (dataset_name_or_id , dict ):
303316 dataset_name_or_id = dataset_name_or_id .get (self .client_name , None )
317+ if isinstance (dataset_name_or_id , dict ):
318+ dataset_name = dataset_name_or_id .get ("name" , None )
319+ dataset_name_or_id = dataset_name_or_id .get ("id" , None )
320+
304321 nnunet_plans = preprocess (
305322 self .nnunet_root_folder ,
306323 dataset_name_or_id ,
@@ -324,6 +341,10 @@ def train(self):
324341 dataset_name_or_id = self .nnunet_config ["dataset_name_or_id" ]
325342 if isinstance (dataset_name_or_id , dict ):
326343 dataset_name_or_id = dataset_name_or_id .get (self .client_name , None )
344+ if isinstance (dataset_name_or_id , dict ):
345+ dataset_name = dataset_name_or_id .get ("name" , None )
346+ dataset_name_or_id = dataset_name_or_id .get ("id" , None )
347+
327348 validation_summary = train (
328349 self .nnunet_root_folder ,
329350 trainer_class_name = nnunet_trainer_name ,
@@ -354,6 +375,10 @@ def prepare_bundle(self):
354375 dataset_name_or_id = self .nnunet_config ["dataset_name_or_id" ]
355376 if isinstance (dataset_name_or_id , dict ):
356377 dataset_name_or_id = dataset_name_or_id .get (self .client_name , None )
378+ if isinstance (dataset_name_or_id , dict ):
379+ dataset_name = dataset_name_or_id .get ("name" , None )
380+ dataset_name_or_id = dataset_name_or_id .get ("id" , None )
381+
357382 bundle_config = {
358383 "bundle_root" : self .bundle_root ,
359384 "tracking_uri" : self .tracking_uri ,
@@ -363,6 +388,7 @@ def prepare_bundle(self):
363388 "nnunet_trainer_class_name" : nnunet_trainer_name ,
364389 "dataset_name_or_id" : dataset_name_or_id ,
365390 "label_dict" : self .label_dict ,
391+ "dataset_name" : dataset_name ,
366392 }
367393
368394 bundle_config = prepare_bundle (bundle_config , self .train_extra_configs )
@@ -386,6 +412,10 @@ def finalize_bundle(self):
386412 dataset_name_or_id = self .nnunet_config ["dataset_name_or_id" ]
387413 if isinstance (dataset_name_or_id , dict ):
388414 dataset_name_or_id = dataset_name_or_id .get (self .client_name , None )
415+ if isinstance (dataset_name_or_id , dict ):
416+ dataset_name = dataset_name_or_id .get ("name" , None )
417+ dataset_name_or_id = dataset_name_or_id .get ("id" , None )
418+
389419 validation_summary = finalize_bundle (
390420 self .bundle_root ,
391421 self .nnunet_root_folder ,
@@ -395,7 +425,8 @@ def finalize_bundle(self):
395425 client_name = self .client_name ,
396426 tracking_uri = self .tracking_uri ,
397427 nnunet_plans_name = nnunet_plans_name ,
398- dataset_name_or_id = dataset_name_or_id
428+ dataset_name_or_id = dataset_name_or_id ,
429+ dataset_name = dataset_name ,
399430 )
400431 outgoing_dxo = DXO (data_kind = DataKind .COLLECTION , data = validation_summary , meta = {})
401432 return outgoing_dxo .to_shareable ()
@@ -414,18 +445,25 @@ def run_cross_site_validation(self):
414445 dataset_name_or_id = self .nnunet_config ["dataset_name_or_id" ]
415446 if isinstance (dataset_name_or_id , dict ):
416447 dataset_name_or_id = dataset_name_or_id .get (self .client_name , None )
448+ if isinstance (dataset_name_or_id , dict ):
449+ dataset_name = dataset_name_or_id .get ("name" , None )
450+ dataset_name_or_id = dataset_name_or_id .get ("id" , None )
451+
417452 validation_summary = run_cross_site_validation (
418453 self .nnunet_root_folder ,
419454 dataset_name_or_id ,
420455 self .monai_deploy_config ["app_path" ],
421456 self .monai_deploy_config ["app_model_path" ],
422457 self .monai_deploy_config ["app_output_path" ],
458+ self .monai_deploy_config ["model_name" ],
423459 trainer_class_name = nnunet_trainer_name ,
424460 fold = 0 ,
425461 experiment_name = self .nnunet_config ["experiment_name" ],
426462 client_name = self .client_name ,
427463 tracking_uri = self .tracking_uri ,
428- nnunet_plans_name = nnunet_plans_name
464+ nnunet_plans_name = nnunet_plans_name ,
465+ dataset_name = dataset_name ,
466+ original_path = self .original_path ,
429467 )
430468
431469 outgoing_dxo = DXO (data_kind = DataKind .COLLECTION , data = validation_summary , meta = {})
0 commit comments