Skip to content

Commit

Permalink
[FIX][SCHEMA] Add conditionals for PET ReconMethod* and ReconFilter (b…
Browse files Browse the repository at this point in the history
…ids-standard#1299)

* Pet recon method tweaks (#2)

* add conditionals for ReconMethod Metadata

* add min and max values to scatter fraction

* add conditional for ReconFilterSize

* Apply suggestions from code review

* Update pet.yaml

* use intersects for 'none' check, switch to recommended

* Apply suggestions from code review

Co-authored-by: Chris Markiewicz <effigies@gmail.com>

Co-authored-by: Chris Markiewicz <effigies@gmail.com>
Co-authored-by: Stefan Appelhoff <stefan.appelhoff@mailbox.org>
  • Loading branch information
3 people authored Oct 21, 2022
1 parent 19db390 commit 5c84df3
Showing 1 changed file with 25 additions and 3 deletions.
28 changes: 25 additions & 3 deletions src/schema/rules/sidecars/pet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -146,16 +146,19 @@ PETReconstruction:
level: required
description_addendum: This partly matches the DICOM Tag (0054,1103) `Reconstruction Method`.
ReconMethodParameterUnits:
level: required
level: recommended
level_addendum: required if `ReconMethodParameterLabels` does not contain `"none"`
description_addendum: This partly matches the DICOM Tag (0054,1103) `Reconstruction Method`.
ReconMethodParameterValues:
level: required
level: recommended
level_addendum: required if `ReconMethodParameterLabels` does not contain `"none"`
description_addendum: This partly matches the DICOM Tag (0054,1103) `Reconstruction Method`.
ReconFilterType:
level: required
description_addendum: This partly matches the DICOM Tag (0018,1210) `Convolution Kernel`.
ReconFilterSize:
level: required
level: recommended
level_addendum: required if `ReconFilterType` is not `"none"`
description_addendum: This partly matches the DICOM Tag (0018,1210) `Convolution Kernel`.
AttenuationCorrection:
level: required
Expand All @@ -176,6 +179,25 @@ PETReconstruction:
SinglesRate: recommended
RandomRate: recommended

# set required reconstruction fields to optional when "none" is provided as a parameter label
EntitiesReconMethodMetadata:
selectors:
- modality == "pet"
- suffix == "pet"
- '!intersects(sidecar.ReconMethodParameterLabels, ["none"])'
fields:
ReconMethodParameterValues: required
ReconMethodParameterUnits: required

# set required recon filter fields to optional when FilterType is "None"
EntitiesReconFilterMetadata:
selectors:
- modality == "pet"
- suffix == "pet"
- '!intersects(sidecar.ReconFilterType, ["none"])'
fields:
ReconFilterSize: required

BloodRecording:
selectors:
- modality == "pet"
Expand Down

0 comments on commit 5c84df3

Please sign in to comment.