dox/Filtering/vtkImageAutoThresholdColocalization.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   BioImageXD
00004   Module:    $RCSfile: vtkImageAutoThresholdColocalization.h,v $
00005 
00006  Copyright (C) 2005  BioImageXD Project
00007  See CREDITS.txt for details
00008 
00009  This program is free software; you can redistribute it and/or modify
00010  it under the terms of the GNU General Public License as published by
00011  the Free Software Foundation; either version 2 of the License, or
00012  (at your option) any later version.
00013 
00014  This program is distributed in the hope that it will be useful,
00015  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  GNU General Public License for more details.
00018 
00019  You should have received a copy of the GNU General Public License
00020  along with this program; if not, write to the Free Software
00021  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 
00023 =========================================================================*/
00037 #ifndef __vtkImageAutoThresholdColocalization_h
00038 #define __vtkImageAutoThresholdColocalization_h
00039 
00040 
00041 #include "vtkImageMultipleInputOutputFilter.h"
00042 
00043 class VTK_FILTERING_EXPORT vtkImageAutoThresholdColocalization : public vtkImageMultipleInputOutputFilter
00044 {
00045 public:
00046   static vtkImageAutoThresholdColocalization *New();
00047   vtkTypeRevisionMacro(vtkImageAutoThresholdColocalization,vtkImageMultipleInputOutputFilter);
00048   void PrintSelf(ostream& os, vtkIndent indent);
00049 
00050 
00052 
00053   vtkGetMacro(IncludeZeroPixels,bool);
00054   vtkSetMacro(IncludeZeroPixels,bool);
00056 
00058 
00059   vtkGetMacro(ConstantVoxelValue,int);
00060   vtkSetMacro(ConstantVoxelValue,int);
00062 
00064 
00066   vtkGetMacro(PearsonWholeImage,double);
00067   vtkSetMacro(PearsonWholeImage,double);
00068   vtkGetMacro(PearsonImageAbove,double);
00069   vtkSetMacro(PearsonImageAbove,double);
00070   vtkGetMacro(PearsonImageBelow,double);
00071   vtkSetMacro(PearsonImageBelow,double);
00073   
00075 
00077   vtkGetMacro(M1,double);
00078   vtkSetMacro(M1,double);
00079   vtkGetMacro(M2,double);
00080   vtkSetMacro(M2,double);
00081   // Description:
00082   // Overlap coefficients k1 and k2
00084 
00085   vtkGetMacro(K1,double);
00086   vtkSetMacro(K1,double);
00087   vtkGetMacro(K2,double);
00088   vtkSetMacro(K2,double);
00090 
00091   vtkGetMacro(ThresholdM1,double);
00092   vtkSetMacro(ThresholdM1,double);
00093   vtkGetMacro(ThresholdM2,double);
00094   vtkSetMacro(ThresholdM2,double);
00096       
00098 
00099   vtkGetMacro(C1,double);
00100   vtkSetMacro(C1,double);
00101   vtkGetMacro(C2,double);
00102   vtkSetMacro(C2,double);  
00104       
00106 
00107   vtkGetMacro(PercentageVolumeCh1,double);
00108   vtkSetMacro(PercentageVolumeCh1,double);
00109   vtkGetMacro(PercentageVolumeCh2,double);
00110   vtkSetMacro(PercentageVolumeCh2,double);
00112 
00114 
00115   vtkGetMacro(PercentageTotalCh1,double);
00116   vtkSetMacro(PercentageTotalCh1,double);
00117   vtkGetMacro(PercentageTotalCh2,double);
00118   vtkSetMacro(PercentageTotalCh2,double);
00120       
00122 
00123   vtkGetMacro(PercentageMaterialCh1,double);
00124   vtkSetMacro(PercentageMaterialCh1,double);
00125   vtkGetMacro(PercentageMaterialCh2,double);
00126   vtkSetMacro(PercentageMaterialCh2,double);  
00128 
00130 
00131   vtkGetMacro(Ch1ThresholdMax,double);
00132   vtkSetMacro(Ch1ThresholdMax,double);
00133   vtkGetMacro(Ch2ThresholdMax,double);
00134   vtkSetMacro(Ch2ThresholdMax,double);  
00136       
00138 
00139   vtkGetMacro(SumOverThresholdCh1,double);
00140   vtkSetMacro(SumOverThresholdCh1,double);
00141   vtkGetMacro(SumOverThresholdCh2,double);
00142   vtkSetMacro(SumOverThresholdCh2,double);
00144         
00146 
00147   vtkGetMacro(SumCh1,double);
00148   vtkSetMacro(SumCh1,double);
00149   vtkGetMacro(SumCh2,double);
00150   vtkSetMacro(SumCh2,double);
00152       
00154 
00155   vtkGetMacro(Slope,double);
00156   vtkSetMacro(Slope,double);  
00158   
00160 
00161   vtkGetMacro(Intercept,double);
00162   vtkSetMacro(Intercept,double);  
00164   
00166 
00167   vtkGetMacro(ColocAmount,double);
00168   vtkSetMacro(ColocAmount,double);  
00170       
00172 
00173   vtkGetMacro(ColocPercent,double);
00174   vtkSetMacro(ColocPercent,double);    
00176       
00178 
00184   vtkGetMacro(DiffStainIntCh1,double);
00185   vtkSetMacro(DiffStainIntCh1,double);
00186   // Description:
00187   // Differential staining calculated using intensity / voxel amount
00188   vtkGetMacro(DiffStainVoxelsCh1,double);
00189   vtkSetMacro(DiffStainVoxelsCh1,double);
00190   // Description:
00191   // Differential staining calculated using intensity / voxel amount
00192   vtkGetMacro(DiffStainIntCh2,double);
00193   vtkSetMacro(DiffStainIntCh2,double);
00194   // Description:
00195   // Differential staining calculated using intensity / voxel amount
00196   vtkGetMacro(DiffStainVoxelsCh2,double);
00197   vtkSetMacro(DiffStainVoxelsCh2,double);     
00199 
00201 
00202   vtkGetMacro(LowerThresholdCh1,int);
00203   vtkSetMacro(LowerThresholdCh1,int);    
00204   vtkGetMacro(LowerThresholdCh2,int);
00205   vtkSetMacro(LowerThresholdCh2,int);     
00206   vtkGetMacro(UpperThresholdCh1,int);
00207   vtkSetMacro(UpperThresholdCh1,int);    
00208   vtkGetMacro(UpperThresholdCh2,int);
00209   vtkSetMacro(UpperThresholdCh2,int);    
00211   
00213 
00215   vtkSetMacro(OverThresholdCh1,int);
00216   vtkGetMacro(OverThresholdCh1,int)
00217   vtkSetMacro(OverThresholdCh2,int);
00218   vtkGetMacro(OverThresholdCh2,int)
00220 
00222 
00223   vtkSetMacro(NonZeroCh1,int);
00224   vtkGetMacro(NonZeroCh1,int)
00225   vtkSetMacro(NonZeroCh2,int);
00226   vtkGetMacro(NonZeroCh2,int)
00228 
00229 protected:
00230   vtkImageAutoThresholdColocalization();
00231   ~vtkImageAutoThresholdColocalization();
00232 
00233   void ComputeInputUpdateExtents( vtkDataObject*output );
00234 
00235   void ExecuteInformation(vtkImageData **inputs, vtkImageData **output);
00236   void ComputeInputUpdateExtent(int inExt[6], int outExt[6]);
00237   
00238   void ThreadedExecute(vtkImageData **inDatas, vtkImageData **outData,
00239                        int extent[6], int id);
00240   
00241 
00242   void InitOutput(int outExt[6], vtkImageData *outData);
00243 private:
00244   vtkImageAutoThresholdColocalization(const vtkImageAutoThresholdColocalization&);  // Not implemented.
00245   void operator=(const vtkImageAutoThresholdColocalization&);  // Not implemented.
00246 
00247   int ConstantVoxelValue;
00248   bool IncludeZeroPixels;
00249 
00250   double PearsonWholeImage;
00251   double PearsonImageAbove;
00252   double PearsonImageBelow;
00253       
00254   double M1;
00255   double M2;
00256   double ThresholdM1;
00257   double ThresholdM2;
00258   double C1;
00259   double C2;
00260   double K1;
00261   double K2;
00262   
00263   double PercentageVolumeCh1;
00264   double PercentageVolumeCh2;
00265   double PercentageTotalCh1;
00266   double PercentageTotalCh2;
00267   double Ch1ThresholdMax;
00268   double Ch2ThresholdMax;
00269       
00270   double PercentageMaterialCh1;
00271   double PercentageMaterialCh2;
00272       
00273   double ColocAmount;
00274   double ColocPercent;
00275   double SumOverThresholdCh1;
00276   double SumOverThresholdCh2;
00277   double SumCh1;
00278   double SumCh2;
00279       
00280   double DiffStainIntCh1;
00281   double DiffStainVoxelsCh1; 
00282   double DiffStainIntCh2;
00283   double DiffStainVoxelsCh2;       
00284 
00285   double Slope;
00286   double Intercept;
00287       
00288   int LowerThresholdCh1;
00289   int LowerThresholdCh2;
00290   int UpperThresholdCh1;
00291   int UpperThresholdCh2;  
00292   
00293   int OverThresholdCh1;
00294   int OverThresholdCh2;
00295   int NonZeroCh1;
00296   int NonZeroCh2;
00297 };
00298 
00299 #endif

Generated on Sat Dec 30 06:06:46 2006 for VTK by  doxygen 1.5.1