VintaSoft Imaging .NET SDK 14.0: Документация для .NET разработчика
Vintasoft.Imaging.Dicom.Mpr Namespace / MprImage Class
    Класс MprImage
    В этом разделе
    Предоставляет возможность восстанавливать изображения в плоских или криволинейных плоскостях из серии 2D-изображений DICOM.
    Объектная модель
    ApplyDicomImageVoiLutCommand MprImagePlanarSlice VintasoftPoint3D VintasoftVector3D VintasoftVector3D VintasoftVector3D MprImage
    Синтаксис
    'Declaration
    
    Public Class MprImage
    
    
    public class MprImage
    
    
    public __gc class MprImage
    
    
    public ref class MprImage
    
    
    Ремарки

    Основные возможности:


    MPR (мультипланарная реконструкция) предоставляет возможность реконструировать изображения в плоских плоскостях (коронарной, сагиттальной, аксиальной или косой) и криволинейных плоскостях из серии 2D-изображений.
    Изображение MPR может быть создано только из серии изображений, которая соответствует следующим требованиям:
    • плоскости все изображения в серии должны быть параллельными
    • расстояние между соседними изображениями не должно превышать SliceIntervalMaxDelta

    МПР-изображение хранит реконструированный набор данных в виде значений в оттенках серого с точностью 16 бит.
    МПР-изображение использует два координатных пространства:
    • Мировое пространство - трехмерная система координат, в которой указываются местоположение и направления исходных изображений DICOM. В системе координат в качестве единицы измерения используются миллиметры.
    • Пространство изображения MPR - трехмерная система координат, в которой местоположение и направления указываются относительно местоположения и направлений исходных изображений DICOM. В системе координат в качестве единицы измерения используются миллиметры.
    • Пространство среза - двухмерная система координат, которая определяет плоский или криволинейный срез пространства изображения MPR. Система координат использует миллиметры в качестве единицы измерения. Центр системы координат соответствует местоположению среза (Location) в пространстве изображения MPR.

    Пример

    Вот C#/VB.NET код, который демонстрирует, как создать, инициализировать и синхронно заполнить изображение DICOM MPR.

    
    ''' <summary>
    ''' Creates the initialized <see cref="Vintasoft.Imaging.Dicom.Mpr.MprImage"/>
    ''' from <see cref="Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFile"/> array.
    ''' </summary>
    ''' <param name="sourceDicomFiles">The source DICOM files.</param>
    ''' <returns>
    ''' The initialized <see cref="Vintasoft.Imaging.Dicom.Mpr.MprImage"/>.
    ''' </returns>
    ''' <exception cref="System.ArgumentNullException">Thrown if <i>sourceDicomFiles</i> is <b>null</b>.</exception>
    Public Shared Function CreateInitAndSyncFill(ParamArray sourceDicomFiles As Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFile()) As Vintasoft.Imaging.Dicom.Mpr.MprImage
        ' if source DICOM files are not specified
        If sourceDicomFiles Is Nothing Then
            Throw New System.ArgumentNullException()
        End If
    
        ' a list of source MPR slices
        Dim sourceMprSlices As New System.Collections.Generic.List(Of Vintasoft.Imaging.Dicom.Mpr.MprDicomImagePlanarSlice)()
    
        ' for each DICOM file
        For Each sourceDicomFile As Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFile In sourceDicomFiles
            ' for each DICOM frame
            For Each sourceDicomFrame As Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFrame In sourceDicomFile.Pages
                ' create MPR slice from DICOM frame
                sourceMprSlices.Add(New Vintasoft.Imaging.Dicom.Mpr.MprDicomImagePlanarSlice(sourceDicomFrame))
            Next
        Next
    
        ' create the MPR image
        Dim mprImage As New Vintasoft.Imaging.Dicom.Mpr.MprImage()
    
        ' initialize the source data
        mprImage.Initialize(sourceMprSlices.ToArray())
    
        ' fill the MPR image data synchronously
        mprImage.FillDataSync()
    
        Return mprImage
    End Function
    
    
    
    /// <summary>
    /// Creates the initialized <see cref="Vintasoft.Imaging.Dicom.Mpr.MprImage"/>
    /// from <see cref="Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFile"/> array.
    /// </summary>
    /// <param name="sourceDicomFiles">The source DICOM files.</param>
    /// <returns>
    /// The initialized <see cref="Vintasoft.Imaging.Dicom.Mpr.MprImage"/>.
    /// </returns>
    /// <exception cref="System.ArgumentNullException">Thrown if <i>sourceDicomFiles</i> is <b>null</b>.</exception>
    public static Vintasoft.Imaging.Dicom.Mpr.MprImage CreateInitAndSyncFill(
        params Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFile[] sourceDicomFiles)
    {
        // if source DICOM files are not specified
        if (sourceDicomFiles == null)
            throw new System.ArgumentNullException();
        
        // a list of source MPR slices
        System.Collections.Generic.List<Vintasoft.Imaging.Dicom.Mpr.MprDicomImagePlanarSlice> sourceMprSlices = 
            new System.Collections.Generic.List<Vintasoft.Imaging.Dicom.Mpr.MprDicomImagePlanarSlice>();
    
        // for each DICOM file
        foreach (Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFile sourceDicomFile in sourceDicomFiles)
        {
            // for each DICOM frame
            foreach (Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFrame sourceDicomFrame in sourceDicomFile.Pages)
            {
                // create MPR slice from DICOM frame
                sourceMprSlices.Add(new Vintasoft.Imaging.Dicom.Mpr.MprDicomImagePlanarSlice(sourceDicomFrame));
            }
        }
    
        // create the MPR image
        Vintasoft.Imaging.Dicom.Mpr.MprImage mprImage = new Vintasoft.Imaging.Dicom.Mpr.MprImage();
    
        // initialize the source data
        mprImage.Initialize(sourceMprSlices.ToArray());
    
        // fill the MPR image data synchronously
        mprImage.FillDataSync();
    
        return mprImage;
    }
    
    

    Иерархия наследования

    System.Object
       Vintasoft.Imaging.Dicom.Mpr.MprImage

    Требования

    Целевые платформы: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    Смотрите также