Πρόσθετο DICOM

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

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

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

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

bash
dotnet add package Doconut.NET8.Dicom
bash
dotnet add package Doconut.NET8.Dicom --version 26.7.0

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

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

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

Το πρόσθετο (Name: "Doconut DICOM Προβολέας") καταχωρεί προβολείς για τις επεκτάσεις .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 = στατικά καρέΕπισκόπηση + λεπτομέρεια σε ένα έγγραφο

Ο χρόνος animation ελέγχεται από το 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

Για συνεδρίες που ανοίγονται μέσω αυτού του πρόσθετου, το Viewer εκθέτει τα μεταδεδομένα ετικετών:

csharp
var metadata = await viewer.GetDicomMetadataAsync(token);
// null when the session isn't a DICOM document

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

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

csharp
".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 ή έχει λήξει

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