
בפוסט האחרון שלנו, הראינו לכם כיצד ליצור ולשמור קובץ DICOM ב-C# באמצעות Aspose.Medical עבור .NET. הצעד הבא הוא לקרוא את קובץ ה-DICOM השמור תכנותית ב-C#. בפוסט הבלוג הזה, תלמדו כיצד לטעון, לפתוח ולקרוא קבצי DICOM באמצעות C#. אתם יכולים להשתמש במדריך הזה כנקודת התחלה כדי ליצור את אפליקציית הצפייה שלכם לקובצי DCM.
המאמר הזה כולל את הנושאים הבאים:
Aspose.Medical—DCM לצפייה בקבצים
כדי לטעון, לקרוא ולצפות בקבצי DICOM, נשתמש ב-Aspose.Medical for .NET.זה מספק API נוח למפתחים לקרוא, לנתח ולהוציא נתוני DICOM בקלות. עצם ה-Dataset
בתוך מחלקת DicomFile
של ה-API מקלה על העבודה עם מטאדאטה רפואית.
לפני שנתחיל, ודא את הבא:
Install-Package Aspose.Medical
- כבר יש לך קובץ DICOM ששמור (למשל, sample.dcm) מהמדריך הקודם.
איך לקרוא קובץ DICOM: מדריך צעד אחר צעד
טען את קובץ ה-DICOM
אתה יכול לטעון את קובץ ה- .dcm
לתוך אובייקט DicomFile
ולהגיע לערכת הנתונים שלו, כפי שמדגים למטה:
// Load an existing DICOM file
DicomFile dicomFile = new DicomFile("sample.dcm");
Aspose.Medical.Dicom.Dataset dataset = dicomFile.Dataset;
קריאת ערכים מקובץ DICOM
לאחר שהקובץ נטען, תוכל לגשת למידע מפתח באמצעות תגים של DICOM:
string patientName = dataset.GetSingleValue<string>(Tag.PatientName);
Console.WriteLine($"Patient Name: {patientName}");
אתה יכול לקרוא מאות תגי DICOM בדרך זו בהתאם למידע שאתה זקוק לו.
נתוני פיקסל גישה
אם אתה רוצה למשוך נתוני תמונה מקובץ DICOM, השתמש ב:
byte[] pixelData = dataset.GetValues<byte>(Tag.PixelData).ToArray(); // Use ToArray() for display
Console.WriteLine($"Pixel Data Length: {pixelData.Length} bytes");
אתה יכול להשתמש במערך הבייטים הזה כדי להציג את התמונה או להזין אותו לאלגוריתמים של עיבוד נוסף.
שחזור ערך ברירת מחדל אם תג חסר
כאשר תגים הם אופציונליים, ייתכן שתרצה לספק ערכי ברירת מחדל. השתמש ב GetSingleValueOrDefault כדי להשיג נתונים או להחזיר ברירת מחדל אם התג חסר.
string institutionName = dataset.GetSingleValueOrDefault<string>(Tag.InstitutionName, "Unknown");
Console.WriteLine("Institution Name: " + institutionName);
זה אידיאלי לתרחישים שבהם נוכחות התג אינה צפויה.
שחזור ערך ספציפי מתג ערכים מרובים
אם תג מכיל ערכים מרובים, אבל אתה חייב רק אחד, השתמש ב GetValue עם ביטוי אינדקס או טווח.
double imagePositionX = dataset.GetValue<double>(Tag.ImagePositionPatient, ^1);
Console.WriteLine("First Image Position X: " + imagePositionX);
הערה: שיטה זו תזרוק חריגה אם התג חסר.
DCM File Viewer: Complete Code
כאן קוד עובד שלם שמראה כיצד לטעון קובץ DICOM ולקרוא את המידע על הטג’ים הזמינים:
// טען את קובץ ה-DICOM ששמרת
Aspose.Medical.Dicom.DicomFile dicomFile = DicomFile.Open("sample.dcm");
Aspose.Medical.Dicom.Dataset dataset = dicomFile.Dataset;
// קרא מידע הקשור למטופל
string patientID = dataset.GetSingleValue<string>(Tag.PatientID);
string patientName = dataset.GetSingleValue<string>(Tag.PatientName);
string birthDateStr = dataset.GetSingleValue<string>(Tag.PatientBirthDate);
DateTime birthDate = DateTime.ParseExact(birthDateStr, "yyyyMMdd", null);
// קרא מידע על המחקר
string studyDateStr = dataset.GetSingleValue<string>(Tag.StudyDate);
DateTime studyDate = DateTime.ParseExact(studyDateStr, "yyyyMMdd", null);
string studyID = dataset.GetSingleValue<string>(Tag.StudyID);
// קרא מטא-דאטה של תמונה
int rows = dataset.GetSingleValue<int>(Tag.Rows);
int columns = dataset.GetSingleValue<int>(Tag.Columns);
int bitsAllocated = dataset.GetSingleValue<int>(Tag.BitsAllocated);
string modality = dataset.GetSingleValue<string>(Tag.Modality);
byte[] pixelData = dataset.GetValues<byte>(Tag.PixelData).ToArray(); // Use ToArray() for display
// Display information
Console.WriteLine($"Patient ID: {patientID}");
Console.WriteLine($"Patient Name: {patientName}");
Console.WriteLine($"Birth Date: {birthDate:yyyy-MM-dd}");
Console.WriteLine($"Study Date: {studyDate:yyyy-MM-dd}");
Console.WriteLine($"Study ID: {studyID}");
Console.WriteLine($"Image Rows: {rows}");
Console.WriteLine($"Image Columns: {columns}");
Console.WriteLine($"Bits Allocated: {bitsAllocated}");
Console.WriteLine($"Modality: {modality}");
Console.WriteLine($"Pixel Data Length: {pixelData.Length} bytes");
Output
Patient ID: JD123456
Patient Name: John Doe
Birth Date: 1985-07-20
Study Date: 2025-07-07
Study ID: Study001
Image Rows: 256
Image Columns: 256
Bits Allocated: 8
Modality: OT
Pixel Data Length: 65536 bytes
נסה את זה בעצמך
אתה יכול להשתמש בכל קובץ .dcm
, בין אם הוא נוצר באמצעות Aspose או התקבל מהמכשיר הדמיה. פשוט טען את הקובץ וקרא את התגים, ואתה מוכן.
קבל רישיון חינם
אתה יכול get a free temporary license כדי לחקור את הפונקציות המלאות של Aspose.Medical עבור .NET ללא שום מגבלות. זה מהיר, קל, ולוקח רק דקה.
DICOM File Viewer: משאבים חינמיים
אתה יכול לשפר את חווית הפיתוח שלך עם המשאבים היקרים האלה:
סיכום
במאמר הזה, ראינו כיצד לקרוא ולהפיק נתונים מקובץ DICOM בשפת C#. כמפתח, אתה יכול להשתמש ב-Aspose.Medical עבור .NET כדי לעבוד עם קבצי DICOM (.dcm) ולבנות את יישום הצגת קובצי DCM שלך.
אם יש לך שאלות או נתקלת בבעיות בעת עבודה עם קבצי DICOM, אל תהסס ל שאל בפורומים של Aspose.צוות התמיכה תמיד מוכן לעזור.