14 #include <ctkPluginContext.h> 52 return "accusurf_filter";
59 "<p>Filter to generate an ACCuSurf volume to be usen in navigated bronchoscopy." 60 "The ACCuSurf is generated based on a standard thorax CT and a route-to-target centerline." 76 centerline->setValueName(
"Route-to-Target");
77 centerline->setHelp(
"Select centerline");
82 image->setValueName(
"Input image");
83 image->setHelp(
"Select image input for ACCuSurf.");
94 image->setValueName(
"Output");
95 image->setHelp(
"Output ACCuSurf");
110 vtkPolyDataPtr route_d_image = mesh->getTransformedPolyDataCopy((inputImage->get_rMd().inverse())*mesh->get_rMd());
111 mAccusurf->setRoutePositions(route_d_image);
112 mAccusurf->setInputImage(inputImage);
116 mAccusurf->setThickness(thicknessUp->getValue(), thicknessDown->getValue());
118 mAccusurfImage = mAccusurf->createAccusurfImage();
133 QString uid = input->getUid() +
"_ACCuSurf%1";
134 QString name = input->getName()+
" ACCuSurf%1";
137 mAccusurfImage, input);
138 output->mergevtkSettingsIntosscTransform();
140 mAccusurfImage = NULL;
144 mServices->patient()->insertData(output);
156 "Set slice thickness up in voxels", 0,
DoubleRange(0, 50, 1), 0,
165 "Set slice thickness down in voxels", 15,
DoubleRange(0, 50, 1), 0,
std::vector< SelectDataStringPropertyBasePtr > mInputTypes
boost::shared_ptr< class VisServices > VisServicesPtr
virtual QString getName() const
static StringPropertySelectDataPtr New(PatientModelServicePtr patientModelService, QString typeRegexp=".*")
Utility class for describing a bounded numeric range.
boost::shared_ptr< class Image > ImagePtr
AccusurfFilter(VisServicesPtr services)
virtual void createInputTypes()
virtual void createOutputTypes()
virtual QString getHelp() const
virtual bool postProcess()
std::vector< PropertyPtr > mOptionsAdapters
ImagePtr createDerivedImage(PatientModelServicePtr dataManager, QString uid, QString name, vtkImageDataPtr raw, ImagePtr parent)
boost::shared_ptr< class SelectDataStringPropertyBase > SelectDataStringPropertyBasePtr
DoublePropertyPtr getAccusurfThicknessDown(QDomElement root)
DoublePropertyPtr getAccusurfThicknessUp(QDomElement root)
ImagePtr getCopiedInputImage(int index=0)
virtual QString getType() const
vtkSmartPointer< vtkPolyData > vtkPolyDataPtr
boost::shared_ptr< class DoubleProperty > DoublePropertyPtr
virtual void createOptions()
std::vector< SelectDataStringPropertyBasePtr > mOutputTypes
static DoublePropertyPtr initialize(const QString &uid, QString name, QString help, double value, DoubleRange range, int decimals, QDomNode root=QDomNode())
static StringPropertySelectMeshPtr New(PatientModelServicePtr patientModelService)
static StringPropertySelectImagePtr New(PatientModelServicePtr patientModelService)
boost::shared_ptr< class Mesh > MeshPtr
boost::shared_ptr< class StringPropertySelectMesh > StringPropertySelectMeshPtr
Namespace for all CustusX production code.