Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::ConcentrationCurveGenerator Class Reference

Converts a 4D MR signal image into a 4D contrast agent concentration image. More...

#include <mitkConcentrationCurveGenerator.h>

Inheritance diagram for mitk::ConcentrationCurveGenerator:
Collaboration diagram for mitk::ConcentrationCurveGenerator:

Public Types

typedef itk::Image< double, 3 > ConvertedImageType
 ITK image type for converted 3D concentration frames. More...
 

Public Member Functions

 mitkClassMacroItkParent (ConcentrationCurveGenerator, itk::Object)
 
virtual void SetDynamicImage (const Image *_arg)
 Sets the input 4D dynamic MR signal image. More...
 
virtual const Image * GetDynamicImage ()
 Returns the currently set 4D dynamic input image. More...
 
virtual void SetRelaxationTime (double _arg)
 Sets the pre-contrast T1 relaxation time (T10) in ms. More...
 
virtual const double & GetRelaxationTime ()
 Returns the pre-contrast T1 relaxation time. More...
 
virtual void SetRelaxivity (double _arg)
 Sets the contrast agent relaxivity in 1/(mM*s). More...
 
virtual const double & GetRelaxivity ()
 Returns the contrast agent relaxivity. More...
 
virtual void SetRecoveryTime (double _arg)
 Sets the recovery time for TurboFLASH sequences. More...
 
virtual const double & GetRecoveryTime ()
 Returns the recovery time. More...
 
virtual void SetRepetitionTime (double _arg)
 Sets the repetition time (TR) in ms. More...
 
virtual const double & GetRepetitionTime ()
 Returns the repetition time (TR). More...
 
virtual void SetFlipAngle (double _arg)
 Sets the flip angle in radians. More...
 
virtual const double & GetFlipAngle ()
 Returns the flip angle. More...
 
virtual void SetFlipAnglePDW (double _arg)
 Sets the flip angle of the proton density weighted (PDW) image in radians. More...
 
virtual const double & GetFlipAnglePDW ()
 Returns the PDW flip angle. More...
 
virtual void SetFactor (double _arg)
 Sets the conversion scaling factor (k). More...
 
virtual const double & GetFactor ()
 Returns the conversion scaling factor. More...
 
virtual void SetPDWImage (const Image *_arg)
 Sets the proton density weighted (PDW) map image for T1 mapping via variable flip angle. More...
 
virtual const Image * GetPDWImage ()
 Returns the currently set PDW image. More...
 
virtual void SetT2Factor (double _arg)
 Sets the T2* relaxivity factor for T2-weighted conversion. More...
 
virtual const double & GetT2Factor ()
 Returns the T2 factor. More...
 
virtual void SetT2EchoTime (double _arg)
 Sets the echo time (TE) for T2-weighted conversion in ms. More...
 
virtual const double & GetT2EchoTime ()
 Returns the T2 echo time. More...
 
virtual void SetBaselineStartTimeStep (unsigned int _arg)
 Sets the first time step index included in baseline averaging (0-based). More...
 
virtual const unsigned int & GetBaselineStartTimeStep ()
 Returns the baseline start time step index. More...
 
virtual void SetBaselineEndTimeStep (unsigned int _arg)
 Sets the last time step index included in baseline averaging. More...
 
virtual const unsigned int & GetBaselineEndTimeStep ()
 Returns the baseline end time step index. More...
 
virtual void SetisTurboFlashSequence (bool _arg)
 Sets whether the input is a TurboFLASH sequence. More...
 
virtual const bool & GetisTurboFlashSequence ()
 Returns whether TurboFLASH conversion mode is active. More...
 
virtual void SetAbsoluteSignalEnhancement (bool _arg)
 Sets whether to use absolute signal enhancement for conversion. More...
 
virtual const bool & GetAbsoluteSignalEnhancement ()
 Returns whether absolute signal enhancement mode is active. More...
 
virtual void SetRelativeSignalEnhancement (bool _arg)
 Sets whether to use relative signal enhancement for conversion. More...
 
virtual const bool & GetRelativeSignalEnhancement ()
 Returns whether relative signal enhancement mode is active. More...
 
virtual void SetUsingT1Map (bool _arg)
 Sets whether to compute concentration via T1 mapping (variable flip angle method). More...
 
virtual const bool & GetUsingT1Map ()
 Returns whether T1 mapping conversion mode is active. More...
 
virtual void SetisT2weightedImage (bool _arg)
 Sets whether the input is a T2-weighted image. More...
 
virtual const bool & GetisT2weightedImage ()
 Returns whether T2-weighted conversion mode is active. More...
 
Image::Pointer GetConvertedImage ()
 Performs the conversion and returns the 4D concentration image. More...
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ConcentrationCurveGenerator ()
 
 ~ConcentrationCurveGenerator () override
 
template<class TPixel_input , class TPixel_baseline >
mitk::Image::Pointer convertToConcentration (const itk::Image< TPixel_input, 3 > *itkInputImage, const itk::Image< TPixel_baseline, 3 > *itkBaselineImage)
 
mitk::Image::Pointer ConvertSignalToConcentrationCurve (const mitk::Image *inputImage, const mitk::Image *baselineImage)
 
void PrepareBaselineImage ()
 Takes the 3D image of the first timepoint to set as baseline image. More...
 
template<class TPixel >
void CalculateAverageBaselineImage (const itk::Image< TPixel, 4 > *itkBaselineImage)
 
virtual void Convert ()
 Loops over all timepoints, casts the current timepoint 3D mitk::image to itk and passes it to ConvertSignalToConcentrationCurve. More...
 

Detailed Description

Converts a 4D MR signal image into a 4D contrast agent concentration image.

Given a 4D dynamic image with MR signal intensities, this generator computes the baseline image from the specified time step range and then converts each 3D time frame to concentration values using the appropriate conversion functor, selected based on the MR sequence type (TurboFLASH, absolute/relative signal enhancement, T1 mapping via variable flip angle, or T2-weighted).

The result is a 4D image where each voxel contains the computed contrast agent concentration at each time point.

Precondition
The 4D dynamic image must be set before calling GetConvertedImage().
The appropriate sequence flags and MR parameters must be configured.
See also
AterialInputFunctionGenerator, ConvertToConcentrationAbsoluteFunctor, ConvertToConcentrationRelativeFunctor, ConvertToConcentrationTurboFlashFunctor, ConvertToConcentrationViaT1CalcFunctor, ConvertT2ConcentrationFunctor

Definition at line 42 of file mitkConcentrationCurveGenerator.h.

Member Typedef Documentation

◆ ConvertedImageType

ITK image type for converted 3D concentration frames.

Definition at line 50 of file mitkConcentrationCurveGenerator.h.

Constructor & Destructor Documentation

◆ ConcentrationCurveGenerator()

mitk::ConcentrationCurveGenerator::ConcentrationCurveGenerator ( )
protected

◆ ~ConcentrationCurveGenerator()

mitk::ConcentrationCurveGenerator::~ConcentrationCurveGenerator ( )
overrideprotected

Member Function Documentation

◆ CalculateAverageBaselineImage()

template<class TPixel >
void mitk::ConcentrationCurveGenerator::CalculateAverageBaselineImage ( const itk::Image< TPixel, 4 > *  itkBaselineImage)
protected

◆ Convert()

virtual void mitk::ConcentrationCurveGenerator::Convert ( )
protectedvirtual

Loops over all timepoints, casts the current timepoint 3D mitk::image to itk and passes it to ConvertSignalToConcentrationCurve.

◆ ConvertSignalToConcentrationCurve()

mitk::Image::Pointer mitk::ConcentrationCurveGenerator::ConvertSignalToConcentrationCurve ( const mitk::Image *  inputImage,
const mitk::Image *  baselineImage 
)
protected

Calls ConvertToconcentrationFunctor for passed 3D itk::image

◆ convertToConcentration()

template<class TPixel_input , class TPixel_baseline >
mitk::Image::Pointer mitk::ConcentrationCurveGenerator::convertToConcentration ( const itk::Image< TPixel_input, 3 > *  itkInputImage,
const itk::Image< TPixel_baseline, 3 > *  itkBaselineImage 
)
protected

◆ GetAbsoluteSignalEnhancement()

virtual const bool& mitk::ConcentrationCurveGenerator::GetAbsoluteSignalEnhancement ( )
virtual

Returns whether absolute signal enhancement mode is active.

◆ GetBaselineEndTimeStep()

virtual const unsigned int& mitk::ConcentrationCurveGenerator::GetBaselineEndTimeStep ( )
virtual

Returns the baseline end time step index.

◆ GetBaselineStartTimeStep()

virtual const unsigned int& mitk::ConcentrationCurveGenerator::GetBaselineStartTimeStep ( )
virtual

Returns the baseline start time step index.

◆ GetConvertedImage()

Image::Pointer mitk::ConcentrationCurveGenerator::GetConvertedImage ( )

Performs the conversion and returns the 4D concentration image.

Triggers the full conversion pipeline: baseline computation, per-frame conversion using the configured functor, and assembly of the 4D result image.

Returns
Smart pointer to the 4D concentration image.

◆ GetDynamicImage()

virtual const Image* mitk::ConcentrationCurveGenerator::GetDynamicImage ( )
virtual

Returns the currently set 4D dynamic input image.

◆ GetFactor()

virtual const double& mitk::ConcentrationCurveGenerator::GetFactor ( )
virtual

Returns the conversion scaling factor.

◆ GetFlipAngle()

virtual const double& mitk::ConcentrationCurveGenerator::GetFlipAngle ( )
virtual

Returns the flip angle.

◆ GetFlipAnglePDW()

virtual const double& mitk::ConcentrationCurveGenerator::GetFlipAnglePDW ( )
virtual

Returns the PDW flip angle.

◆ GetisT2weightedImage()

virtual const bool& mitk::ConcentrationCurveGenerator::GetisT2weightedImage ( )
virtual

Returns whether T2-weighted conversion mode is active.

◆ GetisTurboFlashSequence()

virtual const bool& mitk::ConcentrationCurveGenerator::GetisTurboFlashSequence ( )
virtual

Returns whether TurboFLASH conversion mode is active.

◆ GetPDWImage()

virtual const Image* mitk::ConcentrationCurveGenerator::GetPDWImage ( )
virtual

Returns the currently set PDW image.

◆ GetRecoveryTime()

virtual const double& mitk::ConcentrationCurveGenerator::GetRecoveryTime ( )
virtual

Returns the recovery time.

◆ GetRelativeSignalEnhancement()

virtual const bool& mitk::ConcentrationCurveGenerator::GetRelativeSignalEnhancement ( )
virtual

Returns whether relative signal enhancement mode is active.

◆ GetRelaxationTime()

virtual const double& mitk::ConcentrationCurveGenerator::GetRelaxationTime ( )
virtual

Returns the pre-contrast T1 relaxation time.

◆ GetRelaxivity()

virtual const double& mitk::ConcentrationCurveGenerator::GetRelaxivity ( )
virtual

Returns the contrast agent relaxivity.

◆ GetRepetitionTime()

virtual const double& mitk::ConcentrationCurveGenerator::GetRepetitionTime ( )
virtual

Returns the repetition time (TR).

◆ GetT2EchoTime()

virtual const double& mitk::ConcentrationCurveGenerator::GetT2EchoTime ( )
virtual

Returns the T2 echo time.

◆ GetT2Factor()

virtual const double& mitk::ConcentrationCurveGenerator::GetT2Factor ( )
virtual

Returns the T2 factor.

◆ GetUsingT1Map()

virtual const bool& mitk::ConcentrationCurveGenerator::GetUsingT1Map ( )
virtual

Returns whether T1 mapping conversion mode is active.

◆ mitkClassMacroItkParent()

mitk::ConcentrationCurveGenerator::mitkClassMacroItkParent ( ConcentrationCurveGenerator  ,
itk::Object   
)

◆ New()

static Pointer mitk::ConcentrationCurveGenerator::New ( )
static

◆ PrepareBaselineImage()

void mitk::ConcentrationCurveGenerator::PrepareBaselineImage ( )
protected

Takes the 3D image of the first timepoint to set as baseline image.

◆ SetAbsoluteSignalEnhancement()

virtual void mitk::ConcentrationCurveGenerator::SetAbsoluteSignalEnhancement ( bool  _arg)
virtual

Sets whether to use absolute signal enhancement for conversion.

Parameters
[in]_argTrue to use absolute signal enhancement.

◆ SetBaselineEndTimeStep()

virtual void mitk::ConcentrationCurveGenerator::SetBaselineEndTimeStep ( unsigned int  _arg)
virtual

Sets the last time step index included in baseline averaging.

Parameters
[in]_argThe end time step index.

◆ SetBaselineStartTimeStep()

virtual void mitk::ConcentrationCurveGenerator::SetBaselineStartTimeStep ( unsigned int  _arg)
virtual

Sets the first time step index included in baseline averaging (0-based).

Parameters
[in]_argThe start time step index.

◆ SetDynamicImage()

virtual void mitk::ConcentrationCurveGenerator::SetDynamicImage ( const Image *  _arg)
virtual

Sets the input 4D dynamic MR signal image.

Parameters
[in]_argThe 4D dynamic image to convert.

◆ SetFactor()

virtual void mitk::ConcentrationCurveGenerator::SetFactor ( double  _arg)
virtual

Sets the conversion scaling factor (k).

Parameters
[in]_argThe scaling factor value.

◆ SetFlipAngle()

virtual void mitk::ConcentrationCurveGenerator::SetFlipAngle ( double  _arg)
virtual

Sets the flip angle in radians.

Parameters
[in]_argThe flip angle value.

◆ SetFlipAnglePDW()

virtual void mitk::ConcentrationCurveGenerator::SetFlipAnglePDW ( double  _arg)
virtual

Sets the flip angle of the proton density weighted (PDW) image in radians.

Parameters
[in]_argThe PDW flip angle value.

◆ SetisT2weightedImage()

virtual void mitk::ConcentrationCurveGenerator::SetisT2weightedImage ( bool  _arg)
virtual

Sets whether the input is a T2-weighted image.

Parameters
[in]_argTrue if the image is T2-weighted.

◆ SetisTurboFlashSequence()

virtual void mitk::ConcentrationCurveGenerator::SetisTurboFlashSequence ( bool  _arg)
virtual

Sets whether the input is a TurboFLASH sequence.

Parameters
[in]_argTrue if TurboFLASH conversion should be used.

◆ SetPDWImage()

virtual void mitk::ConcentrationCurveGenerator::SetPDWImage ( const Image *  _arg)
virtual

Sets the proton density weighted (PDW) map image for T1 mapping via variable flip angle.

Parameters
[in]_argThe 3D PDW image.

◆ SetRecoveryTime()

virtual void mitk::ConcentrationCurveGenerator::SetRecoveryTime ( double  _arg)
virtual

Sets the recovery time for TurboFLASH sequences.

Parameters
[in]_argThe recovery time value.

◆ SetRelativeSignalEnhancement()

virtual void mitk::ConcentrationCurveGenerator::SetRelativeSignalEnhancement ( bool  _arg)
virtual

Sets whether to use relative signal enhancement for conversion.

Parameters
[in]_argTrue to use relative signal enhancement.

◆ SetRelaxationTime()

virtual void mitk::ConcentrationCurveGenerator::SetRelaxationTime ( double  _arg)
virtual

Sets the pre-contrast T1 relaxation time (T10) in ms.

Parameters
[in]_argThe relaxation time value.

◆ SetRelaxivity()

virtual void mitk::ConcentrationCurveGenerator::SetRelaxivity ( double  _arg)
virtual

Sets the contrast agent relaxivity in 1/(mM*s).

Parameters
[in]_argThe relaxivity value.

◆ SetRepetitionTime()

virtual void mitk::ConcentrationCurveGenerator::SetRepetitionTime ( double  _arg)
virtual

Sets the repetition time (TR) in ms.

Parameters
[in]_argThe repetition time value.

◆ SetT2EchoTime()

virtual void mitk::ConcentrationCurveGenerator::SetT2EchoTime ( double  _arg)
virtual

Sets the echo time (TE) for T2-weighted conversion in ms.

Parameters
[in]_argThe echo time value.

◆ SetT2Factor()

virtual void mitk::ConcentrationCurveGenerator::SetT2Factor ( double  _arg)
virtual

Sets the T2* relaxivity factor for T2-weighted conversion.

Parameters
[in]_argThe T2 factor value.

◆ SetUsingT1Map()

virtual void mitk::ConcentrationCurveGenerator::SetUsingT1Map ( bool  _arg)
virtual

Sets whether to compute concentration via T1 mapping (variable flip angle method).

Parameters
[in]_argTrue to use T1 mapping conversion.

The documentation for this class was generated from the following file: