double ang1 = 0;//Angle 1
double ang2 = 0;//ANgle 2
+ double comp = 0;//Component x + y
//Find coordinate into the image
m_idType = m_VectorImage->FindPoint(coord[0],coord[1],coord[2]);
//Miss calcule of angles -----
+ comp = sqrt((vec[0]*vec[0])+(vec[1]*vec[1]));
+
+ ang1 = atan2(vec[2],comp) * 180 / PI;
- ang1 = vec[0]*80;
- ang2 = vec[1]*10;
+
+ ang2 = atan2(vec[1],vec[0]) * 180 / PI;
+
+
//m_VectorImage->Print(std::cout);
+ std::cout << "ang1: " << ang1 << std::endl;
+ std::cout << "ang2: " << ang2 << std::endl;
+
bbSetOutputAngle1(ang1);
bbSetOutputAngle2(ang2);
bbSetOutputVector(vec);
+ bbSetOutputX(coord[0]);
+ bbSetOutputY(coord[1]);
+ bbSetOutputZ(coord[2]);
}// if image != NULL
#include "iostream"
#include "vtkImageData.h"
-
#include "vtkPointData.h"
+#include <math.h>
+
+#define PI 3.14159265
namespace bbcreaVtk
{
BBTK_DECLARE_INPUT(Coordinates,std::vector<double>);
BBTK_DECLARE_INPUT(VectorsFieldImage,vtkImageData*);
BBTK_DECLARE_OUTPUT(Vector,std::vector<double>);
+ BBTK_DECLARE_OUTPUT(X,double);
+ BBTK_DECLARE_OUTPUT(Y,double);
+ BBTK_DECLARE_OUTPUT(Z,double);
BBTK_DECLARE_OUTPUT(Angle1,double);
BBTK_DECLARE_OUTPUT(Angle2,double);
BBTK_PROCESS(Process);
BBTK_INPUT(VectorsExtraction,Coordinates,"Coordinates (x,y,z)",std::vector<double>,"");
BBTK_INPUT(VectorsExtraction,VectorsFieldImage,"Image of Vectors Field",vtkImageData*,"");
BBTK_OUTPUT(VectorsExtraction,Vector,"",std::vector<double>,"");
+BBTK_OUTPUT(VectorsExtraction,X,"x",double,"");
+BBTK_OUTPUT(VectorsExtraction,Y,"y",double,"");
+BBTK_OUTPUT(VectorsExtraction,Z,"z",double,"");
BBTK_OUTPUT(VectorsExtraction,Angle1,"Angle 1 (Helix Angle)",double,"");
BBTK_OUTPUT(VectorsExtraction,Angle2,"Angle 2 (Transversal Angle)",double,"");
BBTK_END_DESCRIBE_BLACK_BOX(VectorsExtraction);