Πρόσθετο DICOM

Προβολή ιατρικών εικόνων με DicomPlugin

Το πρόσθετο DICOM προσθέτει προβολή ιατρικών εικόνων στο Doconut: τα πολυπλαισίου αρχεία DICOM αποδίδονται ως μια κινούμενη επισκόπηση, μεμονωμένα πλαίσια ή και τα δύο. Το DICOM είναι μορφή μόνο-πρόσθετου — χωρίς αυτό το πρόσθετο (και τη δυνατότητα άδειας του), τα αρχεία .dcm δεν μπορούν να ανοιχτούν καθόλου.

Εγκατάσταση του πακέτου

bash
dotnet add package Doconut.NETStandard.Dicom

Η εντολή χωρίς έκδοση εγκαθιστά την πιο πρόσφατη σταθερή έκδοση. Για να κλειδώσετε το πρόσθετο στην τρέχουσα έκδοση 26.8.0, περάστε την έκδοση ξεχωριστά:

bash
dotnet add package Doconut.NETStandard.Dicom --version 26.8.0

Διατηρήστε το πακέτο DICOM στην ίδια έκδοση με το Doconut.NETStandard. Το αναγνωριστικό του πακέτου είναι Doconut.NETStandard.Dicom; το .26.8.0 εμφανίζεται μόνο στο όνομα του ληφθέντος αρχείου .nupkg.

Καταχώρηση του πρόσθετου

csharp
builder.Services.AddDoconut(options =>
{
    options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});

Το πρόσθετο (Name: "Doconut DICOM Viewer") καταχωρεί προβολείς για τις επεκτάσεις .dcm και .ima, ελεγχόμενες από τη δυνατότητα Dicom. Ένα ελλιπές ή ανεπαρκές μη-προσωρινό δικαίωμα συνήθως αποτυγχάνει κατά τη διάρκεια του AddDoconut(). Επειδή κανένας ενσωματωμένος προβολέας δεν διαχειρίζεται αυτές τις μορφές, η πύλη χρόνου εκτέλεσης επίσης αποτυγχάνει σκληρά εάν η δυνατότητα αργότερα καταστεί μη διαθέσιμη:

text
LicenseException: This document type requires the 'Dicom' plugin license.

Άνοιγμα αρχείου DICOM

csharp
var token = await viewer.OpenDocumentAsync(path, new DicomConfig
{
    DisplayMode = DicomDisplayMode.AnimationAndFrames
});

Τρόποι εμφάνισης

Τα πολυπλαισίου αρχεία DICOM μπορούν να παρουσιαστούν με τρεις τρόπους (DicomDisplayMode):

ΛειτουργίαΠαραγόμενες σελίδεςΧρήση
AnimationOnlyΣελίδα 1 = animated GIF που επαναλαμβάνει όλα τα πλαίσιαΓρήγορη κινηματογραφική επισκόπηση
FramesOnlyΣελίδες 1..N = ένα στατικό PNG ανά πλαίσιοΔιάγνωση πλαισίου-προς-πλαίσιο
AnimationAndFrames (default)Σελίδα 1 = animated GIF, σελίδες 2..N = στατικά πλαίσιαΕπισκόπηση + λεπτομέρεια σε ένα έγγραφο

Ο χρόνος κίνησης ελέγχεται από το AnimationFrameDelayMs (προεπιλογή 100 ms = 10 FPS· η ακρίβεια του GIF είναι μονάδες των 10 ms) και το LoopCount (0 = ατέρμαντη επανάληψη).

Ανάλυση

DicomConfig αποδίδει στα 100 DPI ανά άξονα εξ ορισμού. Οι ιδιότητες ανάλυσης έχουν μια αλυσίδα εναλλακτικών τιμών που αξίζει να γνωρίζετε: εάν δεν ορίσετε ρητά το HorizontalResolution/VerticalResolution, ακολουθούν το BaseConfig.ImageResolution όταν αυτό έχει ρυθμιστεί, και μόνο τότε επιστρέφουν στα 100.

csharp
// Uniform bump via the base property…
new DicomConfig { ImageResolution = 150 };

// …or per-axis control
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };

Διαθεσιμότητα μεταδεδομένων DICOM στο .NET Standard

Η απόδοση σελίδων DICOM, τα μεμονωμένα πλαίσια, η κίνηση, οι μετασχηματισμοί και η προσθήκη υδατογραφήματος υποστηρίζονται. Τα τεχνικά μεταδεδομένα ετικετών δεν είναι διαθέσιμα στο πακέτο .NET Standard επειδή ο αναγνώστης μεταδεδομένων διανέμεται μόνο σε έκδοση .NET 8.

Viewer.GetDicomMetadataAsync(token) επομένως επιστρέφει null για μια συνεδρία DICOM και καταγράφει μια μοναδική προειδοποίηση. Το αντίστοιχο αίτημα middleware ?token=…&meta επιστρέφει HTTP 501 Not Implemented με τον σταθερό κωδικό σφάλματος dicom_metadata_unsupported. Χρησιμοποιήστε το πακέτο .NET 8 όταν τα τεχνικά μεταδεδομένα DICOM είναι απαραίτητα.

Πλήρης αναφορά διαμόρφωσης

Ο πλήρης πίνακας ιδιοτήτων DicomConfig βρίσκεται στην Αναφορά API → Διαμορφώσεις Μορφής. Ένα παράδειγμα παραγωγής από το διακόπτη ανά επέκταση της εφαρμογής αναφοράς:

csharp
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },

Συμπεριφορά υδατογραφήματος και μνήμης

Η κανονική απόφαση υδατογραφήματος σελίδας ισχύει επίσης για την έξοδο DICOM. Για την κινούμενη έξοδο, κάθε πλαίσιο GIF σφραγίζεται ώστε το σήμα να παραμένει ορατό κατά τη διάρκεια της αναπαραγωγής. Ένα προσαρμοσμένο DocOptions.Watermark χρησιμοποιείται μόνο όταν η διαδρομή άδειας επιτρέπει προσαρμοσμένα υδατογραφήματα· δεν μπορεί να αντικαταστήσει ένα υδατογράφημα αξιολόγησης.

Οι μελέτες πολλαπλών πλαισίων μπορούν να δημιουργήσουν τόσο μια κίνηση όσο και μία στατική σελίδα ανά πλαίσιο. Το AnimationAndFrames προσφέρει την πιο πλούσια πλοήγηση αλλά έχει επίσης το υψηλότερο κόστος απόδοσης και cache. Για μεγάλες μελέτες:

  • χρησιμοποιήστε FramesOnly όταν η επιθεώρηση πλαισίων είναι πιο σημαντική από την κινηματογραφική αναπαραγωγή·
  • αποφύγετε την αύξηση και των δύο αξόνων ανάλυσης χωρίς μέτρηση μνήμης·
  • κλείστε τη συνεδρία ρητά όταν η μελέτη δεν είναι πλέον ανοιχτή·
  • διατηρήστε το CachePages ενεργοποιημένο μόνο όταν τα οφέλη επαναλαμβανόμενης πρόσβασης υπερτερούν των διατηρημένων εικόνων.

Επίλυση προβλημάτων

ΣύμπτωμαΈλεγχος
Το .dcm αναφέρεται ως μη υποστηριζόμενοΚαταχώρηση DicomPlugin και ανάπτυξη πακέτου
Η εκκίνηση αποτυγχάνει μετά την προσθήκη του πρόσθετουΗ φορτωμένη άδεια παρέχει Dicom
Εμφανίζεται μόνο μία σελίδαΗ πηγή μπορεί να είναι μονοπλαίσιο, ή το DisplayMode είναι AnimationOnly
Η κίνηση είναι πολύ γρήγορη ή αργήAnimationFrameDelayMs; η αποτελεσματική χρονομέτρηση GIF χρησιμοποιεί μονάδες των 10 ms
Η μνήμη αυξάνεται σε μεγάλα αρχεία πολλαπλών πλαισίωνΤρόπος εμφάνισης, ανάλυση, cache σελίδων και ρητό κλείσιμο συνεδρίας
Τα μεταδεδομένα είναι null, ή το &meta επιστρέφει 501Αναμενόμενος περιορισμός αυτού του πακέτου· η απόδοση δεν επηρεάζεται

Ήταν αυτή η σελίδα χρήσιμη;