Ich bin neu zu VTK und versuche, den Dice Similarity Coefficient (DSC) zu berechnen, ausgehend von 2 Maschen. DSC kann als 2 Vab/(Va + Vb)
berechnet werden, wobei die Überlappungs Vab
Volumen unter mesh A und B. NetzVTK/ITK Würfel Ähnlichkeitskoeffizient auf Meshes
ein Netz lesen ich folgenden Schnipsel verwenden (dh eine Organ Kontur in .vtk Format 3D Slicer, https://www.slicer.org exportiert) :
string inputFilename1 = "organ1.vtk";
// Get all data from the file
vtkSmartPointer<vtkGenericDataObjectReader> reader1 = vtkSmartPointer<vtkGenericDataObjectReader>::New();
reader1->SetFileName(inputFilename1.c_str());
reader1->Update();
vtkSmartPointer<vtkPolyData> struct1 = reader1->GetPolyDataOutput();
ich die Lautstärke der beiden Maschen berechnen kann mit vtkMassProperties
(obwohl ich einige Unterschiede zwischen denen, mit VTK und diejenigen, berechnet mit 3D-Slicer berechnet beobachtet).
Um dann 2 Meshes zu schneiden, versuche ich vtkIntersectionPolyDataFilter
zu verwenden. Die Ausgabe dieses Filters ist jedoch eine Reihe von Linien, die den Schnittpunkt der Eingabeobjekte vtkPolyData
und KEINE geschlossene Oberfläche markieren. Ich muss daher irgendwie ein Netz aus diesen Linien generieren und sein Volumen berechnen.
Wissen Sie, welches eine gute, genaue Möglichkeit ist, ein solches Netz zu erzeugen und wie man es macht?
Alternativ habe ich versucht, ITK als auch zu verwenden. Ich habe ein Paket gefunden, das dieses Problem behandeln soll (http://www.insight-journal.org/browse/publication/762, 2010), aber ich kann es nicht mit der neuesten Version von ITK kompilieren. Es besagt, dass ITK mit dem (jetzt veralteten) ITK_USE_REVIEW
Flag ON
kompiliert werden muss. Unnötig zu sagen, ich kompilierte es mit der neuen Module_ITKReview
auf ON
eingestellt und auch mit Abwärtskompatibilität hatte aber kein Glück.
Schließlich, wenn Sie andere alternative (skriptfähige) Software/Bibliothek haben, um dieses Problem zu lösen, lassen Sie es mich bitte wissen. Ich muss diese Berechnung automatisch durchführen.
Würfelüberlappung wird normalerweise mit Bildern verwendet. Wenn Sie zwei Meshes vergleichen möchten, warum verwenden Sie einfach Distanzmetrik, z. Verwenden von 'vtkDistancePolyDataFilter'? – mirni
@mirni Der Dice Similarity Coefficient wird meines Wissens in der Literatur für medizinische Bildgebung verwendet. Insbesondere wird es von mehreren strahlentherapiebezogenen Arbeiten verwendet, auf denen ich meine Forschung gründe. Ich werde auch andere Metriken in Betracht ziehen: Danke für deinen Rat :) –