X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Freconstruct.h;h=293fe7bccccbe0bae6abf56e05e287b6b2e99a98;hp=5ab448ac40562a045847b9a13c3cef15bffc55ff;hb=f13a8c004b8f182b42d9e4df2bcd7c7f030bf1ad;hpb=9f29c8b32c972db1178d6f8551d5cd57ceb67083 diff --git a/include/reconstruct.h b/include/reconstruct.h index 5ab448a..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.4 2001/01/28 19:10:18 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 -{ -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 std::string& failMessage() const {return m_strFailMessage;} - - void plotFilter (SGP* pSGP = NULL); - - void reconstructAllViews (); +struct ReconstructionROI { + double m_dXMin; + double m_dYMin; + double m_dXMax; + double m_dYMax; +}; - void reconstructView (int iStartView = 0, int iViewCount = -1, SGP* pSGP = NULL, bool bBackprojectView = true); - +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, + 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