Πρόσθετο DICOM

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

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

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

bash
dotnet add package Doconut.NET8.Dicom

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

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 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 (προεπιλογή)Σελίδα 1 = animated GIF, σελίδες 2..N = στατικά πλαίσιαΕπισκόπηση + λεπτομέρεια σε ένα έγγραφο

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

Ανάλυση

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

csharp
// Ομοιόμορφη μετατόπιση μέσω της βασικής ιδιότητας…
new DicomConfig { ImageResolution = 150 };

// …ή έλεγχο ανά άξονα
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };

Ανάγνωση μεταδεδομένων DICOM

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

csharp
var metadata = await viewer.GetDicomMetadataAsync(token);
// null όταν η συνεδρία δεν είναι έγγραφο DICOM

Πλήρης αναφορά ρυθμίσεων

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

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

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