Skip to content

Commit

Permalink
Modifications from data-elements group meeting 27Sep2024
Browse files Browse the repository at this point in the history
  • Loading branch information
KrisThielemans authored Sep 27, 2024
1 parent 3dc0607 commit 96f3be4
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 13 deletions.
6 changes: 4 additions & 2 deletions model/DetectorTypes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@
SolidVolume: !record
fields:
shape: GeometricShape
# TODO could use material_id here
material: BulkMaterial
# identified referring to `BulkMaterial` list in `ScannerInformation`
material_id: uint

# A list of identical SolidVolumes at different locations
ReplicatedSolidVolume: !record
fields:
solidVolume: SolidVolume
# list of transforms
# constraint: length >= 1
transforms: RigidTransformation*
# list of unique ids for every replicated solid volume
# constraint: size(transforms) == size(ids)
Expand Down
11 changes: 7 additions & 4 deletions model/MaterialTypes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,16 @@ BulkMaterial: !record
fields:
# unique id that can be used to refer to the material in voxelised maps etc
id: uint
# informative string, not standardised
name: string?
# informative string, not standardised.
# Expected examples: BGO, LSO, LYSO, LaBr, GAGG, plastic
name: string
# density of the material
# TODO specify units
# Units: g/cc
# TODO agree with vendors if this information can be supplied and to what accuracy
density: float
# List of atoms and their respective mass fractions
# sum of massFractions should be 1
# This list should be reasonably accurate to be useful for Monte Carlo simulations
# TODO agree with vendors if this information can be supplied and to what accuracy
# Ideally this list should be reasonably accurate to be useful for Monte Carlo simulations, but can be approximate.
atoms: AtomAndFraction*

9 changes: 5 additions & 4 deletions model/ScannerInformation.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@

# Detector ID and location. Units are in mm
# TODO: this is currently just a sample implementation with "point" detectors.
# Will be obsolete
Detector: !record
fields:
Expand Down Expand Up @@ -30,8 +28,11 @@ ScannerInformation: !record
modelName: string?

# list of geometric information for all detector elements
# TODO replace with ScannerGeometry
detectors: Detector*
scanner_geometry: ScannerGeometry

# list of materials present in the scanner geometry. The `material_id`s there will refer to the
# identifiers in this list below.
bulkMaterials: BulkMaterial*

# edge information for TOF bins in mm (given as from first to last edge, so there is one more edge than the number of bins)
# 0 corresponds to the same arrival time. Negative numbers indicate that the first detector detected first.
Expand Down
5 changes: 2 additions & 3 deletions model/Shapes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ BoxShape: !record
fields:
corners: Coordinate*8

# annulus of certain thickness oriented along the last axis of `orientation`
# TODO define angles
# annulus of certain thickness oriented along the [0,0,1] axis
# in radians. An angle of 0 corresponds to the [1,0,0] axis, Pi/2 corresponds to the [0,1,0] axis.
AnnulusShape: !record
fields:
# inner radius (in mm)
Expand All @@ -31,4 +31,3 @@ GeometricShape: !record
fields:
# union of different shape types
shape: [BoxShape, AnnulusShape]
# TODO could have rigidTransformation field here. If we do, the `center` and `orientation` fields in `AnnulusShape` should be deleted

0 comments on commit 96f3be4

Please sign in to comment.