X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=PackRecalage%2Fsrc%2FbbPackRecalageCalculateVectorBox.h;h=ed04a3905af2a9701e4d428ff6168473955ac1f3;hb=86c3482ce714b8d4201c8d819a10b59e4e4440c4;hp=cf0922eb679ea9d91c2aff5e7ed54632117fa0f6;hpb=caf70b171caba0cb8c1e4c00688b27844f93e31b;p=creaRigidRegistration.git diff --git a/PackRecalage/src/bbPackRecalageCalculateVectorBox.h b/PackRecalage/src/bbPackRecalageCalculateVectorBox.h index cf0922e..ed04a39 100644 --- a/PackRecalage/src/bbPackRecalageCalculateVectorBox.h +++ b/PackRecalage/src/bbPackRecalageCalculateVectorBox.h @@ -4,6 +4,8 @@ #include "bbtkAtomicBlackBox.h" #include "iostream" +#include "VectorMath.h" + namespace bbPackRecalage { @@ -12,23 +14,46 @@ class bbPackRecalage_EXPORT CalculateVectorBox public bbtk::AtomicBlackBox { BBTK_BLACK_BOX_INTERFACE(CalculateVectorBox,bbtk::AtomicBlackBox); + + /*Points in X for the first vector (the vector in the first image), this array should have the structure (a,b), "a" being the position in X for the starting point of the vector + and "b" the position in X for the ending point of the vector */ BBTK_DECLARE_INPUT(PointsX1,std::vector); + + /*Points in X for the second vector (the vector in the second image), this array should have the structure (a,b), "a" being the position in X for the starting point of the vector + and "b" the position in X for the ending point of the vector */ BBTK_DECLARE_INPUT(PointsX2,std::vector); + + /*Points in Y for the first vector (the vector in the first image), this array should have the structure (a,b), "a" being the position in Y for the starting point of the vector + and "b" the position in Y for the ending point of the vector */ BBTK_DECLARE_INPUT(PointsY1,std::vector); + + /*Points in Y for the second vector (the vector in the second image), this array should have the structure (a,b), "a" being the position in Y for the starting point of the vector + and "b" the position in Y for the ending point of the vector */ BBTK_DECLARE_INPUT(PointsY2,std::vector); + + /*Points in Z for the first vector (the vector in the first image), this array should have the structure (a,b), "a" being the position in Z for the starting point of the vector + and "b" the position in Z for the ending point of the vector */ BBTK_DECLARE_INPUT(PointsZ1,std::vector); + + /*Points in Z for the second vector (the vector in the second image), this array should have the structure (a,b), "a" being the position in Z for the starting point of the vector + and "b" the position in Z for the ending point of the vector */ BBTK_DECLARE_INPUT(PointsZ2,std::vector); - BBTK_DECLARE_INPUT(Labels1,std::vector); - BBTK_DECLARE_INPUT(Labels2,std::vector); - BBTK_DECLARE_OUTPUT(OutX,int); - BBTK_DECLARE_OUTPUT(OutY,int); - BBTK_DECLARE_OUTPUT(OutZ,int); + + /*Origin (starting point of the vector) of the second image, this is necesary for the translation matrix of a transform filter*/ + BBTK_DECLARE_OUTPUT(Origin, std::vector); + + /**/ + BBTK_DECLARE_OUTPUT(OriginReslicer, std::vector); + BBTK_DECLARE_OUTPUT(TransformAxis, std::vector); BBTK_DECLARE_OUTPUT(OutScaleX,int); BBTK_DECLARE_OUTPUT(OutScaleY,int); BBTK_DECLARE_OUTPUT(OutScaleZ,int); BBTK_DECLARE_OUTPUT(OutAngle,double); BBTK_PROCESS(Process); void Process(); + + private: + VectorMath *_vector; }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(CalculateVectorBox,bbtk::AtomicBlackBox); @@ -42,11 +67,9 @@ BBTK_INPUT(CalculateVectorBox,PointsY1,"List of points in Y for the first vector BBTK_INPUT(CalculateVectorBox,PointsY2,"List of points in Y for the second vector",std::vector,""); BBTK_INPUT(CalculateVectorBox,PointsZ1,"List of points in Z for the first vector",std::vector,""); BBTK_INPUT(CalculateVectorBox,PointsZ2,"List of points in Z for the second vector",std::vector,""); -BBTK_INPUT(CalculateVectorBox,Labels1,"Labels of the points for the first vector",std::vector,""); -BBTK_INPUT(CalculateVectorBox,Labels2,"Labels of the points for the second vector",std::vector,""); -BBTK_OUTPUT(CalculateVectorBox,OutX,"Point in X for the cross multiplication",int,""); -BBTK_OUTPUT(CalculateVectorBox,OutY,"Point in Y for the cross multiplication",int,""); -BBTK_OUTPUT(CalculateVectorBox,OutZ,"Point in Z for the cross multiplication",int,""); +BBTK_OUTPUT(CalculateVectorBox,Origin,"Points of Origin for the transformation",std::vector,""); +BBTK_OUTPUT(CalculateVectorBox,OriginReslicer,"Points of Origin for the transformation for the Reslicer",std::vector,""); +BBTK_OUTPUT(CalculateVectorBox,TransformAxis,"Axis used for the transformation (Result of Cross multiplication)",std::vector,""); BBTK_OUTPUT(CalculateVectorBox,OutScaleX,"Difference in scale for X for the cross multiplication",int,""); BBTK_OUTPUT(CalculateVectorBox,OutScaleY,"Difference in scale for Y for the cross multiplication",int,""); BBTK_OUTPUT(CalculateVectorBox,OutScaleZ,"Difference in scale for Z for the cross multiplication",int,"");