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] add metadata to PET calibration factor: "DoseCalibrationFactor" #825

Merged
merged 9 commits into from Jul 13, 2021
Merged

Conversation

CPernet
Copy link
Collaborator

@CPernet CPernet commented Jul 5, 2021

As we are working on MATLAB and Python nibabel converter - we realize quantitative PET means multiplying data by the scanner calibration factor ; while not essential, it would be nice to have this information in the json file (in the table as a recommended tag)

@CPernet CPernet added the enhancement New feature or request label Jul 5, 2021
@ChristophePhillips
Copy link

As we are working on MATLAB and Python nibabel converter - we realize quantitative PET means multiplying data by the scanner calibration factor ; while not essential, it would be nice to have this information in the json file (in the table as a recommended tag)

I am all in for more clarity about the data description but what is this "calibration factor" about? When/where would it be useful to know about this?

@CPernet
Copy link
Collaborator Author

CPernet commented Jul 5, 2021

  • every PET scanner has a calibration - for a known dose of radioactive element, the machine counts x, and you multiply by that calibration factor to get the right quantitative value (turns out scanners are re-calibrated every so often, the older the less you need it as crystals are more stable, so I've been told - but I'm no expert in that)
  • by default in nifti data would be multiplied already (in old fashion analyze you'd put it in the header) but if you wanted to get back to the basic count value, with that info you can (say for a static FDG scan - agreed unlikely)

@tsalo tsalo added the PET label Jul 5, 2021
@mnoergaard
Copy link
Collaborator

Hi @CPernet,
I would suggest to move it down to the "other" factors in the reconstruction, and rename it to DoseCalibrationFactor, and maybe update the description so it is more in line with (http://dicomlookup.com/lookup.asp?sw=Tnumber&q=(0054,1322)), including a referral to the DICOM tag. For most dicom files, the conversion is already carried out to e.g. Bq/mL, and hence the calibration factor becomes slightly redundant, as the required units of the image are in Bq. But I agree with you that the calibration factor is needed to go back to counts/sec, I am just not convinced of any use-cases where this would be done.

@CPernet
Copy link
Collaborator Author

CPernet commented Jul 6, 2021

yes, thx @mnoergaard - I knew you'd be the man for a good review :-) note that in ecat (HRRT) this is not applied to the data, but stored separately - I'll do the suggested changes thx (and yes hard to see why you would want count/sec in general, but maybe for some more method work)

@CPernet
Copy link
Collaborator Author

CPernet commented Jul 6, 2021

@mnoergaard new commit :-)

@mnoergaard
Copy link
Collaborator

This looks good to me - thanks @CPernet. Next we need to update the validator in a separate PR.

@CPernet
Copy link
Collaborator Author

CPernet commented Jul 6, 2021

@ChristophePhillips @mnoergaard you need to 'approve' in the review
@sappelhoff or @Remi-Gau can then confirm the merge? (yes checking the validator too)

@@ -213,6 +213,7 @@ We refer to the common principles for the standards for describing dates and tim
| ScaleFactor | RECOMMENDED | [array][] of [numbers][] | Scale factor for each frame. |
| ScatterFraction | RECOMMENDED | [array][] of [numbers][] | Scatter fraction for each frame (Units: 0-100%). |
| DecayCorrectionFactor | RECOMMENDED | [array][] of [numbers][] | Decay correction factor for each frame. |
| DoseCalibrationFactor | RECOMMENDED | [number][] | Value used to calibrate radioactivity count, i.e. transform to meaningful unit (e.g. Becquerel) - value already applied to the data as a multiplication factor that scales them from counts/sec to Bq/ml (dicom tag 0054,1322). |
Copy link
Member

Choose a reason for hiding this comment

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

I have problems understanding the description. Could you please split this up into sentences with each sentence conveying a meaning?

Let me clarify what I find confusing:

Value used to calibrate radioactivity count

--> is "radioactivity count" metadata that corresponds to some already existing field? If yes, can you reference that one, please?

  • value already applied to the data as a multiplication factor that scales them from counts/sec to Bq/ml (dicom tag 0054,1322).

does that connect to the previous sentence? Or is it a standalone statement? Or an example / clarification?

Lastly:

Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks for pointing this out @sappelhoff. I have now updated the description, so it is very much in line with the dicom description, and then referring to the dicom tag. Then it is possible to make a dicom lookup, if one wants to search for more information. This also removes the latin abbreviations, and then I have aligned the table pipes.

mnoergaard and others added 3 commits July 6, 2021 10:40
1. Updated text for DoseCalibrationFactor to be in correspondence with dicom description
2. removed latin phrasing
3. fix table aligment
@CPernet
Copy link
Collaborator Author

CPernet commented Jul 6, 2021

thx @sappelhoff pushed it (sorry on top of martin, updating at the same time)

Copy link
Member

@sappelhoff sappelhoff left a comment

Choose a reason for hiding this comment

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

I made a slight change in wording, see: 7319961

Other than that, it looks fine to me - given that a couple of more people look at it and agree that we need it.

@sappelhoff sappelhoff mentioned this pull request Jul 6, 2021
27 tasks
@CPernet
Copy link
Collaborator Author

CPernet commented Jul 9, 2021

@sappelhoff this is now approved - the only bug I see is a link related to ASL???

@sappelhoff
Copy link
Member

Yes there has been some fluctuation with the OSIPI URL the last days https://www.osipi.org cc @HenkMutsaerts

I haven't merged this yet so that more people may see it and chime in before it goes in --> in accordance with our 5-day rule: https://github.com/bids-standard/bids-specification/blob/master/DECISION-MAKING.md#rules

Sometimes maintainers can break that rule according to their own judgment, but in this case, I think there is no harm done leaving it for other people to see for two more days. Unless I hear otherwise, let's merge this on Saturday evening or Sunday.

@sappelhoff sappelhoff merged commit 3cfd64b into bids-standard:master Jul 13, 2021
@sappelhoff
Copy link
Member

Thanks @CPernet for getting this started and everybody else for the reviews!

@sappelhoff sappelhoff changed the title [ENH] add PET calibration factor [ENH] add metadata to PET calibration factor: "DoseCalibrationFactor" Jul 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request PET
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants