@@ -92,7 +92,7 @@ def _get_xml_list_index(key: str, xml_list: list) -> int:
9292 raise ValueError (f"Key not found in XML list: { key } " )
9393
9494
95- class _SPAContext (Context ):
95+ class SPAModularContext (Context ):
9696 user_params = [
9797 ProcessingParameter (
9898 "dose_per_frame" ,
@@ -133,7 +133,6 @@ def __init__(self, acquisition_software: str, basepath: Path):
133133 super ().__init__ ("SPA" , acquisition_software )
134134 self ._basepath = basepath
135135 self ._processing_job_stash : dict = {}
136- self ._preprocessing_triggers : dict = {}
137136 self ._foil_holes : Dict [int , List [int ]] = {}
138137
139138 def gather_metadata (
@@ -365,8 +364,6 @@ def gather_metadata(
365364 ) or True
366365 return metadata
367366
368-
369- class SPAModularContext (_SPAContext ):
370367 def _position_analysis (
371368 self ,
372369 transferred_file : Path ,
@@ -661,104 +658,3 @@ def _launch_spa_pipeline(
661658 url : str = "" ,
662659 ):
663660 return
664-
665-
666- class SPAContext (_SPAContext ):
667- def _register_data_collection (
668- self ,
669- tag : str ,
670- url : str ,
671- data : dict ,
672- environment : MurfeyInstanceEnvironment ,
673- ):
674- logger .info (f"registering data collection with data { data } " )
675- environment .id_tag_registry ["data_collection" ].append (tag )
676- image_directory = str (environment .default_destinations [Path (tag )])
677- json = {
678- "voltage" : data ["voltage" ],
679- "pixel_size_on_image" : data ["pixel_size_on_image" ],
680- "experiment_type" : data ["experiment_type" ],
681- "image_size_x" : data ["image_size_x" ],
682- "image_size_y" : data ["image_size_y" ],
683- "file_extension" : data ["file_extension" ],
684- "acquisition_software" : data ["acquisition_software" ],
685- "image_directory" : image_directory ,
686- "tag" : tag ,
687- "source" : tag ,
688- "magnification" : data ["magnification" ],
689- "total_exposed_dose" : data .get ("total_exposed_dose" ),
690- "c2aperture" : data .get ("c2aperture" ),
691- "exposure_time" : data .get ("exposure_time" ),
692- "slit_width" : data .get ("slit_width" ),
693- "phase_plate" : data .get ("phase_plate" , False ),
694- }
695- capture_post (url , json = json )
696-
697- def post_transfer (
698- self ,
699- transferred_file : Path ,
700- environment : MurfeyInstanceEnvironment | None = None ,
701- ** kwargs ,
702- ) -> bool :
703- return True
704-
705- def _register_processing_job (
706- self ,
707- tag : str ,
708- environment : MurfeyInstanceEnvironment ,
709- parameters : Dict [str , Any ] | None = None ,
710- ):
711- logger .info (f"registering processing job with parameters: { parameters } " )
712- parameters = parameters or {}
713- environment .id_tag_registry ["processing_job" ].append (tag )
714- proc_url = f"{ str (environment .url .geturl ())} /visits/{ environment .visit } /{ environment .murfey_session } /register_processing_job"
715- machine_config = get_machine_config_client (
716- str (environment .url .geturl ()),
717- instrument_name = environment .instrument_name ,
718- demo = environment .demo ,
719- )
720- image_directory = str (
721- Path (machine_config .get ("rsync_basepath" , "." ))
722- / environment .default_destinations [Path (tag )]
723- )
724- if self ._acquisition_software == "epu" :
725- import_images = f"{ Path (image_directory ).resolve ()} /GridSquare*/Data/*{ parameters ['file_extension' ]} "
726- else :
727- import_images = (
728- f"{ Path (image_directory ).resolve ()} /*{ parameters ['file_extension' ]} "
729- )
730- msg : Dict [str , Any ] = {
731- "tag" : tag ,
732- "source" : tag ,
733- "recipe" : "ispyb-relion" ,
734- "parameters" : {
735- "acquisition_software" : parameters ["acquisition_software" ],
736- "voltage" : parameters ["voltage" ],
737- "gain_ref" : parameters ["gain_ref" ],
738- "dose_per_frame" : parameters ["dose_per_frame" ],
739- "eer_grouping" : parameters ["eer_fractionation" ],
740- "import_images" : import_images ,
741- "angpix" : float (parameters ["pixel_size_on_image" ]) * 1e10 ,
742- "symmetry" : parameters ["symmetry" ],
743- "boxsize" : parameters ["boxsize" ],
744- "downscale" : parameters ["downscale" ],
745- "small_boxsize" : parameters ["small_boxsize" ],
746- "mask_diameter" : parameters ["mask_diameter" ],
747- "use_cryolo" : parameters ["use_cryolo" ],
748- "estimate_particle_diameter" : parameters ["estimate_particle_diameter" ],
749- },
750- }
751- if parameters ["particle_diameter" ]:
752- msg ["parameters" ]["particle_diameter" ] = parameters ["particle_diameter" ]
753- capture_post (proc_url , json = msg )
754-
755- def _launch_spa_pipeline (
756- self ,
757- tag : str ,
758- jobid : int ,
759- environment : MurfeyInstanceEnvironment ,
760- url : str = "" ,
761- ):
762- environment .id_tag_registry ["auto_proc_program" ].append (tag )
763- data = {"job_id" : jobid }
764- capture_post (url , json = data )
0 commit comments