18 #ifndef mitkSUVCalculationHelper_h
19 #define mitkSUVCalculationHelper_h
34 class IPropertyProvider;
452 double halfLifeSeconds = std::numeric_limits<double>::quiet_NaN();
454 double totalDoseBq = std::numeric_limits<double>::quiet_NaN();
678 double halfLifeSeconds = std::numeric_limits<double>::quiet_NaN(),
Acquisition / radiopharmaceutical-injection timing cannot be reconciled.
mitkExceptionClassMacro(AmbiguousDecayTimingException, SUVHelperException)
Ambiguous patient sex would have been resolved as the IBSI mean of the male- and female-specific norm...
mitkExceptionClassMacro(AmbiguousPatientSexAdaptationRefusedException, BenchmarkAdaptationRequiredException)
Base class for failures triggered by a benchmark-recommended adaptation that the active policy refuse...
mitkExceptionClassMacro(BenchmarkAdaptationRequiredException, SUVHelperException)
Raised when a uniform decay-time override and a per-(timestep, slice) decay-time override map are set...
mitkExceptionClassMacro(ConflictingDecayTimeOverrideException, SUVHelperException)
Base class for all MITK exceptions.
Interface implemented by classes that provide access to property information.
Radionuclide Total Dose (0018,1074) is implausible as Bq and would have been reinterpreted as MBq,...
mitkExceptionClassMacro(ImplausibleRadionuclideDoseException, BenchmarkAdaptationRequiredException)
A DICOM property is present but holds a value the helper does not understand.
mitkExceptionClassMacro(InvalidDICOMPropertyValueException, SUVHelperException)
A user-supplied per-(timestep, slice) decay-time override map is not a complete and well-formed match...
mitkExceptionClassMacro(InvalidDecayTimeMapException, SUVHelperException)
A uniform decay-time override value is not a usable decay duration.
mitkExceptionClassMacro(InvalidDecayTimeOverrideException, SUVHelperException)
A required DICOM property is missing on the input data.
mitkExceptionClassMacro(MissingDICOMPropertyException, SUVHelperException)
(0054,1001) Units == "CNTS" and the manufacturer is Philips, but neither of the two Philips private s...
mitkExceptionClassMacro(MissingPhilipsPETScaleException, SUVHelperException)
A multi-item Radiopharmaceutical Information Sequence (0054,0016) was supplied without an explicit tr...
mitkExceptionClassMacro(MultiItemRadiopharmaceuticalSequenceException, InvalidDICOMPropertyValueException)
Base class for failures originating from the SUV calculation helpers.
mitkExceptionClassMacro(SUVHelperException, mitk::Exception)
Super class of data objects consisting of slices.
Tag (0054,1001) Units holds a value the SUV pipeline cannot interpret.
mitkExceptionClassMacro(UnsupportedPETUnitsException, SUVHelperException)
Strategy DC=START would have been resolved via a vendor-specific empirical fallback (Steps 3 / 4),...
mitkExceptionClassMacro(VendorEmpiricalDecayFallbackRefusedException, BenchmarkAdaptationRequiredException)
Find image slices visible on a given plane.
ManufacturerFamily MITKPET_EXPORT GetManufacturerFamily(const mitk::IPropertyProvider *provider)
Classify the input's (0008,0070) Manufacturer into a family.
Sex MITKPET_EXPORT GetPatientsSex(const mitk::IPropertyProvider *provider)
Get the patient's sex from DICOM properties as a typed enum.
DecayCorrectionStrategy
Strategy describing how (or whether) the input pixel data has been decay-corrected by the scanner.
std::map< mitk::TimeStepType, DecayTimeSliceMapType > DecayTimeMapType
Map storing per-time-step decay time slice maps.
double MITKPET_EXPORT GetPatientsHeight(const mitk::IPropertyProvider *provider)
Get the patient's height (size) from DICOM properties.
DICOMReadPolicy
Policy controlling whether benchmark-recommended adaptations of borderline / non-spec DICOM input are...
ManufacturerFamily
Manufacturer family inferred from DICOM tag (0008,0070) Manufacturer.
std::vector< RadiopharmaceuticalInfo > MITKPET_EXPORT GetRadiopharmaceuticalInfos(const mitk::IPropertyProvider *provider, DICOMReadPolicy policy=DICOMReadPolicy::Lenient)
Read the Radiopharmaceutical Information Sequence as paired-by-item info.
DecayCorrectionStrategy MITKPET_EXPORT GetDecayCorrectionStrategy(const mitk::IPropertyProvider *provider)
Detect the DICOM Decay Correction strategy of the input data.
double MITKPET_EXPORT GetPatientsWeight(const mitk::IPropertyProvider *provider)
Get the patient's weight from DICOM properties.
DecayCorrectionInfo MITKPET_EXPORT DeduceDecayCorrection(const mitk::SlicedData *data, double halfLifeSeconds=std::numeric_limits< double >::quiet_NaN(), DICOMReadPolicy policy=DICOMReadPolicy::Lenient)
Deduce the residual decay correction needed to compute SUV.
std::map< mitk::SlicedData::IndexValueType, double > DecayTimeSliceMapType
Map storing the residual decay time in seconds per slice.
Sex
Patient sex modeled as a closed set.
Result of DeduceDecayCorrection().
DecayTimeMapType decayTimes
Per-item radiopharmaceutical metadata pulled from the Radiopharmaceutical Information Sequence (0054,...