X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Freconstruct.h;h=82d89308579b1d863cdd45313a409d1a8c8905a7;hp=83d54762d5002c6742c0ca5ef35e08d8813405f5;hb=1a050c98763fbbc0662731b0b76953acede6f5d7;hpb=593439890a507e49b5a2a6fa4d463adca61d42c3 diff --git a/include/reconstruct.h b/include/reconstruct.h index 83d5476..82d8930 100644 --- a/include/reconstruct.h +++ b/include/reconstruct.h @@ -1,14 +1,14 @@ /***************************************************************************** ** 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.5 2001/01/29 23:11:32 kevin Exp $ +** $Id$ ** ** 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 +35,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, double dGraphWidth = 1.); - +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