1 #ifndef CTL_SPECTRALVOLUMEDATA_H 2 #define CTL_SPECTRALVOLUMEDATA_H 65 std::unique_ptr<SpectralVolumeData>
muVolume(
float centerEnergy,
float binWidth)
const;
103 void transformToDensity();
106 std::shared_ptr<AbstractIntegrableDataModel> _absorptionModel;
107 QString _materialName;
115 void changeReferenceEnergy(
float newReferenceEnergy);
116 void changeReferenceMassAttCoeff(
float newReferenceMassAttCoeff,
float correspondingRefEnergy);
117 void transformToAttenuationCoeff(
float referenceMassAttCoeff,
float correspondingRefEnergy);
122 #endif // CTL_SPECTRALVOLUMEDATA_H static SpectralVolumeData cylinderZ(float radius, float height, float voxelSize, float density, std::shared_ptr< AbstractIntegrableDataModel > absorptionModel)
Definition: spectralvolumedata.cpp:394
float meanMassAttenuationCoeff(float centerEnergy, float binWidth) const
Definition: spectralvolumedata.cpp:105
float _refEnergy
Reference energy corresponding to mu values.
Definition: spectralvolumedata.h:111
std::unique_ptr< SpectralVolumeData > densityVolume() const
Definition: spectralvolumedata.cpp:127
static SpectralVolumeData fromMuVolume(VoxelVolume< float > muValues, std::shared_ptr< AbstractIntegrableDataModel > absorptionModel, float referenceEnergy=50.0f)
Definition: spectralvolumedata.cpp:486
float massAttenuationCoeff(float atEnergy) const
Definition: spectralvolumedata.cpp:205
float _refMassAttenuationCoeff
Reference att. coeff. corresponding to mu values.
Definition: spectralvolumedata.h:112
float referenceMassAttenuationCoeff() const
Definition: spectralvolumedata.cpp:309
void setDensity(VoxelVolume< float > density)
Definition: spectralvolumedata.cpp:443
std::shared_ptr< AbstractIntegrableDataModel > absorptionModel() const
Definition: spectralvolumedata.cpp:94
The VoxelVolume class provides a simple container for storage of voxelized 3D volume data.
Definition: ctsystemview.h:14
bool _hasNonDefaultAbsModel
True if absorption model has been set explicitely.
Definition: spectralvolumedata.h:109
static SpectralVolumeData cube(uint nbVoxel, float voxelSize, float density, std::shared_ptr< AbstractIntegrableDataModel > absorptionModel)
Definition: spectralvolumedata.cpp:338
float referenceEnergy() const
Definition: spectralvolumedata.cpp:296
SpectralVolumeData(VoxelVolume< float > muValues)
Constructs a SpectralVolumeData representing the attenuation coefficients muValues (in 1/mm).
Definition: spectralvolumedata.cpp:22
bool hasSpectralInformation() const
Definition: spectralvolumedata.cpp:148
void replaceAbsorptionModel(AbstractIntegrableDataModel *absorptionModel)
Definition: spectralvolumedata.cpp:407
bool isDensityVolume() const
Definition: spectralvolumedata.cpp:177
const QString & materialName() const
Definition: spectralvolumedata.cpp:216
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
The SpectralVolumeData class holds voxelized data (for a single material) along with information on i...
Definition: spectralvolumedata.h:40
bool _isMu
True if voxel data represents att. coefficents.
Definition: spectralvolumedata.h:110
bool isMuVolume() const
Definition: spectralvolumedata.cpp:197
std::unique_ptr< SpectralVolumeData > muVolume(float referenceEnergy) const
Definition: spectralvolumedata.cpp:258
static SpectralVolumeData cylinderX(float radius, float height, float voxelSize, float density, std::shared_ptr< AbstractIntegrableDataModel > absorptionModel)
Definition: spectralvolumedata.cpp:356
void setMaterialName(const QString &name)
Definition: spectralvolumedata.cpp:456
static SpectralVolumeData fromHUVolume(VoxelVolume< float > HUValues, std::shared_ptr< AbstractIntegrableDataModel > absorptionModel, float referenceEnergy=50.0f)
Definition: spectralvolumedata.cpp:524
The AbstractIntegrableDataModel class is the base class for data models that provide a means to integ...
Definition: abstractdatamodel.h:110
const VoxelSize & voxelSize() const
Definition: voxelvolume.tpp:1062
static SpectralVolumeData cylinderY(float radius, float height, float voxelSize, float density, std::shared_ptr< AbstractIntegrableDataModel > absorptionModel)
Definition: spectralvolumedata.cpp:375
static SpectralVolumeData ball(float radius, float voxelSize, float density, std::shared_ptr< AbstractIntegrableDataModel > absorptionModel)
Definition: spectralvolumedata.cpp:325