MCPcopy Create free account
hub / github.com/astra-toolbox/astra-toolbox / initialize

Method initialize

src/ForwardProjectionAlgorithm.cpp:101–140  ·  view source on GitHub ↗

--------------------------------------------------------------------------------------- Initialize, use a Config object

Source from the content-addressed store, hash-verified

99//---------------------------------------------------------------------------------------
100// Initialize, use a Config object
101bool CForwardProjectionAlgorithm::initialize(const Config& _cfg)
102{
103 assert(!m_bIsInitialized);
104
105 ConfigReader<CAlgorithm> CR("ForwardProjectionAlgorithm", this, _cfg);
106
107 bool ok = true;
108 int id = -1;
109
110 ok &= CR.getRequiredID("ProjectorId", id);
111 m_pProjector = CProjector2DManager::getSingleton().get(id);
112 if (!m_pProjector) {
113 ASTRA_ERROR("ProjectorId is not a valid id");
114 return false;
115 }
116
117 ok &= CR.getRequiredID("ProjectionDataId", id);
118 m_pSinogram = dynamic_cast<CFloat32ProjectionData2D*>(CData2DManager::getSingleton().get(id));
119
120 ok &= CR.getRequiredID("VolumeDataId", id);
121 m_pVolume = dynamic_cast<CFloat32VolumeData2D*>(CData2DManager::getSingleton().get(id));
122
123 if (!ok)
124 return false;
125
126
127 if (CR.getOptionID("VolumeMaskId", id)) {
128 m_bUseVolumeMask = true;
129 m_pVolumeMask = dynamic_cast<CFloat32VolumeData2D*>(CData2DManager::getSingleton().get(id));
130 }
131
132 if (CR.getOptionID("SinogramMaskId", id)) {
133 m_bUseSinogramMask = true;
134 m_pSinogramMask = dynamic_cast<CFloat32ProjectionData2D*>(CData2DManager::getSingleton().get(id));
135 }
136
137 // return success
138 m_bIsInitialized = _check();
139 return m_bIsInitialized;
140}
141
142//----------------------------------------------------------------------------------------
143// Initialize

Callers

nothing calls this directly

Calls 3

getRequiredIDMethod · 0.80
getMethod · 0.80
getOptionIDMethod · 0.80

Tested by

no test coverage detected