#ifndef __bbUtilitiesCatAxis_h_INCLUDED__ #define __bbUtilitiesCatAxis_h_INCLUDED__ #include "bbtkAtomicBlackBox.h" #include "iostream" #include "vtkImageData.h" namespace bbUtilities { class /*BBTK_EXPORT*/ CatAxis : public bbtk::AtomicBlackBox { //BBTK_USER_BLACK_BOX_INTERFACE(CatAxis,bbtk::AtomicBlackBox); BBTK_BLACK_BOX_INTERFACE(CatAxis,bbtk::AtomicBlackBox); //================================================================== BBTK_DECLARE_INPUT(DSDirectory,std::string); BBTK_DECLARE_INPUT(Vessel,int); BBTK_DECLARE_INPUT(PointsX,std::vector); BBTK_DECLARE_INPUT(PointsY,std::vector); BBTK_DECLARE_INPUT(PointsZ,std::vector); BBTK_DECLARE_INPUT(ManualPoint,std::vector); BBTK_DECLARE_INPUT(FileNameAxis,std::string); BBTK_DECLARE_INPUT(FileNameManualPoints,std::string); BBTK_DECLARE_INPUT(Image,vtkImageData*); BBTK_PROCESS(Process); void Process(); bool getPointFile(double* x, double* y, double* z, std::string filename); void invertAxis(std::vector* vectx, std::vector* vecty, std::vector* vectz); void writeAxisFile(std::string path, std::vector vectx, std::vector vecty, std::vector vectz, double* spc); void writePointsFile(std::string path, std::vector mp, double* spc); }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(CatAxis,bbtk::AtomicBlackBox); BBTK_NAME("CatAxis"); BBTK_AUTHOR("car-prie@uniandes.edu.co"); BBTK_DESCRIPTION("Sorts the axis extracted in the correct order closer to the distal Point"); BBTK_CATEGORY("__CATEGORY__"); BBTK_INPUT(CatAxis,DSDirectory,"Directory of the dataset",std::string, ""); BBTK_INPUT(CatAxis,Vessel,"Directory of the vessel 0-3",int, ""); BBTK_INPUT(CatAxis,PointsX,"x vector",std::vector, ""); BBTK_INPUT(CatAxis,PointsY,"y vector",std::vector, ""); BBTK_INPUT(CatAxis,PointsZ,"z vector",std::vector, ""); BBTK_INPUT(CatAxis,ManualPoint,"a point to append to the pointsfile",std::vector, ""); BBTK_INPUT(CatAxis,Image,"image for getting the spacing",vtkImageData*, ""); BBTK_INPUT(CatAxis,FileNameAxis,"name for the axis points calculated",std::string, ""); BBTK_INPUT(CatAxis,FileNameManualPoints,"name for the manual points",std::string, ""); BBTK_END_DESCRIBE_BLACK_BOX(CatAxis); } // EO namespace bbUtilities #endif // __bbUtilitiesCatAxis_h_INCLUDED__