Πρόσθετο DICOM
Προβολή ιατρικών εικόνων με DicomPlugin
Το πρόσθετο DICOM προσθέτει προβολή ιατρικών εικόνων στο Doconut: αρχεία DICOM πολλαπλών καρέ αποδίδονται ως μια κινούμενη επισκόπηση, μεμονωμένα καρέ ή και τα δύο. Το DICOM είναι μορφή μόνο-πρόσθετου — χωρίς αυτό το πρόσθετο (και τη δυνατότητα άδειας του), τα αρχεία .dcm δεν μπορούν να ανοιχτούν καθόλου.
Εγκατάσταση του πακέτου
Η εντολή χωρίς έκδοση εγκαθιστά την πιο πρόσφατη σταθερή έκδοση. Για να κλειδώσετε το πρόσθετο στην τρέχουσα έκδοση 26.7.0, περάστε την έκδοση ξεχωριστά:
dotnet add package Doconut.NET8.Dicomdotnet add package Doconut.NET8.Dicom --version 26.7.0Διατηρήστε το πακέτο DICOM στην ίδια έκδοση με το Doconut.NET8. Το αναγνωριστικό του πακέτου είναι Doconut.NET8.Dicom; το .26.7.0 εμφανίζεται μόνο στο ληφθέν όνομα αρχείου .nupkg.
Καταχώρηση του πρόσθετου
builder.Services.AddDoconut(options =>
{
options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});Το πρόσθετο (Name: "Doconut DICOM Προβολέας") καταχωρεί προβολείς για τις επεκτάσεις .dcm και .ima, ελεγχόμενες από τη δυνατότητα Dicom. Ένα ελλιπές ή ανεπαρκές μη-προσωρινό δικαίωμα συνήθως αποτυγχάνει κατά τη διάρκεια του AddDoconut(). Επειδή κανένας ενσωματωμένος προβολέας δεν διαχειρίζεται αυτές τις μορφές, η πύλη χρόνου εκτέλεσης αποτυγχάνει επίσης σκληρά εάν η δυνατότητα αργότερα καταστεί μη διαθέσιμη:
LicenseException: This document type requires the 'Dicom' plugin license.Άνοιγμα αρχείου DICOM
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 = στατικά καρέ | Επισκόπηση + λεπτομέρεια σε ένα έγγραφο |
Ο χρόνος animation ελέγχεται από το AnimationFrameDelayMs (προεπιλογή 100 ms = 10 FPS· η λεπτομέρεια του GIF είναι μονάδες 10 ms) και το LoopCount (0 = αέναος βρόχος).
Ανάλυση
DicomConfig αποδίδει στα 100 DPI ανά άξονα εξ ορισμού. Οι ιδιότητες ανάλυσης έχουν μια αλυσίδα εφεδρικής τιμής που αξίζει να γνωρίζετε: εάν δεν ορίσετε ρητά HorizontalResolution/VerticalResolution, ακολουθούν το BaseConfig.ImageResolution όταν αυτό είναι διαμορφωμένο, και μόνο τότε επιστρέφουν στα 100.
// Uniform bump via the base property…
new DicomConfig { ImageResolution = 150 };
// …or per-axis control
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };Ανάγνωση μεταδεδομένων DICOM
Για συνεδρίες που ανοίγονται μέσω αυτού του πρόσθετου, το Viewer εκθέτει τα μεταδεδομένα ετικετών:
var metadata = await viewer.GetDicomMetadataAsync(token);
// null when the session isn't a DICOM documentΠλήρης αναφορά διαμόρφωσης
Ο πλήρης πίνακας ιδιοτήτων DicomConfig βρίσκεται στην Αναφορά API → Διαμορφώσεις Μορφής. Ένα παράδειγμα παραγωγής από το διακόπτη ανά επέκταση της εφαρμογής αναφοράς:
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },Συμπεριφορά υδατογραφήματος και μνήμης
Η κανονική απόφαση υδατογραφήματος σελίδας ισχύει επίσης για την έξοδο DICOM. Για την κινούμενη έξοδο, κάθε καρέ GIF σφραγίζεται ώστε το σήμα να παραμένει ορατό κατά τη διάρκεια της αναπαραγωγής. Ένα προσαρμοσμένο DocOptions.Watermark χρησιμοποιείται μόνο όταν η διαδρομή άδειας επιτρέπει προσαρμοσμένα υδατογραφήματα· δεν μπορεί να αντικαταστήσει ένα υδατογράφημα αξιολόγησης.
Οι μελέτες πολλαπλών καρέ μπορούν να δημιουργήσουν τόσο μια animation όσο και μια στατική σελίδα ανά καρέ. Το AnimationAndFrames παρέχει την πιο πλούσια πλοήγηση αλλά έχει επίσης το υψηλότερο κόστος απόδοσης και cache. Για μεγάλες μελέτες:
- χρησιμοποιήστε
FramesOnlyόταν η επιθεώρηση καρέ είναι πιο σημαντική από την κινηματογραφική αναπαραγωγή· - αποφύγετε την αύξηση και των δύο αξόνων ανάλυσης χωρίς μέτρηση μνήμης·
- κλείστε τη συνεδρία ρητά όταν η μελέτη δεν είναι πλέον ανοιχτή·
- διατηρήστε το
CachePagesενεργό μόνο όταν τα οφέλη επαναλαμβανόμενης πρόσβασης υπερτερούν των διατηρημένων εικόνων.
Επίλυση προβλημάτων
| Συμπτωμα | Έλεγχος |
|---|---|
.dcm αναφέρεται ως μη υποστηριζόμενο | Καταχώρηση DicomPlugin και ανάπτυξη πακέτου |
| Η εκκίνηση αποτυγχάνει μετά την προσθήκη του πρόσθετου | Η φορτωμένη άδεια χορηγεί Dicom |
| Εμφανίζεται μόνο μία σελίδα | Η πηγή μπορεί να είναι μονοκαρέ, ή το DisplayMode είναι AnimationOnly |
| Η animation είναι πολύ γρήγορη ή αργή | AnimationFrameDelayMs; ο αποτελεσματικός χρόνος GIF χρησιμοποιεί μονάδες 10 ms |
| Η μνήμη αυξάνεται σε μεγάλα αρχεία πολλαπλών καρέ | Λειτουργία εμφάνισης, ανάλυση, cache σελίδων, και ρητό κλείσιμο συνεδρίας |
Τα μεταδεδομένα είναι null | Το token δεν ανοίχτηκε μέσω του πρόσθετου DICOM ή έχει λήξει |
Ήταν αυτή η σελίδα χρήσιμη;