Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 40 additions & 2 deletions src/murfey/client/contexts/spa_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,14 @@
import xmltodict

from murfey.client.context import Context
from murfey.client.contexts.spa import _get_source
from murfey.client.contexts.spa import _file_transferred_to, _get_source
from murfey.client.instance_environment import MurfeyInstanceEnvironment, SampleInfo
from murfey.util import authorised_requests, capture_post, get_machine_config_client
from murfey.util.spa_metadata import FoilHoleInfo, get_grid_square_atlas_positions
from murfey.util.spa_metadata import (
FoilHoleInfo,
get_grid_square_atlas_positions,
grid_square_data,
)

logger = logging.getLogger("murfey.client.contexts.spa_metadata")

Expand Down Expand Up @@ -228,6 +232,40 @@
)
return
visitless_source = str(visitless_source_images_dirs[-1])

if fh_positions:
gs_url = f"{str(environment.url.geturl())}/sessions/{environment.murfey_session}/grid_square/{gs_name}"
gs_info = grid_square_data(

Check warning on line 238 in src/murfey/client/contexts/spa_metadata.py

View check run for this annotation

Codecov / codecov/patch

src/murfey/client/contexts/spa_metadata.py#L237-L238

Added lines #L237 - L238 were not covered by tests
transferred_file,
int(gs_name),
)
metadata_source = Path(

Check warning on line 242 in src/murfey/client/contexts/spa_metadata.py

View check run for this annotation

Codecov / codecov/patch

src/murfey/client/contexts/spa_metadata.py#L242

Added line #L242 was not covered by tests
(
"/".join(Path(visitless_source).parts[:-2])
+ f"/{environment.visit}/"
+ Path(visitless_source).parts[-2]
)[1:]
)
image_path = (

Check warning on line 249 in src/murfey/client/contexts/spa_metadata.py

View check run for this annotation

Codecov / codecov/patch

src/murfey/client/contexts/spa_metadata.py#L249

Added line #L249 was not covered by tests
_file_transferred_to(
environment, metadata_source, Path(gs_info.image)
)
if gs_info.image
else ""
)
capture_post(

Check warning on line 256 in src/murfey/client/contexts/spa_metadata.py

View check run for this annotation

Codecov / codecov/patch

src/murfey/client/contexts/spa_metadata.py#L256

Added line #L256 was not covered by tests
gs_url,
json={
"tag": visitless_source,
"readout_area_x": gs_info.readout_area_x,
"readout_area_y": gs_info.readout_area_y,
"thumbnail_size_x": gs_info.thumbnail_size_x,
"thumbnail_size_y": gs_info.thumbnail_size_y,
"pixel_size": gs_info.pixel_size,
"image": str(image_path),
},
)

for fh, fh_data in fh_positions.items():
capture_post(
f"{str(environment.url.geturl())}/sessions/{environment.murfey_session}/grid_square/{gs_name}/foil_hole",
Expand Down
19 changes: 17 additions & 2 deletions src/murfey/workflows/spa/flush_spa_preprocess.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,20 @@
grid_square.y_stage_position = (
grid_square_params.y_stage_position or grid_square.y_stage_position
)
grid_square.readout_area_x = (
grid_square_params.readout_area_x or grid_square.readout_area_x
)
grid_square.readout_area_y = (
grid_square_params.readout_area_y or grid_square.readout_area_y
)
grid_square.thumbnail_size_x = (
grid_square_params.thumbnail_size_x or grid_square.thumbnail_size_x
)
grid_square.thumbnail_size_y = (
grid_square_params.thumbnail_size_y or grid_square.thumbnail_size_y
)
grid_square.pixel_size = grid_square_params.pixel_size or grid_square.pixel_size
grid_square.image = grid_square_params.image or grid_square.image
if _transport_object:
_transport_object.do_update_grid_square(grid_square.id, grid_square_params)
except Exception:
Expand Down Expand Up @@ -198,12 +212,13 @@
"""Search through metadata directories to find the required grid square dm"""
raw_dir = f.parent.parent.parent
metadata_dirs = raw_dir.glob("metadata*")
gs_path = None

Check warning on line 215 in src/murfey/workflows/spa/flush_spa_preprocess.py

View check run for this annotation

Codecov / codecov/patch

src/murfey/workflows/spa/flush_spa_preprocess.py#L215

Added line #L215 was not covered by tests
for md_dir in metadata_dirs:
gs_path = md_dir / f"Metadata/GridSquare_{grid_square}.dm"
if gs_path.is_file():
return gs_path
logger.error(f"Could not determine grid square metadata path for {f}")
return None
logger.error(f"Grid square metadata path {gs_path} does not exist for {f}")
return gs_path

Check warning on line 221 in src/murfey/workflows/spa/flush_spa_preprocess.py

View check run for this annotation

Codecov / codecov/patch

src/murfey/workflows/spa/flush_spa_preprocess.py#L220-L221

Added lines #L220 - L221 were not covered by tests


def _flush_position_analysis(
Expand Down
Loading