@@ -678,120 +678,118 @@ def post_transfer(
678678 ** kwargs ,
679679 )
680680 data_suffixes = (".mrc" , ".tiff" , ".tif" , ".eer" )
681- if "gain" in transferred_file .name :
682- return True
683-
684- if transferred_file .suffix in data_suffixes :
685- if self ._acquisition_software == "epu" :
686- if environment :
687- machine_config = get_machine_config_client (
688- str (environment .url .geturl ()),
689- instrument_name = environment .instrument_name ,
690- demo = environment .demo ,
681+ if "gain" not in transferred_file .name :
682+ if transferred_file .suffix in data_suffixes :
683+ if self ._acquisition_software == "epu" :
684+ if environment :
685+ machine_config = get_machine_config_client (
686+ str (environment .url .geturl ()),
687+ instrument_name = environment .instrument_name ,
688+ demo = environment .demo ,
689+ )
690+ else :
691+ machine_config = {}
692+ required_strings = (
693+ machine_config .get ("data_required_substrings" , {})
694+ .get ("epu" , {})
695+ .get (transferred_file .suffix , ["fractions" ])
691696 )
692- else :
693- machine_config = {}
694- required_strings = (
695- machine_config .get ("data_required_substrings" , {})
696- .get ("epu" , {})
697- .get (transferred_file .suffix , ["fractions" ])
698- )
699697
700- if not environment :
701- logger .warning ("No environment passed in" )
702- return True
703- source = _get_source (transferred_file , environment )
704- if not source :
705- logger .warning (f"No source found for file { transferred_file } " )
706- return True
707-
708- if required_strings and not any (
709- r in transferred_file .name for r in required_strings
710- ):
711- return True
712-
713- if environment :
714- file_transferred_to = _file_transferred_to (
715- environment , source , transferred_file
716- )
717- if not environment .movie_counters .get (str (source )):
718- movie_counts_get = capture_get (
719- f"{ str (environment .url .geturl ())} /num_movies" ,
698+ if not environment :
699+ logger .warning ("No environment passed in" )
700+ return True
701+ source = _get_source (transferred_file , environment )
702+ if not source :
703+ logger .warning (f"No source found for file { transferred_file } " )
704+ return True
705+
706+ if required_strings and not any (
707+ r in transferred_file .name for r in required_strings
708+ ):
709+ return True
710+
711+ if environment :
712+ file_transferred_to = _file_transferred_to (
713+ environment , source , transferred_file
720714 )
721- if movie_counts_get is not None :
722- environment . movie_counters [ str ( source )] = count (
723- movie_counts_get . json (). get ( str ( source ), 0 ) + 1
715+ if not environment . movie_counters . get ( str ( source )) :
716+ movie_counts_get = capture_get (
717+ f" { str ( environment . url . geturl ()) } /num_movies" ,
724718 )
725- environment .movies [file_transferred_to ] = MovieTracker (
726- movie_number = next (environment .movie_counters [str (source )]),
727- motion_correction_uuid = next (MurfeyID ),
728- )
719+ if movie_counts_get is not None :
720+ environment .movie_counters [str (source )] = count (
721+ movie_counts_get .json ().get (str (source ), 0 ) + 1
722+ )
723+ environment .movies [file_transferred_to ] = MovieTracker (
724+ movie_number = next (environment .movie_counters [str (source )]),
725+ motion_correction_uuid = next (MurfeyID ),
726+ )
729727
730- eer_fractionation_file = None
731- if file_transferred_to .suffix == ".eer" :
732- response = capture_post (
733- f"{ str (environment .url .geturl ())} /visits/{ environment .visit } /{ environment .murfey_session } /eer_fractionation_file" ,
728+ eer_fractionation_file = None
729+ if file_transferred_to .suffix == ".eer" :
730+ response = capture_post (
731+ f"{ str (environment .url .geturl ())} /visits/{ environment .visit } /{ environment .murfey_session } /eer_fractionation_file" ,
732+ json = {
733+ "eer_path" : str (file_transferred_to ),
734+ "fractionation" : environment .data_collection_parameters [
735+ "eer_fractionation"
736+ ],
737+ "dose_per_frame" : environment .data_collection_parameters [
738+ "dose_per_frame"
739+ ],
740+ "fractionation_file_name" : "eer_fractionation_spa.txt" ,
741+ },
742+ )
743+ if response is None :
744+ return False
745+ eer_fractionation_file = response .json ()[
746+ "eer_fractionation_file"
747+ ]
748+
749+ try :
750+ foil_hole : Optional [int ] = self ._position_analysis (
751+ transferred_file , environment , source , machine_config
752+ )
753+ except Exception :
754+ # try to continue if position information gathering fails so that movie is processed anyway
755+ foil_hole = None
756+
757+ preproc_url = f"{ str (environment .url .geturl ())} /visits/{ environment .visit } /{ environment .murfey_session } /spa_preprocess"
758+ preproc_data = {
759+ "path" : str (file_transferred_to ),
760+ "description" : "" ,
761+ "processing_job" : None ,
762+ "data_collection_id" : None ,
763+ "image_number" : environment .movies [
764+ file_transferred_to
765+ ].movie_number ,
766+ "pixel_size" : environment .data_collection_parameters .get (
767+ "pixel_size_on_image"
768+ ),
769+ "autoproc_program_id" : None ,
770+ "dose_per_frame" : environment .data_collection_parameters .get (
771+ "dose_per_frame"
772+ ),
773+ "mc_binning" : environment .data_collection_parameters .get (
774+ "motion_corr_binning" , 1
775+ ),
776+ "gain_ref" : environment .data_collection_parameters .get (
777+ "gain_ref"
778+ ),
779+ "extract_downscale" : environment .data_collection_parameters .get (
780+ "downscale" , True
781+ ),
782+ "eer_fractionation_file" : eer_fractionation_file ,
783+ "tag" : str (source ),
784+ "foil_hole_id" : foil_hole ,
785+ }
786+ capture_post (
787+ preproc_url ,
734788 json = {
735- "eer_path" : str (file_transferred_to ),
736- "fractionation" : environment .data_collection_parameters [
737- "eer_fractionation"
738- ],
739- "dose_per_frame" : environment .data_collection_parameters [
740- "dose_per_frame"
741- ],
742- "fractionation_file_name" : "eer_fractionation_spa.txt" ,
789+ k : None if v == "None" else v
790+ for k , v in preproc_data .items ()
743791 },
744792 )
745- if response is None :
746- return False
747- eer_fractionation_file = response .json ()[
748- "eer_fractionation_file"
749- ]
750-
751- try :
752- foil_hole : Optional [int ] = self ._position_analysis (
753- transferred_file , environment , source , machine_config
754- )
755- except Exception :
756- # try to continue if position information gathering fails so that movie is processed anyway
757- foil_hole = None
758-
759- preproc_url = f"{ str (environment .url .geturl ())} /visits/{ environment .visit } /{ environment .murfey_session } /spa_preprocess"
760- preproc_data = {
761- "path" : str (file_transferred_to ),
762- "description" : "" ,
763- "processing_job" : None ,
764- "data_collection_id" : None ,
765- "image_number" : environment .movies [
766- file_transferred_to
767- ].movie_number ,
768- "pixel_size" : environment .data_collection_parameters .get (
769- "pixel_size_on_image"
770- ),
771- "autoproc_program_id" : None ,
772- "dose_per_frame" : environment .data_collection_parameters .get (
773- "dose_per_frame"
774- ),
775- "mc_binning" : environment .data_collection_parameters .get (
776- "motion_corr_binning" , 1
777- ),
778- "gain_ref" : environment .data_collection_parameters .get (
779- "gain_ref"
780- ),
781- "extract_downscale" : environment .data_collection_parameters .get (
782- "downscale" , True
783- ),
784- "eer_fractionation_file" : eer_fractionation_file ,
785- "tag" : str (source ),
786- "foil_hole_id" : foil_hole ,
787- }
788- capture_post (
789- preproc_url ,
790- json = {
791- k : None if v == "None" else v
792- for k , v in preproc_data .items ()
793- },
794- )
795793
796794 return True
797795
0 commit comments