您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ASTRA_ASSERT函数代码示例

51自学网 2021-06-01 19:38:11
  C++
这篇教程C++ ASTRA_ASSERT函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ASTRA_ASSERT函数的典型用法代码示例。如果您正苦于以下问题:C++ ASTRA_ASSERT函数的具体用法?C++ ASTRA_ASSERT怎么用?C++ ASTRA_ASSERT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ASTRA_ASSERT函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ASTRA_ASSERT

//----------------------------------------------------------------------------------------// Iteratevoid CCudaFDKAlgorithm3D::run(int _iNrIterations){	// check initialized	ASTRA_ASSERT(m_bIsInitialized);	CFloat32ProjectionData3D* pSinoMem = dynamic_cast<CFloat32ProjectionData3D*>(m_pSinogram);	ASTRA_ASSERT(pSinoMem);	CFloat32VolumeData3D* pReconMem = dynamic_cast<CFloat32VolumeData3D*>(m_pReconstruction);	ASTRA_ASSERT(pReconMem);	const float *filter = NULL;	if (m_iFilterDataId != -1) {		const CFloat32ProjectionData2D *pFilterData = dynamic_cast<CFloat32ProjectionData2D*>(CData2DManager::getSingleton().get(m_iFilterDataId));		if (pFilterData)			filter = pFilterData->getDataConst();	}#if 0	bool ok = true;		ok = astraCudaFDK(pReconMem->getData(), pSinoMem->getDataConst(),	                  &volgeom, conegeom,	                  m_bShortScan, m_iGPUIndex, m_iVoxelSuperSampling, filter);	ASTRA_ASSERT(ok);#endif	CCompositeGeometryManager cgm;	cgm.doFDK(m_pProjector, pReconMem, pSinoMem, m_bShortScan, filter);}
开发者ID:astra-toolbox,项目名称:astra-toolbox,代码行数:36,


示例2: ASTRA_ASSERT

void CConeProjectionGeometry3D::projectPoint(float32 fX, float32 fY, float32 fZ,                                                 int iAngleIndex,                                                 float32 &fU, float32 &fV) const{	ASTRA_ASSERT(iAngleIndex >= 0);	ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);	float alpha = m_pfProjectionAngles[iAngleIndex];	// Project point onto optical axis	// Projector direction is (cos(alpha), sin(alpha))	// Vector source->origin is (-sin(alpha), cos(alpha))	// Distance from source, projected on optical axis	float fD = -sin(alpha) * fX + cos(alpha) * fY + m_fOriginSourceDistance;	// Scale fZ to detector plane	fV = detectorOffsetYToRowIndexFloat( (fZ * (m_fOriginSourceDistance + m_fOriginDetectorDistance)) / fD );	// Orthogonal distance in XY-plane to optical axis	float fS = cos(alpha) * fX + sin(alpha) * fY;	// Scale fS to detector plane	fU = detectorOffsetXToColIndexFloat( (fS * (m_fOriginSourceDistance + m_fOriginDetectorDistance)) / fD );	ASTRA_DEBUG("alpha: %f, D: %f, V: %f, S: %f, U: %f", alpha, fD, fV, fS, fU);}
开发者ID:eureka3,项目名称:astra-toolbox,代码行数:30,


示例3: ASTRA_ASSERT

//----------------------------------------------------------------------------------------// Initializes an instance of the CFloat32Data2D class, allocating (but not initializing) the data block.bool CFloat32Data3DMemory::_initialize(int _iWidth, int _iHeight, int _iDepth){	// basic checks	ASTRA_ASSERT(_iWidth > 0);	ASTRA_ASSERT(_iHeight > 0);	ASTRA_ASSERT(_iDepth > 0);	if (m_bInitialized)	{		_unInit();	}		// calculate size	m_iWidth = _iWidth;	m_iHeight = _iHeight;	m_iDepth = _iDepth;	m_iSize = (size_t)m_iWidth * m_iHeight * m_iDepth;	// allocate memory for the data, but do not fill it	m_pfData = NULL;	m_pCustomMemory = 0;	_allocateData();	// initialization complete	return true;}
开发者ID:astra-toolbox,项目名称:astra-toolbox,代码行数:29,


示例4: ASTRA_ASSERT

//----------------------------------------------------------------------------------------// Iteratevoid CCudaFDKAlgorithm3D::run(int _iNrIterations){	// check initialized	ASTRA_ASSERT(m_bIsInitialized);	const CProjectionGeometry3D* projgeom = m_pSinogram->getGeometry();	const CConeProjectionGeometry3D* conegeom = dynamic_cast<const CConeProjectionGeometry3D*>(projgeom);	const CVolumeGeometry3D& volgeom = *m_pReconstruction->getGeometry();	ASTRA_ASSERT(conegeom);	CFloat32ProjectionData3DMemory* pSinoMem = dynamic_cast<CFloat32ProjectionData3DMemory*>(m_pSinogram);	ASTRA_ASSERT(pSinoMem);	CFloat32VolumeData3DMemory* pReconMem = dynamic_cast<CFloat32VolumeData3DMemory*>(m_pReconstruction);	ASTRA_ASSERT(pReconMem);	bool ok = true;	ok = astraCudaFDK(pReconMem->getData(), pSinoMem->getDataConst(),	                  &volgeom, conegeom,	                  m_bShortScan, m_iGPUIndex, m_iVoxelSuperSampling);	ASTRA_ASSERT(ok);}
开发者ID:PhysikerErlangen,项目名称:astra-toolbox,代码行数:28,


示例5: ASTRA_ASSERT

//----------------------------------------------------------------------------------------// Iteratevoid CCudaBackProjectionAlgorithm3D::run(int _iNrIterations){	// check initialized	ASTRA_ASSERT(m_bIsInitialized);	CFloat32ProjectionData3DMemory* pSinoMem = dynamic_cast<CFloat32ProjectionData3DMemory*>(m_pSinogram);	ASTRA_ASSERT(pSinoMem);	CFloat32VolumeData3DMemory* pReconMem = dynamic_cast<CFloat32VolumeData3DMemory*>(m_pReconstruction);	ASTRA_ASSERT(pReconMem);	const CProjectionGeometry3D* projgeom = pSinoMem->getGeometry();	const CVolumeGeometry3D& volgeom = *pReconMem->getGeometry();	if (m_bSIRTWeighting) {		astraCudaBP_SIRTWeighted(pReconMem->getData(),		                         pSinoMem->getDataConst(),		                         &volgeom, projgeom,		                         m_iGPUIndex, m_iVoxelSuperSampling);	} else {#if 1		CCompositeGeometryManager cgm;		cgm.doBP(m_pProjector, pReconMem, pSinoMem);#else		astraCudaBP(pReconMem->getData(), pSinoMem->getDataConst(),		            &volgeom, projgeom,		            m_iGPUIndex, m_iVoxelSuperSampling);#endif	}}
开发者ID:PhysikerErlangen,项目名称:astra-toolbox,代码行数:34,


示例6: ASTRA_ASSERT

//---------------------------------------------------------------------------------------// Initialize - Configbool CSirtAlgorithm::initialize(const Config& _cfg){	ASTRA_ASSERT(_cfg.self);	ConfigStackCheck<CAlgorithm> CC("SirtAlgorithm", this, _cfg);	// if already initialized, clear first	if (m_bIsInitialized) {		clear();	}	// initialization of parent class	if (!CSartAlgorithm::initialize(_cfg)) {		return false;	}	//// init data objects and data projectors	//_init();	//// Alpha	//m_fAlpha = _cfg.self.getOptionNumerical("Alpha", m_fAlpha);	//CC.markOptionParsed("Alpha");	// success	m_bIsInitialized = _check();	return m_bIsInitialized;}
开发者ID:mohamedadaly,项目名称:TRex,代码行数:28,


示例7: ASTRA_ASSERT

//---------------------------------------------------------------------------------------// Initialize - Configbool CConeVecProjectionGeometry3D::initialize(const Config& _cfg){	ASTRA_ASSERT(_cfg.self);	ConfigStackCheck<CProjectionGeometry3D> CC("ConeVecProjectionGeometry3D", this, _cfg);		XMLNode* node;	// TODO: Fix up class hierarchy... this class doesn't fit very well.	// initialization of parent class	//CProjectionGeometry3D::initialize(_cfg);	// Required: DetectorRowCount	node = _cfg.self->getSingleNode("DetectorRowCount");	ASTRA_CONFIG_CHECK(node, "ConeVecProjectionGeometry3D", "No DetectorRowCount tag specified.");	m_iDetectorRowCount = boost::lexical_cast<int>(node->getContent());	ASTRA_DELETE(node);	CC.markNodeParsed("DetectorRowCount");	// Required: DetectorColCount	node = _cfg.self->getSingleNode("DetectorColCount");	ASTRA_CONFIG_CHECK(node, "ConeVecProjectionGeometry3D", "No DetectorColCount tag specified.");	m_iDetectorColCount = boost::lexical_cast<int>(node->getContent());	m_iDetectorTotCount = m_iDetectorRowCount * m_iDetectorColCount;	ASTRA_DELETE(node);	CC.markNodeParsed("DetectorColCount");	// Required: Vectors	node = _cfg.self->getSingleNode("Vectors");	ASTRA_CONFIG_CHECK(node, "ConeVecProjectionGeometry3D", "No Vectors tag specified.");	vector<double> data = node->getContentNumericalArrayDouble();	CC.markNodeParsed("Vectors");	ASTRA_DELETE(node);	ASTRA_CONFIG_CHECK(data.size() % 12 == 0, "ConeVecProjectionGeometry3D", "Vectors doesn't consist of 12-tuples.");	m_iProjectionAngleCount = data.size() / 12;	m_pProjectionAngles = new SConeProjection[m_iProjectionAngleCount];	for (int i = 0; i < m_iProjectionAngleCount; ++i) {		SConeProjection& p = m_pProjectionAngles[i];		p.fSrcX  = data[12*i +  0];		p.fSrcY  = data[12*i +  1];		p.fSrcZ  = data[12*i +  2];		p.fDetUX = data[12*i +  6];		p.fDetUY = data[12*i +  7];		p.fDetUZ = data[12*i +  8];		p.fDetVX = data[12*i +  9];		p.fDetVY = data[12*i + 10];		p.fDetVZ = data[12*i + 11];		// The backend code currently expects the corner of the detector, while		// the matlab interface supplies the center		p.fDetSX = data[12*i +  3] - 0.5f * m_iDetectorRowCount * p.fDetVX - 0.5f * m_iDetectorColCount * p.fDetUX;		p.fDetSY = data[12*i +  4] - 0.5f * m_iDetectorRowCount * p.fDetVY - 0.5f * m_iDetectorColCount * p.fDetUY;		p.fDetSZ = data[12*i +  5] - 0.5f * m_iDetectorRowCount * p.fDetVZ - 0.5f * m_iDetectorColCount * p.fDetUZ;	}	// success	m_bInitialized = _check();	return m_bInitialized;}
开发者ID:viktorrulev,项目名称:gem_optical_tomography,代码行数:61,


示例8: ASTRA_ASSERT

//---------------------------------------------------------------------------------------// Initialize - Configbool CCudaBackProjectionAlgorithm3D::initialize(const Config& _cfg){	ASTRA_ASSERT(_cfg.self);	ConfigStackCheck<CAlgorithm> CC("CudaBackProjectionAlgorithm3D", this, _cfg);		// if already initialized, clear first	if (m_bIsInitialized) {		clear();	}	// initialization of parent class	if (!CReconstructionAlgorithm3D::initialize(_cfg)) {		return false;	}	CCudaProjector3D* pCudaProjector = 0;	pCudaProjector = dynamic_cast<CCudaProjector3D*>(m_pProjector);	if (!pCudaProjector) {		// TODO: Report	}	m_iGPUIndex = (int)_cfg.self.getOptionNumerical("GPUindex", -1);	CC.markOptionParsed("GPUindex");	m_iVoxelSuperSampling = 1;	if (pCudaProjector)		m_iVoxelSuperSampling = pCudaProjector->getVoxelSuperSampling();	m_iVoxelSuperSampling = (int)_cfg.self.getOptionNumerical("VoxelSuperSampling", m_iVoxelSuperSampling);	CC.markOptionParsed("VoxelSuperSampling");	CFloat32ProjectionData3DMemory* pSinoMem = dynamic_cast<CFloat32ProjectionData3DMemory*>(m_pSinogram);	ASTRA_ASSERT(pSinoMem);	const CProjectionGeometry3D* projgeom = pSinoMem->getGeometry();const CParallelProjectionGeometry3D* par3dgeom = dynamic_cast<const CParallelProjectionGeometry3D*>(projgeom);	const CParallelVecProjectionGeometry3D* parvec3dgeom = dynamic_cast<const CParallelVecProjectionGeometry3D*>(projgeom);	if (parvec3dgeom || par3dgeom) {		// This option is only supported for Par3D currently		m_bSIRTWeighting = _cfg.self.getOptionBool("SIRTWeighting", false);		CC.markOptionParsed("SIRTWeighting");	}	// success	m_bIsInitialized = _check();	return m_bIsInitialized;}
开发者ID:malenie,项目名称:astra-toolbox,代码行数:48,


示例9: ASTRA_ASSERT

void CParallelVecProjectionGeometry3D::backprojectPointZ(int iAngleIndex, double fU, double fV,	                               double fZ, double &fX, double &fY) const{	ASTRA_ASSERT(iAngleIndex >= 0);	ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);	SPar3DProjection &proj = m_pProjectionAngles[iAngleIndex];	double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;	double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;	double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;	double a = (fZ - pz) / proj.fRayZ;	fX = px + a * proj.fRayX;	fY = py + a * proj.fRayY;}
开发者ID:buzmakov,项目名称:astra-toolbox,代码行数:17,


示例10: ASTRA_ASSERT

void CConeVecProjectionGeometry3D::backprojectPointZ(int iAngleIndex, double fU, double fV,	                               double fZ, double &fX, double &fY) const{	ASTRA_ASSERT(iAngleIndex >= 0);	ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);	SConeProjection &proj = m_pProjectionAngles[iAngleIndex];	double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;	double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;	double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;	double a = (fZ - proj.fSrcZ) / (pz - proj.fSrcZ);	fX = proj.fSrcX + a * (px - proj.fSrcX);	fY = proj.fSrcY + a * (py - proj.fSrcY);}
开发者ID:iceseismic,项目名称:astra-toolbox,代码行数:17,


示例11: ASTRA_ASSERT

//----------------------------------------------------------------------------------------// Initialization with a Config objectbool CProjectionGeometry2D::initialize(const Config& _cfg){	ASTRA_ASSERT(_cfg.self);	ConfigStackCheck<CProjectionGeometry2D> CC("ProjectionGeometry2D", this, _cfg);		// uninitialize if the object was initialized before	if (m_bInitialized)	{		clear();	}	// Required: DetectorWidth	XMLNode* node = _cfg.self->getSingleNode("DetectorWidth");	ASTRA_CONFIG_CHECK(node, "ProjectionGeometry2D", "No DetectorWidth tag specified.");	m_fDetectorWidth = boost::lexical_cast<float32>(node->getContent());	ASTRA_DELETE(node);	CC.markNodeParsed("DetectorWidth");	// Required: DetectorCount	node = _cfg.self->getSingleNode("DetectorCount");	ASTRA_CONFIG_CHECK(node, "ProjectionGeometry2D", "No DetectorCount tag specified.");	m_iDetectorCount = boost::lexical_cast<int>(node->getContent());	ASTRA_DELETE(node);	CC.markNodeParsed("DetectorCount");	// Required: ProjectionAngles	node = _cfg.self->getSingleNode("ProjectionAngles");	ASTRA_CONFIG_CHECK(node, "ProjectionGeometry2D", "No ProjectionAngles tag specified.");	vector<float32> angles = node->getContentNumericalArray();	delete node;	m_iProjectionAngleCount = angles.size();	ASTRA_CONFIG_CHECK(m_iProjectionAngleCount > 0, "ProjectionGeometry2D", "Not enough ProjectionAngles specified.");	m_pfProjectionAngles = new float32[m_iProjectionAngleCount];	for (int i = 0; i < m_iProjectionAngleCount; i++) {		m_pfProjectionAngles[i] = angles[i];	}	CC.markNodeParsed("ProjectionAngles");	vector<float32> offset = _cfg.self->getOptionNumericalArray("ExtraDetectorOffset");	m_pfExtraDetectorOffset = new float32[m_iProjectionAngleCount];	if (offset.size() == (size_t)m_iProjectionAngleCount) {		for (int i = 0; i < m_iProjectionAngleCount; i++) {			m_pfExtraDetectorOffset[i] = offset[i];		}	} else {		for (int i = 0; i < m_iProjectionAngleCount; i++) {			m_pfExtraDetectorOffset[i] = 0.0f;		}		}	CC.markOptionParsed("ExtraDetectorOffset");	// some checks	ASTRA_CONFIG_CHECK(m_iDetectorCount > 0, "ProjectionGeometry2D", "DetectorCount should be positive.");	ASTRA_CONFIG_CHECK(m_fDetectorWidth > 0.0f, "ProjectionGeometry2D", "DetectorWidth should be positive.");	ASTRA_CONFIG_CHECK(m_pfProjectionAngles != NULL, "ProjectionGeometry2D", "ProjectionAngles not initialized");	// Interface class, so don't return true	return false;}
开发者ID:valeriysokolov,项目名称:astra-toolbox,代码行数:60,


示例12: vOutput

CVector3D CFanFlatVecProjectionGeometry2D::getProjectionDirection(int _iProjectionIndex, int _iDetectorIndex /* = 0 */){	CVector3D vOutput(0.0f, 0.0f, 0.0f);	// not implemented	ASTRA_ASSERT(false);	return vOutput;}
开发者ID:astra-toolbox,项目名称:astra-toolbox,代码行数:9,


示例13: vOutput

//----------------------------------------------------------------------------------------CVector3D CSparseMatrixProjectionGeometry2D::getProjectionDirection(int _iProjectionIndex, int _iDetectorIndex){	CVector3D vOutput(0.0f, 0.0f, 0.0f);	// not implemented, yet	ASTRA_ASSERT(false);	return vOutput;}
开发者ID:astra-toolbox,项目名称:astra-toolbox,代码行数:10,


示例14: ASTRA_ASSERT

void CConeVecProjectionGeometry3D::projectPoint(float32 fX, float32 fY, float32 fZ,                                                 int iAngleIndex,                                                 float32 &fU, float32 &fV) const{	ASTRA_ASSERT(iAngleIndex >= 0);	ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);	double fUX, fUY, fUZ, fUC;	double fVX, fVY, fVZ, fVC;	double fDX, fDY, fDZ, fDC;	computeBP_UV_Coeffs(m_pProjectionAngles[iAngleIndex],	                    fUX, fUY, fUZ, fUC, fVX, fVY, fVZ, fVC, fDX, fDY, fDZ, fDC);	// The -0.5f shifts from corner to center of detector pixels	double fD = fDX*fX + fDY*fY + fDZ*fZ + fDC;	fU = (fUX*fX + fUY*fY + fUZ*fZ + fUC) / fD - 0.5f;	fV = (fVX*fX + fVY*fY + fVZ*fZ + fVC) / fD - 0.5f;}
开发者ID:eureka3,项目名称:astra-toolbox,代码行数:19,


示例15: ASTRA_ASSERT

//---------------------------------------------------------------------------------------// Initialize - Configbool CCudaForwardProjectionAlgorithm::initialize(const Config& _cfg){	ASTRA_ASSERT(_cfg.self);	ConfigStackCheck<CAlgorithm> CC("CudaForwardProjectionAlgorithm", this, _cfg);	// Projector	XMLNode node = _cfg.self.getSingleNode("ProjectorId");	CCudaProjector2D* pCudaProjector = 0;	if (node) {		int id = boost::lexical_cast<int>(node.getContent());		CProjector2D *projector = CProjector2DManager::getSingleton().get(id);		pCudaProjector = dynamic_cast<CCudaProjector2D*>(projector);		if (!pCudaProjector) {			ASTRA_WARN("non-CUDA Projector2D passed to FP_CUDA");		}	}	CC.markNodeParsed("ProjectorId");		// sinogram data	node = _cfg.self.getSingleNode("ProjectionDataId");	ASTRA_CONFIG_CHECK(node, "FP_CUDA", "No ProjectionDataId tag specified.");	int id = boost::lexical_cast<int>(node.getContent());	m_pSinogram = dynamic_cast<CFloat32ProjectionData2D*>(CData2DManager::getSingleton().get(id));	CC.markNodeParsed("ProjectionDataId");	// volume data	node = _cfg.self.getSingleNode("VolumeDataId");	ASTRA_CONFIG_CHECK(node, "FP_CUDA", "No VolumeDataId tag specified.");	id = boost::lexical_cast<int>(node.getContent());	m_pVolume = dynamic_cast<CFloat32VolumeData2D*>(CData2DManager::getSingleton().get(id));	CC.markNodeParsed("VolumeDataId");	// GPU number	m_iGPUIndex = (int)_cfg.self.getOptionNumerical("GPUindex", -1);	m_iGPUIndex = (int)_cfg.self.getOptionNumerical("GPUIndex", m_iGPUIndex);	CC.markOptionParsed("GPUindex");	if (!_cfg.self.hasOption("GPUindex"))		CC.markOptionParsed("GPUIndex");	// Detector supersampling factor	m_iDetectorSuperSampling = 1;	if (pCudaProjector) {		// New interface		m_iDetectorSuperSampling = pCudaProjector->getDetectorSuperSampling();	}	// Deprecated option	m_iDetectorSuperSampling = (int)_cfg.self.getOptionNumerical("DetectorSuperSampling", m_iDetectorSuperSampling);	CC.markOptionParsed("DetectorSuperSampling");	// return success	return check();}
开发者ID:malenie,项目名称:astra-toolbox,代码行数:57,


示例16: ASTRA_ASSERT

//----------------------------------------------------------------------------------------// Iteratevoid CCudaDartMaskAlgorithm::run(int _iNrIterations){	// check initialized	ASTRA_ASSERT(m_bIsInitialized);	const CVolumeGeometry2D& volgeom = *m_pSegmentation->getGeometry();	unsigned int width = volgeom.getGridColCount();	unsigned int height = volgeom.getGridRowCount();	astraCUDA::setGPUIndex(m_iGPUIndex);	astraCUDA::dartMask(m_pMask->getData(), m_pSegmentation->getDataConst(), m_iConn, m_iRadius, m_iThreshold, width, height);}
开发者ID:PhysikerErlangen,项目名称:astra-toolbox,代码行数:14,


示例17: ASTRA_ASSERT

//---------------------------------------------------------------------------------------// Initialize, use a Config objectbool CForwardProjectionAlgorithm::initialize(const Config& _cfg){	ASTRA_ASSERT(_cfg.self);	// if already initialized, clear first	if (m_bIsInitialized) {		clear();	}	// projector	XMLNode node = _cfg.self.getSingleNode("ProjectorId");	ASTRA_CONFIG_CHECK(node, "ForwardProjection", "No ProjectorId tag specified.");	int id;	id = StringUtil::stringToInt(node.getContent(), -1);	m_pProjector = CProjector2DManager::getSingleton().get(id);	// sinogram data	node = _cfg.self.getSingleNode("ProjectionDataId");	ASTRA_CONFIG_CHECK(node, "ForwardProjection", "No ProjectionDataId tag specified.");	id = StringUtil::stringToInt(node.getContent(), -1);	m_pSinogram = dynamic_cast<CFloat32ProjectionData2D*>(CData2DManager::getSingleton().get(id));	// volume data	node = _cfg.self.getSingleNode("VolumeDataId");	ASTRA_CONFIG_CHECK(node, "ForwardProjection", "No VolumeDataId tag specified.");	id = StringUtil::stringToInt(node.getContent(), -1);	m_pVolume = dynamic_cast<CFloat32VolumeData2D*>(CData2DManager::getSingleton().get(id));		// volume mask	if (_cfg.self.hasOption("VolumeMaskId")) {		m_bUseVolumeMask = true;		id = StringUtil::stringToInt(_cfg.self.getOption("VolumeMaskId"), -1);		m_pVolumeMask = dynamic_cast<CFloat32VolumeData2D*>(CData2DManager::getSingleton().get(id));	}	// sino mask	if (_cfg.self.hasOption("SinogramMaskId")) {		m_bUseSinogramMask = true;		id = StringUtil::stringToInt(_cfg.self.getOption("SinogramMaskId"), -1);		m_pSinogramMask = dynamic_cast<CFloat32ProjectionData2D*>(CData2DManager::getSingleton().get(id));	}	// ray or voxel-driven projector?	//m_bUseVoxelProjector = _cfg.self->getOptionBool("VoxelDriven", false);	// init data projector	_init();	// return success	m_bIsInitialized = _check();	return m_bIsInitialized;}
开发者ID:astra-toolbox,项目名称:astra-toolbox,代码行数:54,


示例18: ASTRA_ASSERT

//----------------------------------------------------------------------------------------// Iteratevoid CCudaDartSmoothingAlgorithm::run(int _iNrIterations){	// check initialized	ASTRA_ASSERT(m_bIsInitialized);	const CVolumeGeometry2D& volgeom = *m_pIn->getGeometry();	unsigned int width = volgeom.getGridColCount();	unsigned int height = volgeom.getGridRowCount();	astraCUDA::setGPUIndex(m_iGPUIndex);		astraCUDA::dartSmoothing(m_pOut->getData(), m_pIn->getDataConst(), m_fB, m_iRadius, width, height);}
开发者ID:PhysikerErlangen,项目名称:astra-toolbox,代码行数:15,


示例19: ASTRA_ASSERT

//---------------------------------------------------------------------------------------// Initialize - Configbool CParallelProjectionGeometry2D::initialize(const Config& _cfg){	ASTRA_ASSERT(_cfg.self);	ConfigStackCheck<CProjectionGeometry2D> CC("ParallelProjectionGeometry2D", this, _cfg);		// initialization of parent class	CProjectionGeometry2D::initialize(_cfg);	// success	m_bInitialized = _check();	return m_bInitialized;}
开发者ID:AnderBiguri,项目名称:astra-toolbox,代码行数:15,


示例20: ASTRA_ASSERT

//----------------------------------------------------------------------------------------// Iteratevoid CCudaDartSmoothingAlgorithm3D::run(int _iNrIterations){	// check initialized	ASTRA_ASSERT(m_bIsInitialized);	const CVolumeGeometry3D& volgeom = *m_pIn->getGeometry();	astraCUDA3d::SDimensions3D dims;	dims.iVolX = volgeom.getGridColCount();	dims.iVolY = volgeom.getGridRowCount();	dims.iVolZ = volgeom.getGridSliceCount();	astraCUDA3d::setGPUIndex(m_iGPUIndex);	astraCUDA3d::dartSmoothing(m_pOut->getData(), m_pIn->getDataConst(), m_fB, m_iRadius, dims);}
开发者ID:PhysikerErlangen,项目名称:astra-toolbox,代码行数:16,



注:本文中的ASTRA_ASSERT函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ASTRDUP函数代码示例
C++ ASTNode_free函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。