Skip to content

Commit 0a8b28c

Browse files
committed
Use reference file from dataset to generate list of files to register
1 parent 6bbeec2 commit 0a8b28c

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

src/murfey/workflows/clem/register_preprocessing_results.py

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import json
1111
import logging
12+
import re
1213
import traceback
1314
from pathlib import Path
1415
from typing import Literal, Optional
@@ -114,7 +115,7 @@ def run(message: dict, murfey_db: Session, demo: bool = False) -> bool:
114115
murfey_db.commit()
115116

116117
# Iteratively register the output image stacks
117-
for channel, output_file in result.output_files.items():
118+
for c, (channel, output_file) in enumerate(result.output_files.items()):
118119
clem_img_stk: CLEMImageStack = get_db_entry(
119120
db=murfey_db,
120121
table=CLEMImageStack,
@@ -133,8 +134,27 @@ def run(message: dict, murfey_db: Session, demo: bool = False) -> bool:
133134

134135
# Register and link parent TIFF files if present
135136
if result.parent_tiffs:
136-
tiff_files_to_register = []
137-
for file in result.parent_tiffs[channel]:
137+
seed_file = result.parent_tiffs[channel][0]
138+
if c == 0:
139+
# Load list of files to register from seed file
140+
series_identifier = seed_file.stem.split("--")[0] + "--"
141+
tiff_list = list(
142+
seed_file.parent.glob(f"{series_identifier}--")
143+
)
144+
145+
# Load TIFF files by colour channel if "--C" in file stem
146+
match = re.search(r"--C[\d]{2,3}", seed_file.stem)
147+
tiff_file_subset = [
148+
file
149+
for file in tiff_list
150+
if file.stem.startswith(series_identifier)
151+
and (match.group(0) in file.stem if match else True)
152+
]
153+
tiff_file_subset.sort()
154+
155+
# Register TIFF file subset
156+
clem_tiff_files = []
157+
for file in tiff_file_subset:
138158
clem_tiff_file: CLEMTIFFFile = get_db_entry(
139159
db=murfey_db,
140160
table=CLEMTIFFFile,
@@ -146,8 +166,10 @@ def run(message: dict, murfey_db: Session, demo: bool = False) -> bool:
146166
clem_tiff_file.associated_metadata = clem_metadata
147167
clem_tiff_file.child_series = clem_img_series
148168
clem_tiff_file.child_stack = clem_img_stk
149-
tiff_files_to_register.append(clem_tiff_file)
150-
murfey_db.add_all(tiff_files_to_register)
169+
170+
clem_tiff_files.append(clem_tiff_file)
171+
172+
murfey_db.add_all(clem_tiff_files)
151173
murfey_db.commit()
152174

153175
logger.info(

0 commit comments

Comments
 (0)