14 #include <ctkPluginContext.h>
35 #include <vtkPolyData.h>
48 return "Airways from centerline";
53 return "airwaysfromcenterline_filter";
59 "<h3>Airways from centerline.</h3>"
60 "<p>Generates artificial surface models of airways around input centerline.</p>"
66 return "_AirwaysModel";
71 return "_SmoothedCenterline";
83 centerline->setValueName(
"Airways centerline");
84 centerline->setHelp(
"Select airways centerline");
93 tempAirwaysModelMeshStringAdapter->setValueName(
"Airways surface model mesh");
94 tempAirwaysModelMeshStringAdapter->setHelp(
"Generated airways surface model mesh (vtk-format).");
95 mOutputTypes.push_back(tempAirwaysModelMeshStringAdapter);
99 tempSmoothedCenterlineMeshStringAdapter->setValueName(
"Smoothed centerline");
100 tempSmoothedCenterlineMeshStringAdapter->setHelp(
"Smoothed centerline (vtk-format).");
101 mOutputTypes.push_back(tempSmoothedCenterlineMeshStringAdapter);
109 MeshPtr mesh = boost::dynamic_pointer_cast<StringPropertySelectMesh>(
mInputTypes[0])->getMesh();
113 vtkPolyDataPtr centerline_r = mesh->getTransformedPolyDataCopy(mesh->get_rMd());
115 mAirwaysFromCenterline->processCenterline(centerline_r);
118 mOutputAirwayMesh = mAirwaysFromCenterline->generateTubes();
129 MeshPtr inputMesh = boost::dynamic_pointer_cast<StringPropertySelectMesh>(
mInputTypes[0])->getMesh();
138 outputMesh->setColor(QColor(253, 173, 136, 255));
142 outputMesh->get_rMd_History()->setParentSpace(inputMesh->getUid());
144 mServices->view()->autoShowData(outputMesh);
150 outputCenterline->
setVtkPolyData(mAirwaysFromCenterline->getVTKPoints());
151 outputCenterline->setColor(QColor(0, 200, 0, 255));