@@ -151,7 +151,26 @@ def _register_fib_imaging_site(
151151 """
152152 Register FIB atlas in Murfey database or update existing entry.
153153 """
154- # Create new entry if one doesn't already exist
154+
155+ def _update_entry (
156+ site : MurfeyDB .ImagingSite ,
157+ metadata : FIBAtlasMetadata ,
158+ ):
159+ site .image_path = str (metadata .file )
160+ site .pos_x = metadata .pos_x
161+ site .pos_y = metadata .pos_y
162+ site .pos_z = metadata .pos_z
163+ site .rotation = float (np .rad2deg (metadata .rotation ))
164+ site .tilt_alpha = float (np .rad2deg (metadata .tilt_alpha ))
165+ site .tilt_beta = float (np .rad2deg (metadata .tilt_beta ))
166+ site .len_x = metadata .len_x
167+ site .len_y = metadata .len_y
168+ site .image_pixels_x = metadata .pixels_x
169+ site .image_pixels_y = metadata .pixels_y
170+ site .image_pixel_size = metadata .pixel_size
171+
172+ return site
173+
155174 if (
156175 fib_imaging_site := murfey_db .exec (
157176 select (MurfeyDB .ImagingSite )
@@ -160,40 +179,31 @@ def _register_fib_imaging_site(
160179 .where (MurfeyDB .ImagingSite .data_type == "atlas" )
161180 ).one_or_none ()
162181 ) is None :
182+ # Create new entry if one doesn't already exist
163183 fib_imaging_site = MurfeyDB .ImagingSite (
164184 session_id = session_id ,
165185 site_name = metadata .site_name ,
166186 image_path = str (metadata .file ),
167187 data_type = "atlas" ,
168188 )
169-
170- # Check if the entry is new or newer than the current stored one
171- incoming_number = number_from_name (metadata .file .stem )
172- # Handle empty string
173- if not fib_imaging_site .image_path :
174- current_number = 0
175- # Read 'maps' atlases in one way
176- elif "maps" in (curr_path := Path (fib_imaging_site .image_path )).parts :
177- current_number = number_from_name (curr_path .stem )
189+ fib_imaging_site = _update_entry (fib_imaging_site , metadata )
178190 else :
179- current_number = 0
180- # Update if incoming one is newer
181- if incoming_number > current_number :
182- fib_imaging_site .image_path = str (metadata .file )
183- fib_imaging_site .pos_x = metadata .pos_x
184- fib_imaging_site .pos_y = metadata .pos_y
185- fib_imaging_site .pos_z = metadata .pos_z
186- fib_imaging_site .rotation = float (np .rad2deg (metadata .rotation ))
187- fib_imaging_site .tilt_alpha = float (np .rad2deg (metadata .tilt_alpha ))
188- fib_imaging_site .tilt_beta = float (np .rad2deg (metadata .tilt_beta ))
189- fib_imaging_site .len_x = metadata .len_x
190- fib_imaging_site .len_y = metadata .len_y
191- fib_imaging_site .image_pixels_x = metadata .pixels_x
192- fib_imaging_site .image_pixels_y = metadata .pixels_y
193- fib_imaging_site .image_pixel_size = metadata .pixel_size
194-
195- murfey_db .add (fib_imaging_site )
196- murfey_db .commit ()
191+ # Check if the entry is new or newer than the current stored one
192+ incoming_number = number_from_name (metadata .file .stem )
193+ # Handle empty string
194+ if not fib_imaging_site .image_path :
195+ current_number = 0
196+ # Read 'maps' atlases in one way
197+ elif "maps" in (curr_path := Path (fib_imaging_site .image_path )).parts :
198+ current_number = number_from_name (curr_path .stem )
199+ else :
200+ current_number = 0
201+ # Update if incoming one is newer
202+ if incoming_number > current_number :
203+ fib_imaging_site = _update_entry (fib_imaging_site , metadata )
204+
205+ murfey_db .add (fib_imaging_site )
206+ murfey_db .commit ()
197207
198208
199209def run (
0 commit comments