Skip to content

Commit 7cffb19

Browse files
Override the tomography processing parameters with ones from web ui (#565)
Tomography processing did not allow a dose of zero, which happens if the instrument server is reconnected. This ensures that in that case the processing parameters in the `SessionProcessingParameters` table are used.
1 parent 993568c commit 7cffb19

File tree

4 files changed

+20
-15
lines changed

4 files changed

+20
-15
lines changed

src/murfey/server/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1948,7 +1948,9 @@ def _register_bfactors(message: dict, _db=murfey_db, demo: bool = False):
19481948

19491949
if message["symmetry"] != relion_params.symmetry:
19501950
# Currently don't do anything with a symmetrised re-run of the refinement
1951-
logger.info(f"Recieved symmetrised structure of {message['symmetry']}")
1951+
logger.info(
1952+
f"Received symmetrised structure of {sanitise(message['symmetry'])}"
1953+
)
19521954
return True
19531955

19541956
if not feedback_params.hold_refine:

src/murfey/server/api/__init__.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@
9090
MillingParameters,
9191
PostInfo,
9292
PreprocessingParametersTomo,
93-
ProcessFile,
9493
ProcessingJobParameters,
9594
ProcessingParametersSPA,
9695
ProcessingParametersTomo,
@@ -104,6 +103,7 @@
104103
TiltInfo,
105104
TiltSeriesGroupInfo,
106105
TiltSeriesInfo,
106+
TomoProcessFile,
107107
Visit,
108108
)
109109
from murfey.util.processing_params import default_spa_parameters
@@ -1210,7 +1210,10 @@ async def request_spa_preprocessing(
12101210

12111211
@router.post("/visits/{visit_name}/{session_id}/tomography_preprocess")
12121212
async def request_tomography_preprocessing(
1213-
visit_name: str, session_id: MurfeySessionID, proc_file: ProcessFile, db=murfey_db
1213+
visit_name: str,
1214+
session_id: MurfeySessionID,
1215+
proc_file: TomoProcessFile,
1216+
db=murfey_db,
12141217
):
12151218
instrument_name = (
12161219
db.exec(select(Session).where(Session.id == session_id)).one().instrument_name
@@ -1260,15 +1263,15 @@ async def request_tomography_preprocessing(
12601263
if not mrc_out.parent.exists():
12611264
mrc_out.parent.mkdir(parents=True, exist_ok=True)
12621265

1263-
processing_job_parameters = db.exec(
1264-
select(TomographyProcessingParameters).where(
1265-
TomographyProcessingParameters.pj_id == data_collection[0][2].id
1266+
session_processing_parameters = db.exec(
1267+
select(SessionProcessingParameters).where(
1268+
SessionProcessingParameters.session_id == session_id
12661269
)
12671270
).all()
1268-
if processing_job_parameters:
1269-
proc_file.gain_ref = processing_job_parameters[0].gain_ref
1270-
proc_file.dose_per_frame = processing_job_parameters[0].dose_per_frame
1271-
proc_file.eer_fractionation_file = processing_job_parameters[
1271+
if session_processing_parameters:
1272+
proc_file.gain_ref = session_processing_parameters[0].gain_ref
1273+
proc_file.dose_per_frame = session_processing_parameters[0].dose_per_frame
1274+
proc_file.eer_fractionation_file = session_processing_parameters[
12721275
0
12731276
].eer_fractionation_file
12741277

src/murfey/server/demo_api.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@
7373
GridSquareParameters,
7474
PostInfo,
7575
PreprocessingParametersTomo,
76-
ProcessFile,
7776
ProcessingJobParameters,
7877
ProcessingParametersSPA,
7978
ProcessingParametersTomo,
@@ -86,6 +85,7 @@
8685
TiltInfo,
8786
TiltSeriesGroupInfo,
8887
TiltSeriesInfo,
88+
TomoProcessFile,
8989
Visit,
9090
)
9191
from murfey.util.processing_params import default_spa_parameters
@@ -1196,7 +1196,7 @@ def flush_tomography_processing(
11961196

11971197
@router.post("/visits/{visit_name}/{client_id}/tomography_preprocess")
11981198
async def request_tomography_preprocessing(
1199-
visit_name: str, client_id: int, proc_file: ProcessFile, db=murfey_db
1199+
visit_name: str, client_id: int, proc_file: TomoProcessFile, db=murfey_db
12001200
):
12011201
if not sanitise_path(Path(proc_file.path)).exists():
12021202
log.warning(

src/murfey/util/models.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -308,13 +308,13 @@ class Token(BaseModel):
308308
"""
309309

310310

311-
class ProcessFile(BaseModel): # Rename to TomoProcessFile
311+
class TomoProcessFile(BaseModel):
312312
path: str
313313
description: str
314314
tag: str
315315
image_number: int
316316
pixel_size: float
317-
dose_per_frame: float
317+
dose_per_frame: Optional[float]
318318
frame_count: int
319319
tilt_axis: Optional[float]
320320
mc_uuid: Optional[int] = None
@@ -350,7 +350,7 @@ class CompletedTiltSeries(BaseModel):
350350

351351

352352
class PreprocessingParametersTomo(BaseModel):
353-
dose_per_frame: float
353+
dose_per_frame: Optional[float]
354354
frame_count: int
355355
tilt_axis: float
356356
gain_ref: Optional[str]

0 commit comments

Comments
 (0)