3D Voxel Mensch (+Organe) unter C++ WxWidgets und OpenGL darstellen



  • Hallo Liebe Leute,

    für meine Bachelorarbeit muss ein menschliches Phantom als 3D Objekt in form von Voxels darstellen. Dafür habe ich eine Datei (Binär) zur Verfügung, worin alle nötigen Informationen auslesen kann. Hat einer zufällig so ein Thema bearbeitet? Ich kann mir nun vorstellen, dass dieser Thema sehr groß ist. Daher erstmal eine einfache Frage:

    Wie kann ich einen einzelnen 3d Voxel auf meinem Window darstellen?
    Habt ihr da vielleicht einen soruce code.

    Ich habe bereits meinen Main Frame unter WxWidgets erstellt und kann auch eine Datei auslesen. OpenGL Libraries sind auch bereits eingebunden.

    Ich wäre euch sehr dankbar für eure Hilfe.

    LG



  • Das ist eine sehr unspezifische Frage zu der es Antworten gäbe, die ganze Bibliotheken füllen.

    Ist die Visualisierung als solche das Thema deiner Bachelorarbeit oder nur ein Extra? Wenn es Thema ist, dann solltest du eigentlich schon wissen, in welche Richtung du zu suchen hast. Dann kann dir hier eher mit einer konkreten Frage zu einem speziellen Problem geholfen werden.

    Welche Anforderungen gibt es an die Visualisierung? Bei der Beantwortung welcher Fragestellung soll sie helfen?

    Ein paar Starthilfen für die Recherche:

    Simpel und einfach umzusetzen:

    • Darstellung je einer Schicht des Datensatzes als einfache 2D-Grafik. Auswahl der Schicht z.B. über Schieberegler.
    • Maximumintensitätsprojektion: Die Farbe des Pixels an (x,y)-Position wird durch den Voxel mit der höchsten Instensität in z-Richtung bestimmt. Wenig Aufwand und sieht schick aus. Ob es die geeignete Visualisierung für die Fragestellung ist, steht auf einem anderen Blatt.

    Mesh-basierter Ansatz (das was ich unter "3D-Objekt" verstehe):

    • Extraktion von Iso-Flächen aus dem Datensatz mit einer geeigneten Methode. Eines der ältesten und das wohl bekannsteste Verfahren dürfte der Marching Cubes-Algorithmus sein. Es gibt aber auch eine Reihe neuerer und verfeinerter Verfahren, mit denen sich qualitativ hochwertigere Dreiecksnetze erzeugen lassen. Papers dazu gibt es grabbeltischweise.

    Direktes Volumen-Rendering (also ohne vorherige Extraktion der Geometrie), hier gibt es viele Methoden und ebenfalls jede Menge Papers. Ein paar Stichworte:

    Das sollten genug Stichworte sein um jede Menge Papers und andere Informationen finden zu können. Gerade beim Thema Computergrafik ist das Netz sehr ergiebig. Wenn du spezifischere Fragen haben solltest, kannst du es gerne nochmal hier versuchen, dann aber vielleicht besser im Unterforum Spiele-/Grafikprogrammierung.



  • Hallo Finnegan,

    ich danke dir erstmal für die ausführliche Antwort. Die Visualisierung ist tatsächlich mein Hauptthema.
    Ich werde versuchen mich mit den von dir genannten Methoden und Stichworte auseinander zusetzen. Vielleicht (hoffentlich) bringt mich das weiter.


Log in to reply