Πρόσθετο DICOM
Προβολή ιατρικών εικόνων με DicomPlugin
Το πρόσθετο DICOM προσθέτει προβολή ιατρικών εικόνων στο Doconut: τα πολυπλανά αρχεία DICOM αποδίδονται ως μια κινούμενη επισκόπηση, μεμονωμένα πλαίσια ή και τα δύο. Το DICOM είναι μια μορφή μόνο-πρόσθετου — χωρίς αυτό το πρόσθετο (και τη δυνατότητα άδειας), τα αρχεία .dcm δεν μπορούν να ανοιχτούν καθόλου.
Εγκατάσταση του πακέτου
dotnet add package Doconut.NET8.DicomΗ εντολή χωρίς έκδοση εγκαθιστά την πιο πρόσφατη σταθερή έκδοση. Για να κλειδώσετε το πρόσθετο στην τρέχουσα έκδοση 26.7.0, περάστε την έκδοση ξεχωριστά:
dotnet 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 Viewer") καταχωρεί προβολείς για τις επεκτάσεις .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 (προεπιλογή) | Σελίδα 1 = animated GIF, σελίδες 2..N = στατικά πλαίσια | Επισκόπηση + λεπτομέρεια σε ένα έγγραφο |
Ο χρόνος της κίνησης ελέγχεται από το AnimationFrameDelayMs (προεπιλογή 100 ms = 10 FPS· η λεπτομέρεια του GIF είναι μονάδες 10 ms) και το LoopCount (0 = αέναος βρόχος).
Ανάλυση
Το DicomConfig αποδίδει σε 100 DPI ανά άξονα από προεπιλογή. Οι ιδιότητες ανάλυσης έχουν μια αλυσίδα εναλλακτικών τιμών που αξίζει να γνωρίζετε: εάν δεν ορίσετε ρητά τα HorizontalResolution/VerticalResolution, ακολουθούν το BaseConfig.ImageResolution όταν αυτό έχει ρυθμιστεί, και μόνο τότε επιστρέφουν στα 100.
// Ομοιόμορφη μετατόπιση μέσω της βασικής ιδιότητας…
new DicomConfig { ImageResolution = 150 };
// …ή έλεγχο ανά άξονα
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };Ανάγνωση μεταδεδομένων DICOM
Για συνεδρίες που ανοίγονται μέσω αυτού του πρόσθετου, το Viewer εκθέτει τα μεταδεδομένα ετικετών:
var metadata = await viewer.GetDicomMetadataAsync(token);
// null όταν η συνεδρία δεν είναι έγγραφο DICOMΠλήρης αναφορά ρυθμίσεων
Ο πλήρης πίνακας ιδιοτήτων DicomConfig βρίσκεται στην Αναφορά API → Διαμορφώσεις Μορφής. Ένα παράδειγμα παραγωγής από τον διακόπτη ανά επέκταση της εφαρμογής αναφοράς:
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },Συμπλήρωση υδατογραφήματος και συμπεριφορά μνήμης
Η κανονική απόφαση για υδατογράφημα σελίδας ισχύει επίσης για την έξοδο DICOM. Για την κινούμενη έξοδο, κάθε πλαίσιο GIF σήμανται ώστε το σήμα να παραμένει ορατό κατά τη διάρκεια της αναπαραγωγής. Ένα προσαρμοσμένο DocOptions.Watermark χρησιμοποιείται μόνο όταν η διαδρομή άδειας επιτρέπει προσαρμοσμένα υδατογραφήματα· δεν μπορεί να αντικαταστήσει ένα υδατογράφημα αξιολόγησης.
Οι μελέτες πολλαπλών πλαισίων μπορούν να δημιουργήσουν τόσο μια κίνηση όσο και μια στατική σελίδα ανά πλαίσιο. Το AnimationAndFrames παρέχει την πιο πλούσια πλοήγηση αλλά έχει επίσης το υψηλότερο κόστος απόδοσης και προσωρινής μνήμης. Για μεγάλες μελέτες:
- χρησιμοποιήστε το
FramesOnlyόταν η επιθεώρηση πλαισίων είναι πιο σημαντική από την κινηματογραφική αναπαραγωγή· - αποφύγετε την αύξηση και των δύο αξόνων ανάλυσης χωρίς μέτρηση μνήμης·
- κλείστε τη συνεδρία ρητά όταν η μελέτη δεν είναι πλέον ανοιχτή·
- διατηρήστε το
CachePagesενεργοποιημένο μόνο όταν τα οφέλη επαναλαμβανόμενης πρόσβασης υπερτερούν των διατηρημένων εικόνων.
Επίλυση προβλημάτων
| Σύμπτωμα | Έλεγχος |
|---|---|
.dcm αναφέρεται ως μη υποστηριζόμενο | DicomPlugin καταχώρηση και ανάπτυξη πακέτου |
| Η εκκίνηση αποτυγχάνει μετά την προσθήκη του πρόσθετου | Η φορτωμένη άδεια χορηγεί Dicom |
| Εμφανίζεται μόνο μία σελίδα | Η πηγή μπορεί να είναι μονοπλαίσιο, ή το DisplayMode είναι AnimationOnly |
| Η κίνηση είναι πολύ γρήγορη ή αργή | AnimationFrameDelayMs· ο αποτελεσματικός χρόνος GIF χρησιμοποιεί μονάδες 10 ms |
| Η μνήμη αυξάνεται σε μεγάλα αρχεία πολλαπλών πλαισίων | Λειτουργία εμφάνισης, ανάλυση, προσωρινή μνήμη σελίδων και ρητό κλείσιμο συνεδρίας |
Τα μεταδεδομένα είναι null | Το διακριτικό δεν ανοίχτηκε μέσω του πρόσθετου DICOM ή έχει λήξει |
Ήταν αυτή η σελίδα χρήσιμη;