Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[enh][PET] add example for ReconFilterType is 'none' #427

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions pet006/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
This dataset consists of a single calibration scan done on a Phantom, it's primary use is to ensure the behavior defined by the BIDS Speficication with respect to
If ReconMethodParameters = ['none']; then ReconFilterSize is optional and ReconMethodParameterLabels = ['none'] are valid.
7 changes: 7 additions & 0 deletions pet006/dataset_description.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{"BIDSVersion":"1.9.0",
"License":"CCO license",
"Name":"BIDS Example Dataset PET 006",
"Authors":["Murat Bilgel", "Cyril Pernet", "Anthony Galassi"],
"Acknowledgements":"John Hopkins University PET team for scanning this phantom.",
"Funding":["Not Sure"],
"DatasetDOI":""}
9 changes: 9 additions & 0 deletions pet006/participants.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"participant_id":{
"LongName":"Participant Id",
"Description":"label identifying a particular subject"
},
"weight":{
"LongName":"Weight"
}
}
2 changes: 2 additions & 0 deletions pet006/participants.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
participant_id weight
sub-01 4
36 changes: 36 additions & 0 deletions pet006/sub-01/pet/sub-01_pet.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"AcquisitionMode": "list mode",
"AttenuationCorrection": "measured(emission present), 0.096000 cm-1, attenuation smooth",
"AttenuationCorrectionMethod": "measured(emission present), 0.096000 cm-1, attenuation smooth",
"BodyPart": "Phantom",
"DecayCorrectionFactor": [1.42614],
"DoseCalibrationFactor": 1323,
"FrameDuration": [98000],
"FrameTimesStart": [0],
"ImageDecayCorrected": true,
"ImageDecayCorrectionTime": 0,
"InjectedMass": 181149988.3691438,
"InjectedMassUnits": "ug",
"InjectedRadioactivity": 75.84999999999999,
"InjectedRadioactivityUnits": "MBq",
"InjectedVolume": 0,
"InjectionStart": 0,
"InstitutionName": "NIH Clinical Center, USA",
"Manufacturer": "GE MEDICAL SYSTEMS",
"ManufacturersModelName": "GE Advance",
"ModeOfAdministration": "infusion",
"ReconFilterType": "none",
"ReconMethodName": "3D Kinahan - Rogers",
"ReconMethodParameterLabels": [
"none"
],
Comment on lines +24 to +26
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, reading the spec, it says

REQUIRED if ReconMethodParameterLabels does not contain "none"

but that seems odd. If it's ["abc", "def", "none"], presumably you want units and values. I suppose the text should actually say 'is not ["none"]'? I can probably do that in schema. Matching any might require me to bug Ross.

What is currently implemented is:

Suggested change
"ReconMethodParameterLabels": [
"none"
],
"ReconMethodParameterLabels": "none",

We could update the text to allow that, but I think probably ["none"] is the cleaner solution, so that the type is constant.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mnoergaard Would you mind commenting on the original intent here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The original intent goes back to the PET guidelines paper (https://journals.sagepub.com/doi/10.1177/0271678X20905433) where the ReconMethodParameterLabels was decided to be mandatory. In most cases, there are multiple reconstruction parameters and labels, however, for some older scanners there no recon parameters. As far as I remember, for the old validator, it was not easy to combine datatypes depending on the need, so it was decided to keep this as an array of strings. However, it is not so clean in the case of no parameters (even with ["none"]. Just "none" would be the cleanest.

"ScanStart": 0,
"ScatterCorrectionMethod": "Gaussian Fit",
"SpecificRadioactivity": 418713.8,
"SpecificRadioactivityUnits": "Bq/g",
"TimeZero": "12:44:31",
"TracerName": "FDG",
"TracerRadionuclide": "F18",
"Units": "Bq/mL",
"filename": "D:\\BIDS\\ONP\\OpenNeuroPET-Phantoms\\sub-GeneralElectricAdvanceJHU\\pet\\sub-GeneralElectricAdvanceJHU_pet.json"
}
1 change: 1 addition & 0 deletions pet006/sub-01/pet/sub-01_pet.nii.gz
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Loading