2016-07-21 35 views
0

ich nach einer Möglichkeit, dicom Dateien zu komprimieren und sie zu einem Remote-Server (NodeJS in meinem Fall)Kompresse dicom-Dateien auf einen Remote-Server gesendet werden

Ich versuchte bz2 Kompression senden und es scheint zu funktionieren sehr gut auf großen dicom-Dateien (getestet mit 10 MB-Datei, die mir eine 5 MB komprimierte Datei gab).

Wenn es um kleine Größe kommt (wie eine 250Kb-Datei), erhalte ich eine Größe von sehr wenigen kb reduziert (5 bis 10 kb in den meisten Fällen), die es nicht wert sein, wird es

kann jemand erklären Sie mir bitte, warum bz2 sehr gut mit großen dicom-Dateien funktioniert und gibt es eine bessere Möglichkeit, dicom-Dateien zu komprimieren, die ich verwenden kann, um sie über das Internet zu senden.

danke im voraus.

+0

Wie möchten Sie die Dateien über das Internet übertragen? DICOM C-STORE oder ein proprietäres Protokoll? Über welche Art von Bildern redest du? Farbe/Graustufen, Auflösung? –

+0

danke für die Antwort, eine Übertragung mit http Post, bin ich mir nicht sicher über die dicom Art, gibt es nicht eine adaptive verlustfreie Komprimierungsmethode, die für jede Art funktioniert (?) – user3711521

Antwort

0

Wenn Sie ein DICOM-Dataset mit Bildern komprimieren möchten, sollten Sie einen der vom DICOM-Standard unterstützten Komprimierungstypen verwenden. Dies schließt verlustbehaftete und verlustfreie JPEG, JPEG 2000, JPEG-LS und RLE ein, um nur einige zu nennen. Standard unterstützt auch die Codierung von erweiterten Graustufen (12-16-Bit-Graustufen) unter Verwendung der standardbasierten Komprimierungstechniken.

Das Element Übertragungssyntax (0002, 0010) gibt an, ob das Bild im DICOM-Dataset bereits komprimiert ist oder nicht. Zum Beispiel wird das Komprimieren eines bereits komprimierten Bildes mit einem geringeren Komprimierungsverhältnis verglichen mit dem Original erscheinen. Die beste Methode zum Messen besteht also darin, mit dem ursprünglichen unkomprimierten Bild zu vergleichen. Wenn das ursprüngliche Bild bereits komprimiert ist, können Sie die Größe des unkomprimierten Bilds mit (Zeilen x Spalten x Bits zugewiesen/8 x Sample pro Pixel x Anzahl der Frames) berechnen. Das Komprimierungsverhältnis hängt vom verwendeten Bildtyp (Farbe gegenüber Graustufen) und der verwendeten Komprimierungstechnik ab. In der Regel erhalten Sie eine viel bessere Komprimierung, wenn Sie mit einem echten Farbbild im Vergleich zu einem Graustufenbild wie einem X-RAY arbeiten.

Wenn Sie HTTP zum Hochladen der Datei verwenden, können Sie auch den DICOM-Standard definierten Dienst wie den DICOMWeb (STOW-RS) -REST-Dienst verwenden.

Ich arbeite für LEAD Technologies und wenn Sie verschiedene Kompressionen auf Ihren DICOM-Dateien testen möchten, haben wir eine Demo-Exe (Übertragungssyntax), die mit unserem kostenlosen 60-Tage-Evaluierungs-SDK geliefert wird, das Sie zum Testen verwenden können. Außerdem gibt es eine Demo zum Testen der DICOMWeb-REST-Dienste. Sie können die Testversion von unserer Website herunterladen.

0

Es gibt nicht eine Lösung, die perfekt passt alles ...

BZ2 basiert auf dem Prinzip basiert, dass „Farben“ (oder Grauwerte, aber ich werde in dieser Erklärung „Farben“ verwenden), die häufig in dem Bild auftreten, werden mit weniger Bits codiert als Farben, die selten sind. Als Faustregel gilt also: Je größer das Bild, desto besser das Kompressionsverhältnis.

JPEG ist ein anderer Ansatz, der das Bild in Kacheln zerlegt und die Kodierung für jede Kachel optimiert. Somit ist das Kompressionsverhältnis weniger abhängig von der Bildgröße als für BZ2. JPEG kommt in verschiedenen Geschmacksrichtungen (verlustbehaftet, verlustfrei, JPEG 2000, das verschiedene Serialisierungen der komprimierten Daten für verschiedene Zwecke erzeugen kann, beispielsweise progressive Verfeinerung).

Weniger beliebte Komprimierungsalgorithmen, die in DICOM gültig sind, aber nicht weit von DICOM-Produkten unterstützt:

RLE (Run Length Encoding) - die Pixeldaten werden durch Paare von Farbe und Anzahl der Pixel beschrieben, so Es komprimiert sich sehr gut, wenn Sie große homogene Bereiche im Bild haben. In allen anderen Fällen ist es eher die Größe der „komprimiert“ Bild zunehmende

JPEG-LS - ich weiß nicht, wie es intern funktioniert, aber es bietet einen lossless-Algorithmus und einen verlustbehafteten Algorithmus, in dem Du Kontrollieren Sie den Informationsverlust (maximale Differenz eines Pixelwerts nach der Komprimierung zum ursprünglichen Pixelwert). Es wird gesagt, dass es bessere Verhältnisse als herkömmliches JPEG erreicht, aber da es nicht allgemein unterstützt wird, habe ich es noch nicht in der Praxis verwendet.

Wenn Sie den Komprimierungsalgorithmus nicht abhängig vom Bildtyp auswählen möchten, ist JPEG-Lossless wahrscheinlich ein guter Kompromiss für Sie. In typischen medizinischen Bildern erreicht es eine durchschnittliche Komprimierungsrate von ungefähr 1 :, ein bisschen mehr mit JPEG-2000.

+0

JPEG-Lossless erreicht etwa 1: 2 manchmal 1: 3 Kompressionsverhältnis für die meisten Fälle. Bei medizinischen Bildern ist JPEG-Lossless recht häufig, JPEG-LS und JPEG-2000 dagegen nicht. –