dox/Imaging/vtkImageT2StarMap.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   vtkCNMRRLibrary
00004   Module:    $RCSfile: vtkImageT2StarMap.h,v $
00005 
00006   Copyright  2006  The Pennsylvania State University
00007   
00008                Notice
00009   
00010   The contents of this file are subject to The Pennsylvania State University 
00011   Open Source License (the "License"); you may not use this file except in 
00012   compliance with the License. You may obtain a copy of the License at H066 
00013   Radiology, NMR Building, 500 University Drive, Hershey, PA, 
00014   tel. (717) 531-6069 or via email at dcb210@psu.edu.
00015  
00016   Software distributed under the License is distributed on an "AS IS" basis, 
00017   WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
00018   for the specific language governing rights and limitations under the 
00019   License.
00020  
00021   The Original Code is listed under Exhibit A of the license.
00022  
00023   The Initial Developer of the Original Code is Don Bigler.
00024  
00025   Contributor(s):
00026  
00027   Alternatively, the contents of this file may be used under the terms of 
00028   the GNU general public license (the "GPL"), in which case the provisions 
00029   of GPL are applicable instead of those above. If you wish to allow use of 
00030   your version of this file only under the terms of the GPL and not to allow 
00031   others to use your version of this file under the License, indicate your 
00032   decision by deleting the provisions above and replace them with the notice 
00033   and other provisions required by the GPL. If you do not delete the 
00034   provisions above, a recipient may use your version of this file under 
00035   either the License or the GNU General Public License.
00036 
00037 =========================================================================*/
00038  
00104 #ifndef __vtkImageT2StarMap_h
00105 #define __vtkImageT2StarMap_h
00106 
00107 // Values used to select T2* fitting type.
00108 #define VTK_TTWOSTAR_LINEAR 0
00109 #define VTK_TTWOSTAR_NON_LINEAR 1
00110 #define VTK_TTWOSTAR_NON_LINEAR_WITH_CONSTANT 2
00111 #define VTK_TTWOSTAR_NON_LINEAR_SINC_MOD_THREE_PARAM 3
00112 #define VTK_TTWOSTAR_NON_LINEAR_SINC_MOD_THREE_PARAM_WITH_CONSTANT 4
00113 
00114 #include "vtkImageMultipleInputFilter.h"
00115 #include "vtkDoubleArray.h"
00116 #include "vtkCNMRRImagingWin32Header.h"
00117 
00118 class VTK_CNMRR_IMAGING_EXPORT vtkImageT2StarMap : public vtkImageMultipleInputFilter
00119 {
00120    public:
00121       static vtkImageT2StarMap *New();
00122       vtkTypeRevisionMacro(vtkImageT2StarMap,vtkImageMultipleInputFilter);
00123       void PrintSelf(ostream& os, vtkIndent indent);
00124             
00126       void SetEchoTimes(vtkDoubleArray *_arg);
00127    
00129       vtkDoubleArray *GetEchoTimes();
00130       
00132 
00133       vtkSetMacro(T2StarFitType,int);
00134       vtkGetMacro(T2StarFitType,int);
00135       void SetT2StarFitTypeToLinear() 
00136          {this->SetT2StarFitType(VTK_TTWOSTAR_LINEAR);};
00137       void SetT2StarFitTypeToNonLinear();
00138       void SetT2StarFitTypeToNonLinearWithConstant();
00139       void SetT2StarFitTypeToNonLinearSincModThreeParam();
00140       void SetT2StarFitTypeToNonLinearSincModThreeParamWithConstant();
00142       
00144 
00145       vtkSetMacro(SmartT2StarFiltering, int);
00146       vtkGetMacro(SmartT2StarFiltering, int);
00147       vtkBooleanMacro(SmartT2StarFiltering, int);
00149       
00151       void SetMaxT2StarTime(double time);
00152       
00154       double GetMaxT2StarTime();
00155       
00157 
00158       vtkSetMacro(PerformR2StarMapping, int);
00159       vtkGetMacro(PerformR2StarMapping, int);
00160       vtkBooleanMacro(PerformR2StarMapping, int);
00162       
00164 
00166       vtkSetMacro(Gamma, double);
00167       vtkGetMacro(Gamma, double);
00169    
00170    protected:
00171 
00172       vtkImageT2StarMap();
00173       ~vtkImageT2StarMap();
00174 
00175       void ExecuteInformation(vtkImageData **inputs, vtkImageData *output);
00176       void ExecuteInformation(){this->vtkImageMultipleInputFilter::ExecuteInformation();};
00177       
00178       void ThreadedExecute(vtkImageData **inDatas, vtkImageData *outData,
00179                      int extent[6], int id);
00180       
00181       void InitOutput(int outExt[6], vtkImageData *outData);
00182       
00183       vtkDoubleArray *EchoTimes;
00184       int T2StarFitType;
00185       int SmartT2StarFiltering;
00186       double MaxT2StarTime;
00187       int PerformR2StarMapping;
00188       double Gamma;
00189          
00190    private:
00191       vtkImageT2StarMap(const vtkImageT2StarMap&);  // Not implemented.
00192       void operator=(const vtkImageT2StarMap&);  // Not implemented.
00193 };
00194 
00195 #endif

Generated on Tue May 12 14:53:03 2009 for vtkCNMRRLibrary by  doxygen 1.4.7