Arbeiten mit DICOM-Bildern in Python

Auslösen

Beim Kaggle-Wettbewerb kamen CT-Scan-Bilder und DICOM-Bilder der Brust heraus und ich wusste nicht, wie ich damit umgehen sollte.

Was du tun kannst

・ Was ist ein DICOM-Bild? ・ Anzeigen von DICOM-Bildern und Umgang mit Daten

Was ist ein DICOM-Bild?

DICOM ist ein Standard, der die Formate von medizinischen Bildern definiert, die mit CT, MRT, CR usw. aufgenommen wurden, und das Kommunikationsprotokoll zwischen den medizinischen Bildgeräten, die sie verarbeiten. wiki

Anwendungsbeispiel

Installation

%pip install pydicom

Datensatz enthält Metadaten

import pydicom
import matplotlib.pyplot as plt
from pydicom.data import get_testdata_files

filename = get_testdata_files('CT_small.dcm')[0]
dataset = pydicom.dcmread(filename)
print(dataset)

image.png

Der Wert kann über den Schlüsselnamen (.Rows) oder die Nummer (0x0010,0x0010) angezeigt und aufgerufen werden.

dataset[0x0010, 0x0010]
dataset.Rows

image.png

Bis das Bild angezeigt wird

pat_name = dataset.PatientName
display_name = pat_name.family_name + ", " + pat_name.given_name

print("Patient's name...:", display_name)
print("Patient id.......:", dataset.PatientID)
print("Modality.........:", dataset.Modality)
print("Study Date.......:", dataset.StudyDate)
print(dataset[0x0018, 0x0050])

if 'PixelData' in dataset:
    rows = int(dataset.Rows)
    cols = int(dataset.Columns)
    print("Image size.......: {rows:d} x {cols:d}, {size:d} bytes".format(
        rows=rows, cols=cols, size=len(dataset.PixelData)))
    if 'PixelSpacing' in dataset:
        print("Pixel spacing....:", dataset.PixelSpacing)

# use .get() if not sure the item exists, and want a default value if missing
print("Slice location...:", dataset.get('SliceLocation', "(missing)"))


# plot the image using matplotlib
plt.imshow(dataset.pixel_array, cmap=plt.cm.bone)
plt.show()

image.png

Referenz

pydicom

Recommended Posts

Arbeiten mit DICOM-Bildern in Python
Betreiben Sie LibreOffice mit Python
Umgang mit Sounds in Python
Zahlenerkennung in Bildern mit Python
Versuchen Sie, mit Binärdaten in Python zu arbeiten
Entfernen Sie DICOM-Bilder in Python
Lesen von Zeichen in Bildern mit Python OCR
Konvertieren Sie PDFs mit Python in Massenbilder
DICOM-Bilder mit Python Part 2 entfernen
Versuchen Sie, mit Mongo in Python auf dem Mac zu arbeiten
[Einführung für Anfänger] Umgang mit MySQL mit Python
Angrenzende Bilder mit Python Teil 1
Base64-Codierung von Bildern in Python 3
Schaben mit Selen in Python
Schaben mit Chromedriver in Python
Debuggen mit pdb in Python
Python: Arbeiten mit Firefox mit Selen
Scraping mit Selen in Python
Tweet mit Bild in Python
Kombiniert mit Ordnungszahl in Python
Spezifischer Beispielcode für die Arbeit mit SQLite3 in Python
Testen mit Zufallszahlen in Python
GOTO in Python mit erhabenem Text 3
Scraping mit Selen in Python (Basic)
So sammeln Sie Bilder in Python
CSS-Analyse mit cssutils in Python
Öffnen Sie UTF-8 mit Stückliste in Python
Extrahieren Sie mit Python Text aus Bildern
Veröffentlichen Sie mehrere Twitter-Bilder mit Python
Animieren Sie mehrere Standbilder mit Python
Verwenden Sie Python in pyenv mit NeoVim
Laden Sie das GIF-Bild mit Python + OpenCV
Heatmap mit Dendrogramm in Python + Matplotlib
Lesen Sie Dateien parallel zu Python
Passwort für Lehrbuch mit Python generieren
Verwenden Sie OpenCV mit Python 3 in Window
Bis zum Umgang mit Python in Atom
Beginnen Sie mit Python mit Blender
Objektextraktion im Bild durch Mustervergleich mit OpenCV mit Python
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Spiralbuch in Python! Python mit einem Spiralbuch! (Kapitel 14 ~)
Versuchen Sie, sich mit Python bei qiita anzumelden
Stresstest mit Locust in Python geschrieben
Python3> im Schlüsselwort> Wahr mit teilweiser Übereinstimmung?
Exklusive Steuerung mit Sperrdatei in Python
Geräteüberwachung durch On-Box Python von IOS-XE
Verstärken Sie Bilder für maschinelles Lernen mit Python
Zeichnen Sie Nozomi Sasaki in Excel mit Python
Tipps zum Umgang mit Binärdateien in Python
Zeigen Sie Python 3 im Browser mit MAMP an
Bilder mit Pupil, Python und OpenCV aufnehmen
Fügen Sie mit Colaboratory japanische Schriftarten in Bilder ein
So arbeiten Sie mit BigQuery in Python
Trump-Klasse in Python (mit Vergleich)
Arbeiten mit OpenStack mit dem Python SDK
Bearbeiten von Azure CosmosDB aus Python Part.2
Umgang mit "Jahren und Monaten" in Python
Verarbeiten Sie mehrere Listen mit for in Python