diff --git a/src/murfey/server/api/processing_parameters.py b/src/murfey/server/api/processing_parameters.py new file mode 100644 index 000000000..dc81b56d9 --- /dev/null +++ b/src/murfey/server/api/processing_parameters.py @@ -0,0 +1,36 @@ +from logging import getLogger + +from fastapi import APIRouter +from pydantic import BaseModel +from sqlmodel import Session, select + +from murfey.server.murfey_db import murfey_db +from murfey.util.db import SessionProcessingParameters + +logger = getLogger("murfey.server.api.processing_parameters") + +router = APIRouter() + + +class EditableSessionProcessingParameters(BaseModel): + gain_ref: str + dose_per_frame: float + eer_fractionation_file: str + symmetry: str + + +@router.get("sessions/{session_id}/session_processing_parameters") +def get_session_processing_parameters( + session_id: int, db: Session = murfey_db +) -> EditableSessionProcessingParameters: + proc_params = db.exec( + select(SessionProcessingParameters).where( + SessionProcessingParameters.session_id == session_id + ) + ).one() + return EditableSessionProcessingParameters( + gain_ref=proc_params.gain_ref, + dose_per_frame=proc_params.dose_per_frame, + eer_fractionation_file=proc_params.eer_fractionation_file, + symmetry=proc_params.symmetry, + ) diff --git a/src/murfey/server/demo_api.py b/src/murfey/server/demo_api.py index 29c35d9af..65ec28e41 100644 --- a/src/murfey/server/demo_api.py +++ b/src/murfey/server/demo_api.py @@ -28,7 +28,6 @@ _flush_grid_square_records, _flush_tomography_preprocessing, _murfey_id, - _register_picked_particles_use_diameter, feedback_callback, get_hostname, get_microscope, @@ -91,6 +90,7 @@ ) from murfey.util.processing_params import default_spa_parameters from murfey.util.state import global_state +from murfey.workflows.spa.picking import _register_picked_particles_use_diameter log = logging.getLogger("murfey.server.demo_api") diff --git a/src/murfey/server/main.py b/src/murfey/server/main.py index 96533fd7d..6c99b580e 100644 --- a/src/murfey/server/main.py +++ b/src/murfey/server/main.py @@ -17,6 +17,7 @@ import murfey.server.api.display import murfey.server.api.hub import murfey.server.api.instrument +import murfey.server.api.processing_parameters import murfey.server.api.spa import murfey.server.websocket import murfey.util.models @@ -73,6 +74,7 @@ class Settings(BaseSettings): app.include_router(murfey.server.api.display.router) app.include_router(murfey.server.api.instrument.router) app.include_router(murfey.server.api.hub.router) +app.include_router(murfey.server.api.processing_parameters.router) app.include_router(murfey.server.websocket.ws) # Search external packages for additional routers to include in Murfey