diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2017-10-11 15:04:23 +0200 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2017-10-11 15:04:23 +0200 |
commit | 5ad3d86b6e2c39de7465186ec8702053a82b6152 (patch) | |
tree | 260caa74def1712bf1d0811789a2205e8c55e2fc /matlab/mex | |
parent | 90a0bd4962ae21413456b27e55382ba5223e1c10 (diff) | |
parent | 9c7d0f544b7a4dec54e9a75ea45b985ad7fac756 (diff) | |
download | astra-5ad3d86b6e2c39de7465186ec8702053a82b6152.tar.gz astra-5ad3d86b6e2c39de7465186ec8702053a82b6152.tar.bz2 astra-5ad3d86b6e2c39de7465186ec8702053a82b6152.tar.xz astra-5ad3d86b6e2c39de7465186ec8702053a82b6152.zip |
Merge branch 'master' into parallel_vec
Diffstat (limited to 'matlab/mex')
-rw-r--r-- | matlab/mex/astra_mex_algorithm_c.cpp | 4 | ||||
-rw-r--r-- | matlab/mex/astra_mex_projector3d_c.cpp | 12 | ||||
-rw-r--r-- | matlab/mex/astra_mex_projector_c.cpp | 12 |
3 files changed, 22 insertions, 6 deletions
diff --git a/matlab/mex/astra_mex_algorithm_c.cpp b/matlab/mex/astra_mex_algorithm_c.cpp index a9cd14b..f20f3a5 100644 --- a/matlab/mex/astra_mex_algorithm_c.cpp +++ b/matlab/mex/astra_mex_algorithm_c.cpp @@ -83,7 +83,7 @@ void astra_mex_algorithm_create(int nlhs, mxArray* plhs[], int nrhs, const mxArr CAlgorithm* pAlg = CAlgorithmFactory::getSingleton().create(cfg->self.getAttribute("type")); if (!pAlg) { delete cfg; - mexErrMsgTxt("Unknown algorithm. \n"); + mexErrMsgTxt("Unknown Algorithm. \n"); return; } @@ -91,7 +91,7 @@ void astra_mex_algorithm_create(int nlhs, mxArray* plhs[], int nrhs, const mxArr if (!pAlg->initialize(*cfg)) { delete cfg; delete pAlg; - mexErrMsgTxt("Algorithm not initialized. \n"); + mexErrMsgTxt("Unable to initialize Algorithm. \n"); return; } delete cfg; diff --git a/matlab/mex/astra_mex_projector3d_c.cpp b/matlab/mex/astra_mex_projector3d_c.cpp index 3135939..c5f2291 100644 --- a/matlab/mex/astra_mex_projector3d_c.cpp +++ b/matlab/mex/astra_mex_projector3d_c.cpp @@ -68,10 +68,18 @@ void astra_mex_projector3d_create(int nlhs, mxArray* plhs[], int nrhs, const mxA Config* cfg = structToConfig("Projector3D", prhs[1]); // create algorithm - CProjector3D* pProj = CProjector3DFactory::getSingleton().create(*cfg); + CProjector3D* pProj = CProjector3DFactory::getSingleton().create(cfg->self.getAttribute("type")); if (pProj == NULL) { delete cfg; - mexErrMsgTxt("Error creating Projector3D. \n"); + mexErrMsgTxt("Unknown Projector3D. \n"); + return; + } + + // create algorithm + if (!pProj->initialize(*cfg)) { + delete cfg; + delete pProj; + mexErrMsgTxt("Unable to initialize Projector3D. \n"); return; } delete cfg; diff --git a/matlab/mex/astra_mex_projector_c.cpp b/matlab/mex/astra_mex_projector_c.cpp index 36a5704..5c2ba72 100644 --- a/matlab/mex/astra_mex_projector_c.cpp +++ b/matlab/mex/astra_mex_projector_c.cpp @@ -77,10 +77,18 @@ void astra_mex_projector_create(int nlhs, mxArray* plhs[], int nrhs, const mxArr Config* cfg = structToConfig("Projector2D", prhs[1]); // create algorithm - CProjector2D* pProj = CProjector2DFactory::getSingleton().create(*cfg); + CProjector2D* pProj = CProjector2DFactory::getSingleton().create(cfg->self.getAttribute("type")); if (pProj == NULL) { delete cfg; - mexErrMsgTxt("Error creating projector. \n"); + mexErrMsgTxt("Unknown Projector2D. \n"); + return; + } + + // create algorithm + if (!pProj->initialize(*cfg)) { + delete cfg; + delete pProj; + mexErrMsgTxt("Unable to initialize Projector2D. \n"); return; } delete cfg; |