VTK
vtkComputeHistogram2DOutliers.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkComputeHistogram2DOutliers.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2009 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
48 #ifndef __vtkComputeHistogram2DOutliers_h
49 #define __vtkComputeHistogram2DOutliers_h
50 //------------------------------------------------------------------------------
51 #include "vtkSelectionAlgorithm.h"
52 
53 //------------------------------------------------------------------------------
54 class vtkCollection;
55 class vtkDoubleArray;
56 class vtkIdTypeArray;
57 class vtkImageData;
58 class vtkTable;
59 //------------------------------------------------------------------------------
61 {
62 public:
65  void PrintSelf(ostream& os, vtkIndent indent);
66 
67  vtkSetMacro(PreferredNumberOfOutliers,int);
68  vtkGetMacro(PreferredNumberOfOutliers,int);
69 
70  //
71  vtkTable* GetOutputTable();
72 //BTX
74  {
75  INPUT_TABLE_DATA=0,
77  INPUT_HISTOGRAMS_MULTIBLOCK
78  };
80  {
81  OUTPUT_SELECTED_ROWS=0,
82  OUTPUT_SELECTED_TABLE_DATA
83  };
84 //ETX
85 
87 
89  { this->SetInputConnection(INPUT_TABLE_DATA,cxn); }
91 
93 
95  { this->SetInputConnection(INPUT_HISTOGRAMS_IMAGE_DATA,cxn); }
97 
99 
102  { this->SetInputConnection(INPUT_HISTOGRAMS_MULTIBLOCK,cxn); }
104 
105 protected:
108 
111 
112  virtual int RequestData(
116 
117  virtual int FillInputPortInformation( int port, vtkInformation* info );
118  virtual int FillOutputPortInformation( int port, vtkInformation* info );
119 
122  virtual int ComputeOutlierThresholds(vtkCollection* histograms, vtkCollection* thresholds);
123 
126  virtual int ComputeOutlierThresholds(vtkImageData* histogram, vtkDoubleArray* thresholds, double threshold);
127 
129 
131  virtual int FillOutlierIds(vtkTable* data, vtkCollection* thresholds, vtkIdTypeArray* rowIds, vtkTable* outTable);
132 private:
134  void operator=(const vtkComputeHistogram2DOutliers&); // Not implemented
135 };
137 
138 #endif