@@ -99,29 +99,27 @@ class ImagingSite(SQLModel, table=True): # type: ignore
9999 image_path : Optional [str ] = Field (default = None )
100100 thumbnail_path : Optional [str ] = Field (default = None )
101101
102- # Link to Session table
103- session : Optional ["Session" ] = Relationship (
104- back_populates = "imaging_sites"
105- ) # Many to one
106- session_id : Optional [int ] = Field (
107- foreign_key = "session.id" , default = None , unique = False
108- )
109-
110102 # Type of data (atlas/overview or grid square)
111103 data_type : Optional [str ] = Field (default = None ) # "atlas" or "grid_square"
112104
113- # Link to data collection group
114- data_collection_group : Optional ["DataCollectionGroup" ] = Relationship (
115- back_populates = "imaging_sites"
116- )
117- dcg_id : Optional [int ] = Field (
118- foreign_key = "datacollectiongroup.dataCollectionGroupId" , default = None
119- )
120- dcg_name : Optional [str ] = Field (default = None )
105+ # Stage position (image centre) and rotation
106+ pos_x : Optional [float ] = Field (default = None )
107+ pos_y : Optional [float ] = Field (default = None )
108+ pos_z : Optional [float ] = Field (default = None )
109+ rotation : Optional [float ] = Field (default = None )
110+ tilt_alpha : Optional [float ] = Field (default = None )
111+ tilt_beta : Optional [float ] = Field (default = None )
121112
122- # Link to grid squares
123- grid_square : Optional ["GridSquare" ] = Relationship (back_populates = "imaging_sites" )
124- grid_square_id : Optional [int ] = Field (foreign_key = "gridsquare.id" , default = None )
113+ # Field and depth of view
114+ len_x : Optional [float ] = Field (default = None )
115+ len_y : Optional [float ] = Field (default = None )
116+ len_z : Optional [float ] = Field (default = None )
117+
118+ # Extent of the imaged area in real space
119+ x0 : Optional [float ] = Field (default = None )
120+ x1 : Optional [float ] = Field (default = None )
121+ y0 : Optional [float ] = Field (default = None )
122+ y1 : Optional [float ] = Field (default = None )
125123
126124 # Shape and resolution information
127125 image_pixels_x : Optional [int ] = Field (default = None )
@@ -130,13 +128,9 @@ class ImagingSite(SQLModel, table=True): # type: ignore
130128 thumbnail_pixels_x : Optional [int ] = Field (default = None )
131129 thumbnail_pixels_y : Optional [int ] = Field (default = None )
132130 thumbnail_pixel_size : Optional [float ] = Field (default = None )
133- units : Optional [str ] = Field (default = None )
134131
135- # Extent of the imaged area in real space
136- x0 : Optional [float ] = Field (default = None )
137- x1 : Optional [float ] = Field (default = None )
138- y0 : Optional [float ] = Field (default = None )
139- y1 : Optional [float ] = Field (default = None )
132+ # Spatial units
133+ units : Optional [str ] = Field (default = None )
140134
141135 # Colour channel-related fields
142136 number_of_members : Optional [int ] = Field (default = None )
@@ -150,6 +144,33 @@ class ImagingSite(SQLModel, table=True): # type: ignore
150144 collection_mode : Optional [str ] = Field (default = None )
151145 composite_created : bool = False # Has a composite image been created?
152146
147+ # -------------
148+ # Relationships
149+ # -------------
150+
151+ # Session
152+ session : Optional ["Session" ] = Relationship (
153+ back_populates = "imaging_sites"
154+ ) # Many-to-one
155+ session_id : Optional [int ] = Field (
156+ foreign_key = "session.id" , default = None , unique = False
157+ )
158+
159+ # DataCollectionGroup
160+ data_collection_group : Optional ["DataCollectionGroup" ] = Relationship (
161+ back_populates = "imaging_sites"
162+ ) # Many-to-one
163+ dcg_id : Optional [int ] = Field (
164+ foreign_key = "datacollectiongroup.dataCollectionGroupId" , default = None
165+ )
166+ dcg_name : Optional [str ] = Field (default = None )
167+
168+ # GridSquare
169+ grid_square : Optional ["GridSquare" ] = Relationship (
170+ back_populates = "imaging_sites"
171+ ) # Many-to-one
172+ grid_square_id : Optional [int ] = Field (foreign_key = "gridsquare.id" , default = None )
173+
153174
154175"""
155176TEM SESSION AND PROCESSING WORKFLOW
0 commit comments