|
2 | 2 |
|
3 | 3 | import re |
4 | 4 | import traceback |
| 5 | +from ast import literal_eval |
5 | 6 | from importlib.metadata import EntryPoint # type hinting only |
6 | 7 | from logging import getLogger |
7 | 8 | from pathlib import Path |
8 | | -from typing import Optional, Type, Union |
| 9 | +from typing import Literal, Optional, Type, Union |
9 | 10 |
|
10 | 11 | from backports.entry_points_selectable import entry_points |
11 | 12 | from fastapi import APIRouter |
| 13 | +from pydantic import BaseModel, validator |
12 | 14 | from sqlalchemy.exc import NoResultFound |
13 | 15 | from sqlmodel import Session, select |
14 | 16 |
|
|
23 | 25 | CLEMTIFFFile, |
24 | 26 | ) |
25 | 27 | from murfey.util.db import Session as MurfeySession |
26 | | -from murfey.util.models import TIFFSeriesInfo |
27 | 28 |
|
28 | 29 | # Set up logger |
29 | 30 | logger = getLogger("murfey.server.api.clem") |
@@ -622,7 +623,7 @@ def register_image_stack( |
622 | 623 | "/sessions/{session_id}/clem/preprocessing/process_raw_lifs" |
623 | 624 | ) # API posts to this URL |
624 | 625 | def process_raw_lifs( |
625 | | - session_id: int, # Used by the decorator |
| 626 | + session_id: int, |
626 | 627 | lif_file: Path, |
627 | 628 | db: Session = murfey_db, |
628 | 629 | ): |
@@ -654,9 +655,15 @@ def process_raw_lifs( |
654 | 655 | return True |
655 | 656 |
|
656 | 657 |
|
| 658 | +class TIFFSeriesInfo(BaseModel): |
| 659 | + series_name: str |
| 660 | + tiff_files: list[Path] |
| 661 | + series_metadata: Path |
| 662 | + |
| 663 | + |
657 | 664 | @router.post("/sessions/{session_id}/clem/preprocessing/process_raw_tiffs") |
658 | 665 | def process_raw_tiffs( |
659 | | - session_id: int, # Used by the decorator |
| 666 | + session_id: int, |
660 | 667 | tiff_info: TIFFSeriesInfo, |
661 | 668 | db: Session = murfey_db, |
662 | 669 | ): |
|
0 commit comments