|
3 | 3 | of the sessions that Murfey is overseeing, along with the relationships between them. |
4 | 4 | """ |
5 | 5 |
|
6 | | -from __future__ import annotations |
7 | | - |
8 | 6 | from datetime import datetime |
9 | 7 | from typing import List, Optional |
10 | 8 |
|
@@ -237,54 +235,60 @@ class CLEMImageSeries(SQLModel, table=True): # type: ignore |
237 | 235 | have been compiled together from individual TIFF files. |
238 | 236 | """ |
239 | 237 |
|
240 | | - id: int | None = Field(default=None, primary_key=True) |
| 238 | + id: Optional[int] = Field(default=None, primary_key=True) |
241 | 239 | series_name: str = Field( |
242 | 240 | index=True |
243 | 241 | ) # Name of the series, as determined from the metadata |
244 | | - search_string: str | None = Field(default=None) # Path for globbing with |
| 242 | + search_string: Optional[str] = Field(default=None) # Path for globbing with |
245 | 243 |
|
246 | | - session: Session | None = Relationship(back_populates="image_series") # Many to one |
247 | | - session_id: int | None = Field(foreign_key="session.id", default=None, unique=False) |
| 244 | + session: Optional["Session"] = Relationship( |
| 245 | + back_populates="image_series" |
| 246 | + ) # Many to one |
| 247 | + session_id: Optional[int] = Field( |
| 248 | + foreign_key="session.id", default=None, unique=False |
| 249 | + ) |
248 | 250 |
|
249 | 251 | # Type of data (atlas/overview or grid square) |
250 | | - data_type: str = Field(default="") # "atlas" or "grid_square" |
| 252 | + data_type: Optional[str] = Field(default=None) # "atlas" or "grid_square" |
251 | 253 |
|
252 | 254 | # Link to data collection group |
253 | | - data_collection_group: DataCollectionGroup | None = Relationship( |
| 255 | + data_collection_group: Optional["DataCollectionGroup"] = Relationship( |
254 | 256 | back_populates="clem_image_series" |
255 | 257 | ) |
256 | | - dcg_id: int | None = Field(foreign_key="datacollectiongroup.id", default=None) |
257 | | - dcg_name: str = Field(default="") |
| 258 | + dcg_id: Optional[int] = Field(foreign_key="datacollectiongroup.id", default=None) |
| 259 | + dcg_name: Optional[str] = Field(default=None) |
258 | 260 |
|
259 | 261 | # Link to grid squares |
260 | | - grid_square: GridSquare | None = Relationship(back_populates="clem_image_series") |
261 | | - grid_square_id: int | None = Field(foreign_key="gridsquare.id", default=None) |
| 262 | + grid_square: Optional["GridSquare"] = Relationship( |
| 263 | + back_populates="clem_image_series" |
| 264 | + ) |
| 265 | + grid_square_id: Optional[int] = Field(foreign_key="gridsquare.id", default=None) |
262 | 266 |
|
263 | 267 | # The parent LIF file this series originates from, if any |
264 | | - parent_lif: CLEMLIFFile | None = Relationship( |
| 268 | + parent_lif: Optional["CLEMLIFFile"] = Relationship( |
265 | 269 | back_populates="child_series", |
266 | 270 | ) # Many to one |
267 | | - parent_lif_id: int | None = Field( |
| 271 | + parent_lif_id: Optional[int] = Field( |
268 | 272 | foreign_key="clemliffile.id", |
269 | 273 | default=None, |
270 | 274 | ) |
271 | 275 |
|
272 | 276 | # The parent TIFF files used to build up the image stacks in the series, if any |
273 | | - parent_tiffs: list[CLEMTIFFFile] = Relationship( |
| 277 | + parent_tiffs: List["CLEMTIFFFile"] = Relationship( |
274 | 278 | back_populates="child_series", sa_relationship_kwargs={"cascade": "delete"} |
275 | 279 | ) # One to many |
276 | 280 |
|
277 | 281 | # Metadata file for this series |
278 | | - associated_metadata: CLEMImageMetadata | None = Relationship( |
| 282 | + associated_metadata: Optional["CLEMImageMetadata"] = Relationship( |
279 | 283 | back_populates="associated_series", |
280 | 284 | ) # One to one |
281 | | - metadata_id: int | None = Field( |
| 285 | + metadata_id: Optional[int] = Field( |
282 | 286 | foreign_key="clemimagemetadata.id", |
283 | 287 | default=None, |
284 | 288 | ) |
285 | 289 |
|
286 | 290 | # Image stack entries that are part of this series |
287 | | - child_stacks: list[CLEMImageStack] = Relationship( |
| 291 | + child_stacks: List["CLEMImageStack"] = Relationship( |
288 | 292 | back_populates="parent_series", |
289 | 293 | sa_relationship_kwargs={"cascade": "delete"}, |
290 | 294 | ) # One to many |
@@ -401,7 +405,7 @@ class DataCollectionGroup(SQLModel, table=True): # type: ignore |
401 | 405 | back_populates="data_collection_group", |
402 | 406 | sa_relationship_kwargs={"cascade": "delete"}, |
403 | 407 | ) |
404 | | - clem_image_series: list["CLEMImageSeries"] = Relationship( |
| 408 | + clem_image_series: List["CLEMImageSeries"] = Relationship( |
405 | 409 | back_populates="data_collection_group", |
406 | 410 | sa_relationship_kwargs={"cascade": "delete"}, |
407 | 411 | ) |
@@ -607,7 +611,7 @@ class GridSquare(SQLModel, table=True): # type: ignore |
607 | 611 | pixel_size: Optional[float] = None |
608 | 612 | image: str = "" |
609 | 613 | session: Optional[Session] = Relationship(back_populates="grid_squares") |
610 | | - clem_image_series: list["CLEMImageSeries"] = Relationship( |
| 614 | + clem_image_series: List["CLEMImageSeries"] = Relationship( |
611 | 615 | back_populates="grid_square", sa_relationship_kwargs={"cascade": "delete"} |
612 | 616 | ) |
613 | 617 | foil_holes: List["FoilHole"] = Relationship( |
|
0 commit comments