@@ -160,7 +160,7 @@ def do_insert_grid_square(
160160 / grid_square_parameters .readout_area_x
161161 )
162162 )
163- grid_square_parameters .angle *= (
163+ grid_square_parameters .pixel_size *= (
164164 grid_square_parameters .readout_area_x
165165 / grid_square_parameters .thumbnail_size_x
166166 )
@@ -224,6 +224,7 @@ def do_update_grid_square(
224224 def do_insert_foil_hole (
225225 self ,
226226 grid_square_id : int ,
227+ scale_factor : float ,
227228 foil_hole_parameters : FoilHoleParameters ,
228229 ):
229230 if (
@@ -233,11 +234,7 @@ def do_insert_foil_hole(
233234 and foil_hole_parameters .pixel_size is not None
234235 ):
235236 foil_hole_parameters .diameter = int (
236- foil_hole_parameters .diameter
237- * (
238- foil_hole_parameters .thumbnail_size_x
239- / foil_hole_parameters .readout_area_x
240- )
237+ foil_hole_parameters .diameter * scale_factor
241238 )
242239 foil_hole_parameters .pixel_size *= (
243240 foil_hole_parameters .readout_area_x
@@ -269,7 +266,10 @@ def do_insert_foil_hole(
269266 return {"success" : False , "return_value" : None }
270267
271268 def do_update_foil_hole (
272- self , foil_hole_id : int , foil_hole_parameters : FoilHoleParameters
269+ self ,
270+ foil_hole_id : int ,
271+ scale_factor : float ,
272+ foil_hole_parameters : FoilHoleParameters ,
273273 ):
274274 try :
275275 with Session () as db :
@@ -279,10 +279,22 @@ def do_update_foil_hole(
279279 foil_hole .foilHoleImage = foil_hole_parameters .image
280280 foil_hole .pixelLocationX = foil_hole_parameters .x_location
281281 foil_hole .pixelLocationY = foil_hole_parameters .y_location
282- foil_hole .diameter = foil_hole_parameters .diameter
282+ foil_hole .diameter = (
283+ foil_hole_parameters .diameter * scale_factor
284+ if foil_hole_parameters .diameter is not None
285+ else None
286+ )
283287 foil_hole .stageLocationX = foil_hole_parameters .x_stage_position
284288 foil_hole .stageLocationY = foil_hole_parameters .y_stage_position
285- foil_hole .pixelSize = foil_hole_parameters .pixel_size
289+ if (
290+ foil_hole_parameters .readout_area_x is not None
291+ and foil_hole_parameters .thumbnail_size_x is not None
292+ and foil_hole_parameters .pixel_size is not None
293+ ):
294+ foil_hole .pixelSize = foil_hole_parameters .pixel_size * (
295+ foil_hole_parameters .readout_area_x
296+ / foil_hole_parameters .thumbnail_size_x
297+ )
286298 db .add (foil_hole )
287299 db .commit ()
288300 return {"success" : True , "return_value" : foil_hole .foilHoleId }
0 commit comments