35 #include <ctkPluginContext.h> 73 return "accusurf_filter";
80 "<p>Filter to generate an ACCuSurf volume to be usen in navigated bronchoscopy." 81 "The ACCuSurf is generated based on a standard thorax CT and a route-to-target centerline." 97 centerline->setValueName(
"Route-to-Target");
98 centerline->setHelp(
"Select centerline");
103 image->setValueName(
"Input image");
104 image->setHelp(
"Select image input for ACCuSurf.");
115 image->setValueName(
"Output");
116 image->setHelp(
"Output ACCuSurf");
131 vtkPolyDataPtr route_d_image = mesh->getTransformedPolyDataCopy((inputImage->get_rMd().inverse())*mesh->get_rMd());
132 mAccusurf->setRoutePositions(route_d_image);
133 mAccusurf->setInputImage(inputImage);
137 mAccusurf->setThickness(thicknessUp->getValue(), thicknessDown->getValue());
139 mAccusurfImage = mAccusurf->createAccusurfImage();
154 QString uid = input->getUid() +
"_ACCuSurf%1";
155 QString name = input->getName()+
" ACCuSurf%1";
158 mAccusurfImage, input);
159 output->mergevtkSettingsIntosscTransform();
161 mAccusurfImage = NULL;
165 mServices->patient()->insertData(output);
177 "Set slice thickness up in voxels", 0,
DoubleRange(0, 50, 1), 0,
186 "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.