Zeigen Sie DICOM-Bilder mit rudimentärem Python als Mediziner an

Ich bin ein medizinischer Radiologe und ein medizinischer Physiker. Ich werde in dem Artikel ein Memorandum über den Prozess des Programmierlernens hinterlassen. Ich hoffe, dass es in Zukunft für jemanden hilfreich sein wird.

Ich möchte ein DICOM-Bild anzeigen

Was möchten Sie mit Python im medizinischen Umfeld tun? Python ist in der medizinischen Bildverarbeitung weit verbreitet, und es gibt viele Themen wie die automatische Erkennung von Läsionen aus Bildern im Bereich des maschinellen Lernens. Die im medizinischen Bereich verwendeten Bilder sind Daten im Format DICOM. Man kann sagen, dass DICOM-Kenntnisse für die Programmierung im medizinischen Bereich, hauptsächlich für die Bildverarbeitung, unverzichtbar sind. Und die erste Barriere, die ich vorerst versuchen möchte, ist ** "Bilder in Python anzeigen" **.

Was ist DICOM?

Lassen Sie uns zuerst DICOM (für mich) organisieren.

DICOM ist eine Abkürzung, die die Akronyme ** "Digital Imaging and Communications in Medicine" ** verbindet. Es ist ein Standard für die Übermittlung von medizinischen Bildinformationen usw. und wird weltweit verwendet. In den zu übermittelnden Daten werden nicht nur die allgemein vorgestellten Bilddaten, sondern auch viele Elemente wie Patientenname, Patienten-ID, Untersuchungsdatum, Gerätename und Bildgebungsbedingungen als zufällige Informationen definiert.

Es gibt verschiedene Hersteller von Maschinen und Kommunikationsgeräten, die zur Inspektion verwendet werden. Die Daten werden jedoch reibungsloser, indem gemeinsame Regeln verwendet werden, die nicht von Herstellern wie DICOM abhängen, anstatt Daten mit Originalregeln zu verarbeiten. Sie können es verwalten.

In der Vergangenheit (noch in einigen Einrichtungen) wurden Röntgenaufnahmen von Filmen zur Diagnose verwendet, aber die Umstellung von analogen auf digitale medizinische Bilder hat es einfacher gemacht, große Mengen medizinischer Daten zu verwalten. Die Existenz von DICOM hilft auch dabei.

Abgesehen davon gibt es einige spezielle DICOM-Daten im Bereich der Strahlentherapie, die nicht im diagnostischen Bereich liegen. Dies ist kein notwendiges Wissen bei der Anzeige von Bildern, aber ich bin selbst in der Strahlentherapie-Abteilung tätig, daher werde ich ein wenig darauf eingehen. DICOM-Daten (DICOM RT) für die Strahlentherapie umfassen bildbasierte Daten wie DICOM anderer Bildmodalitäten und nicht bildbasierte Daten wie Koordinateninformationen und Geräteeinstellungsinformationen. alt Die RT-Dosis repräsentiert Dosisinformationen, die RT-Struktur repräsentiert Contool-Informationen und der RT-Plan repräsentiert Gerätebetriebsinformationen, von denen jede als Information zur Festlegung der Behandlung verknüpft ist.

[Referenz] DICOM Reverse BOOK (Sie können die Seminarfolien anzeigen → DICOM-Lernsitzungsmaterialien)

Darüber hinaus gibt es viele nützliche Informationen zu DICOM in [JIRA](Japan Imaging Medical System Industry Association): Die Welt von DICOM (http://www.jira-net.or.jp/dicom/). Es ist veröffentlicht, also beziehen Sie sich bitte darauf.

Die Bildanzeige ist mit Python super einfach!

Es gab eine Zeit, in der ich eine Weile C # studierte. Ich konnte nicht einmal einen Ausschnitt des CT-Bildes anzeigen. Es ist also eine sehr große Hürde für mich, überhaupt ein Bild anzuzeigen ... Ich dachte, ich könnte es vorerst nicht tun.

Jedoch!! Mit Python war es einfach! Ich war überrascht. Ist es so einfach Dank der umfangreichen Bibliothek können Sie einfachen Code anzeigen, indem Sie ihn kennen. Vielen Dank an diejenigen, die die Bibliothek gemacht haben.

Dieses Mal werde ich ein DICOM-Bild verwenden, das also kostenlos verwendet werden kann Es spielt keine Rolle, ob Sie kein DICOM-Bild zur Hand haben. Ich bin noch einmal [DICOM World] zu Dank verpflichtet (http://www.jira-net.or.jp/dicom/dicom_data_01_02.html). Ich bin nur dankbar.

Umgebung (Mac)

python 3.7.4 matplotlib 3.1.1 pydicom 1.2.2 Terminal (ich benutze kein Jupyter Notebook) Atom (jeder Texteditor ist akzeptabel)

Ganzer Code

show_dicom.py


from matplotlib import pyplot as plt
import pydicom

cr = pydicom.read_file("CR_LEE_IR6a.dcm")

plt.imshow(cr.pixel_array, cmap = "gray")
plt.show()

** * Speichern Sie die DICOM-Daten (.dcm), die im selben Verzeichnis wie der Code (.py) verwendet werden sollen. ** ** **

Ausgabebild

スクリーンショット 2020-04-11 19.16.57.png

das ist alles. Ist es nicht super einfach? Ich konnte das Bild in nur 5 Zeilen anzeigen. Sie können dies mit einfachem Code tun, indem Sie die großartigen vorhandenen Module wie matplotlib und pydicom nutzen.

Ich werde die Syntax von Python weglassen. Versuch es bitte.

Abschließend möchte ich eine sehr nützliche Seite vorstellen. ** Euromedic Medical Physics Room ** Blog des Medical Physics Room Es enthält detaillierte Informationen, die bei der Verwendung von Python im Bereich der Strahlentherapie sehr hilfreich sind. Es besteht kein Zweifel, dass es nützlich sein wird. Wenn Sie also interessiert sind, probieren Sie es aus!

Recommended Posts

Zeigen Sie DICOM-Bilder mit rudimentärem Python als Mediziner an
Arbeiten mit DICOM-Bildern in Python
Entfernen Sie DICOM-Bilder in Python
DICOM-Bilder mit Python Part 2 entfernen
Geben Sie in Python einen Unterbefehl als Befehlszeilenargument an
Machen Sie einen Screenshot in Python
Base64-Codierung von Bildern in Python 3
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Veröffentlichung einer Bibliothek, die Zeichendaten in Python-Bildern verbirgt
Das Graustufenbild wird in OpenCV / Python als Farbbild angezeigt
Erstellen Sie ein Lesezeichen in Python
Zeichne ein Herz in Python
Untersuchen, was in Python als Markdown-Parser verwendet werden kann
Rufen Sie die Formel in der Excel-Datei als Zeichenfolge in Python ab
Zahlenerkennung in Bildern mit Python
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Schreiben Sie eine Dichotomie in Python
Verwenden Sie Pymol als Python-Bibliothek
[Python] Verwalten Sie Funktionen in einer Liste
Drücken Sie einen Befehl in Python (Windows)
Verwenden Sie Stoff wie in Python (Stoff3)
Erstellen Sie einen DI-Container mit Python
So sammeln Sie Bilder in Python
Zeichnen Sie eine Streudiagrammmatrix mit Python
ABC166 in Python A ~ C Problem
Schreiben Sie A * (A-Stern) -Algorithmen in Python
Erstellen Sie eine Binärdatei in Python
Extrahieren Sie mit Python Text aus Bildern
Verwenden Sie Blender als Python-Modul
Löse ABC036 A ~ C mit Python
Schreiben Sie ein Kreisdiagramm in Python
Schreiben Sie das Vim-Plugin in Python
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Implementierung eines einfachen Algorithmus in Python 2
Löse ABC037 A ~ C mit Python
Starten Sie das Python-Skript im Dienst
Führen Sie einen einfachen Algorithmus in Python aus
Zeichnen Sie ein CNN-Diagramm in Python
Erstellen Sie eine zufällige Zeichenfolge in Python
Beim Schreiben eines Programms in Python
Wenn Sie einen Singleton in Python möchten, stellen Sie sich das Modul als Singleton vor
So installieren Sie das Python-Paket in einer lokalen Umgebung als allgemeiner Benutzer
Die eval () -Funktion, die eine Zeichenfolge als Ausdruck in Python berechnet
Was passiert, wenn Sie in Python "A, B als C importieren"?
Generieren Sie eine erstklassige Sammlung in Python
Spiralbuch in Python! Python mit einem Spiralbuch! (Kapitel 14 ~)
Löse ABC175 A, B, C mit Python
Verwenden Sie print in Python2 lambda expression
Anzeigen des Candlestick-Diagramms in Python (Matplotlib-Edition)
Ein einfacher HTTP-Client, der in Python implementiert ist
Installieren Sie Python als Framework mit pyenv
Führen Sie eine nicht rekursive Euler-Tour in Python durch
Ich habe ein Pay-Management-Programm in Python erstellt!
Vorsichtsmaßnahmen beim Beizen einer Funktion in Python
Wenden Sie verschiedene Formen von Mosaiken auf Bilder an (Python, OpenCV).
Schreiben Sie den Test in die Python-Dokumentzeichenfolge
Zeigen Sie eine Liste der Alphabete in Python 3 an
Versuchen Sie, ein SYN-Paket in Python zu senden