X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Freconstruct.h;fp=include%2Freconstruct.h;h=422b6c98b8477b7ba34ded09a61da4e063efe2ee;hp=0000000000000000000000000000000000000000;hb=bfcc769cf8019eabc8c65c07257c8dbee4b4c977;hpb=a05f3cb550877e94aa118cc04b361c0c8fdb3dc3 diff --git a/include/reconstruct.h b/include/reconstruct.h new file mode 100644 index 0000000..422b6c9 --- /dev/null +++ b/include/reconstruct.h @@ -0,0 +1,68 @@ +/***************************************************************************** +** FILE IDENTIFICATION +** +** Name: reconstruct.h Header file for Reconstruction class +** Programmer: Kevin Rosenberg +** Date Started: Aug 84 +** +** This is part of the CTSim program +** Copyright (C) 1983-2000 Kevin Rosenberg +** +** $Id: reconstruct.h,v 1.1 2000/09/02 05:13:57 kevin Exp $ +** +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License (version 2) as +** published by the Free Software Foundation. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ + +#ifndef __RECONSTRUCT_H +#define __RECONSTRUCT_H + + +class Projections; +class ImageFile; +class Backprojector; +class ProcessSignal; + +#include + +class Reconstructor +{ +public: + Reconstructor (const Projections& rProj, ImageFile& rIF, const char* const filterName, double filt_param, const char* const filterMethodName, const int zeropad, const char* filterGenerationName, const char* const interpName, int interpFactor, const char* const backprojectName, const int trace, SGP* pSGP = NULL); + + ~Reconstructor (); + + bool fail() const {return m_bFail;} + const string& failMessage() const {return m_strFailMessage;} + + void plotFilter (SGP* pSGP = NULL); + + void reconstructAllViews (); + + void reconstructView (int iStartView = 0, int iViewCount = -1, SGP* pSGP = NULL); + + private: + const Projections& m_rProj; + ImageFile& m_rImagefile; + ProcessSignal* m_pProcessSignal; + Backprojector* m_pBackprojector; + int m_nFilteredProjections; + int m_iTrace; + + bool m_bFail; + string m_strFailMessage; + + double* m_adPlotXAxis; +}; + +#endif