1 /*=========================================================================
5 #ifndef __carotidaBifurcacion_h
6 #define __carotidaBifurcacion_h
8 #include "vtkPolyDataSource.h"
9 #include "vtkImageThreshold.h"
10 #include "vtkImageCast.h"
11 #include "vtkImageSeedConnectivity.h"
12 #include "vtkImageData.h"
13 #include "vtkMarchingCubes.h"
14 #include "vtkDoubleArray.h"
15 #include "vtkPointData.h"
16 #include "vtkExtractVOI.h"
17 #include "vtkPoints.h"
18 #include "vtkCellArray.h"
23 class carotidaBifurcacion : public vtkPolyDataSource
26 static carotidaBifurcacion *New();
27 void PrintSelf(ostream& os, vtkIndent indent);
29 virtual void SetInput(vtkPolyData *input);
30 vtkPolyData *GetInput();
32 virtual void SetInput2(vtkImageData *input);
33 vtkImageData *GetInput2();
35 void SetMaxPropRadio(double value);
36 double GetMaxPropRadio();
38 void SetHumbral(double value);
41 void SetMaxPropMasa(double value);
42 double GetMaxPropMasa();
44 void SetMinPropMasa(double value);
45 double GetMinPropMasa();
49 carotidaBifurcacion();
51 ~carotidaBifurcacion() {};
58 carotidaBifurcacion(const carotidaBifurcacion&); // Not implemented.
60 void operator=(const carotidaBifurcacion&); // Not implemented.
62 void searc(int i, int j, int k );
64 void find_components( );
66 unsigned short maximo();
70 double angulo(double i1, double j1, double k1, double i2, double j2, double k2 );
72 void direcciones(vtkPolyData *points, int iter, double radio, double puntocortea[3], double puntocortes[3] );
74 void corte(double punto1[3], double punto2[3], double punto3[3], double centro[3], double radio );
76 void avanzar(vtkIdType iter);
78 int proporcion(vtkImageData *data );
80 void redondear(vtkImageData *data );
82 void limpiar(vtkPoints *profile, vtkPoints *profile2, vtkPoints *profile3, vtkPoints *profile4 );
84 int igual(double puntoactual[3], double puntoactualdis[3], double puntoantguar[3], double puntoantguardis[3] );
88 vtkImageData *dataprov;
90 unsigned long vector[50][4] ;
91 vtkExtractVOI *extrac;
92 vtkImageThreshold *thresh;
94 vtkImageSeedConnectivity *connect;
102 vtkDoubleArray *salidas;