12 #ifndef CXAIRWAYSFILTERSERVICE_H_
13 #define CXAIRWAYSFILTERSERVICE_H_
15 #include "org_custusx_filter_airways_Export.h"
20 #include <boost/unordered_map.hpp>
21 #include <boost/shared_ptr.hpp>
28 #include "FAST/Importers/ImageFileImporter.hpp"
29 #include "FAST/Algorithms/LungSegmentation/LungSegmentation.hpp"
30 #include "FAST/Algorithms/AirwaySegmentation/AirwaySegmentation.hpp"
32 class ctkPluginContext;
57 virtual QString getType()
const;
58 virtual QString getName()
const;
59 virtual QString getHelp()
const;
62 virtual bool execute();
63 virtual bool postProcess();
65 void setAirwaySegmentation(
bool airwaySegmentation);
66 void setColoringAirways(
bool coloringAirways);
67 void setVesselSegmentation(
bool vesselSegmentation);
70 void segmentAirways(fast::ImageFileImporter::pointer importerPtr);
71 bool extractAirways(fast::AirwaySegmentation::pointer airwaySegmentationPtr);
72 void segmentLungs(fast::ImageFileImporter::pointer importerPtr);
73 void segmentVessels(fast::ImageFileImporter::pointer importerPtr);
74 bool extractBloodVessels(fast::LungSegmentation::pointer lungSegmentationPtr);
75 bool extractLungs(fast::LungSegmentation::pointer lungSegmentationPtr);
76 bool postProcessAirways();
77 bool postProcessLungs();
78 bool postProcessVessels();
79 virtual void createOptions();
80 virtual void createInputTypes();
81 virtual void createOutputTypes();
94 void createAirwaysFromCenterline();
95 void createColoredAirways();
105 bool mDefaultStraightCLTubesOption;