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