X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Freconstruct.h;h=293fe7bccccbe0bae6abf56e05e287b6b2e99a98;hp=54f19f0194a984fdb3e54b961a1d06ec987e5f80;hb=f13a8c004b8f182b42d9e4df2bcd7c7f030bf1ad;hpb=3f6c94c6bd432ad7b7a55ad991d3b8223fb44f18 diff --git a/include/reconstruct.h b/include/reconstruct.h index 54f19f0..293fe7b 100644 --- a/include/reconstruct.h +++ b/include/reconstruct.h @@ -1,14 +1,12 @@ /***************************************************************************** ** FILE IDENTIFICATION ** -** Name: reconstruct.h Header file for Reconstruction class +** 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-2001 Kevin Rosenberg -** -** $Id: reconstruct.h,v 1.6 2001/02/20 04:48:45 kevin Exp $ +** Copyright (c) 1983-2009 Kevin Rosenberg ** ** 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 @@ -35,34 +33,46 @@ class ProcessSignal; #include -class Reconstructor +struct ReconstructionROI { + double m_dXMin; + double m_dYMin; + double m_dXMax; + double m_dYMax; +}; + +class Reconstructor { private: - const Projections& m_rProj; + const Projections& m_rOriginalProj; + const Projections* m_pProj; ImageFile& m_rImagefile; ProcessSignal* m_pProcessSignal; Backprojector* m_pBackprojector; int m_nFilteredProjections; int m_iTrace; - + const bool m_bRebinToParallel; bool m_bFail; std::string m_strFailMessage; double* m_adPlotXAxis; 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 (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, + ReconstructionROI* pROI = NULL, bool bRebinToParallel = false, SGP* pSGP = NULL); ~Reconstructor (); bool fail() const {return m_bFail;} const std::string& failMessage() const {return m_strFailMessage;} - + void plotFilter (SGP* pSGP = NULL); void reconstructAllViews (); void reconstructView (int iStartView = 0, int iViewCount = -1, SGP* pSGP = NULL, bool bBackprojectView = true, double dGraphWidth = 1.); + void postProcessing (); }; #endif