VintaSoft Imaging .NET SDK 14.0: Документация для .NET разработчика
Vintasoft.Imaging.ImageProcessing Namespace / ApplyDicomImageVoiLutCommand Class
Члены типа Объект Синтаксис Example Иерархия Требования Смотрите также
В этом разделе
    Класс ApplyDicomImageVoiLutCommand
    В этом разделе
    Применяет VOI LUT (таблицу поиска интересующих значений) к изображению DICOM.
    Объектная модель
    DicomImageModalityLookupTable DicomImageVoiLookupTable ProcessingCommandResults ApplyDicomImageVoiLutCommand
    Синтаксис
    'Declaration
    
    Public Class ApplyDicomImageVoiLutCommand
       Inherits ProcessingCommandBase
    
    
    public class ApplyDicomImageVoiLutCommand : ProcessingCommandBase
    
    
    public __gc class ApplyDicomImageVoiLutCommand : public ProcessingCommandBase*
    
    
    public ref class ApplyDicomImageVoiLutCommand : public ProcessingCommandBase^
    
    
    Пример

    Вот C#/VB.NET код, который демонстрирует, как получить необработанное изображение DICOM, применить VOI LUT к изображению DICOM, добавить наложения к изображению DICOM и сохранить изображение DICOM в виде файла PNG.

    
    ''' <summary>
    ''' Returns raw DICOM image, applies a VOI LUT to the DICOM image,
    ''' draws the overlay objects to the DICOM image, saves DICOM image to a PNG file.
    ''' </summary>
    ''' <param name="filePath">Path to DICOM file.</param>
    ''' <param name="pageIndex">Index of DICOM page.</param>
    Public Sub GetAndSaveDicomImageWithOverlaysAndAdjustImageWindow(filePath As String, pageIndex As Integer)
        ' open DICOM file
        Using dicomFile As New Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFile(filePath)
            ' get DICOM page
            Dim frame As Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFrame = DirectCast(dicomFile.Pages(pageIndex), Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFrame)
    
    
            ' get raw DICOM image
    
            ' create settings for decoding DICOM image
            Dim decodingSettings As New Vintasoft.Imaging.Codecs.Decoders.DicomDecodingSettings()
            ' specify that Modality LUT should not be applied to a DICOM image
            decodingSettings.ApplyModalityLut = False
            ' specify that VOI LUT should not be applied to a DICOM image
            decodingSettings.ApplyValueOfInterestLut = False
            ' specify that overlay objects should not be drawn on DICOM image
            decodingSettings.ShowOverlayImages = False
            ' get raw DICOM image
            Using image As Vintasoft.Imaging.VintasoftImage = frame.GetImage(decodingSettings, Nothing)
    
    
                ' apply VOI LUT to the DICOM image
    
                Dim applyDicomImageVoiLutCommand As New Vintasoft.Imaging.ImageProcessing.ApplyDicomImageVoiLutCommand()
                applyDicomImageVoiLutCommand.VoiLut = New Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomImageVoiLookupTable(128, 50)
                applyDicomImageVoiLutCommand.ExecuteInPlace(image)
    
    
                ' draw overlay objects on DICOM image
    
                Dim applyDicomOverlaysCommand As New Vintasoft.Imaging.ImageProcessing.ApplyDicomOverlaysCommand()
                applyDicomOverlaysCommand.OverlayImages = frame.OverlayImages
                applyDicomOverlaysCommand.OverlayColor = New Vintasoft.Imaging.ImageColors.Rgb24Color(180, 180, 180)
                applyDicomOverlaysCommand.ExecuteInPlace(image)
    
    
                ' save image to a PNG file
                image.Save("E:\DicomImage.png")
            End Using
        End Using
    End Sub
    
    
    
    /// <summary>
    /// Returns raw DICOM image, applies a VOI LUT to the DICOM image,
    /// draws the overlay objects to the DICOM image, saves DICOM image to a PNG file.
    /// </summary>
    /// <param name="filePath">Path to DICOM file.</param>
    /// <param name="pageIndex">Index of DICOM page.</param>
    public void GetAndSaveDicomImageWithOverlaysAndAdjustImageWindow(string filePath, int pageIndex)
    {
        // open DICOM file
        using (Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFile dicomFile =
            new Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFile(filePath))
        {
            // get DICOM page
            Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFrame frame =
                (Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomFrame)dicomFile.Pages[pageIndex];
    
    
            // get raw DICOM image
    
            // create settings for decoding DICOM image
            Vintasoft.Imaging.Codecs.Decoders.DicomDecodingSettings decodingSettings =
                new Vintasoft.Imaging.Codecs.Decoders.DicomDecodingSettings();
            // specify that Modality LUT should not be applied to a DICOM image
            decodingSettings.ApplyModalityLut = false;
            // specify that VOI LUT should not be applied to a DICOM image
            decodingSettings.ApplyValueOfInterestLut = false;
            // specify that overlay objects should not be drawn on DICOM image
            decodingSettings.ShowOverlayImages = false;
            // get raw DICOM image
            using (Vintasoft.Imaging.VintasoftImage image = frame.GetImage(decodingSettings, null))
            {
    
    
                // apply VOI LUT to the DICOM image
    
                Vintasoft.Imaging.ImageProcessing.ApplyDicomImageVoiLutCommand applyDicomImageVoiLutCommand =
                    new Vintasoft.Imaging.ImageProcessing.ApplyDicomImageVoiLutCommand();
                applyDicomImageVoiLutCommand.VoiLut = new Vintasoft.Imaging.Codecs.ImageFiles.Dicom.DicomImageVoiLookupTable(128, 50);
                applyDicomImageVoiLutCommand.ExecuteInPlace(image);
    
    
                // draw overlay objects on DICOM image
    
                Vintasoft.Imaging.ImageProcessing.ApplyDicomOverlaysCommand applyDicomOverlaysCommand =
                    new Vintasoft.Imaging.ImageProcessing.ApplyDicomOverlaysCommand();
                applyDicomOverlaysCommand.OverlayImages = frame.OverlayImages;
                applyDicomOverlaysCommand.OverlayColor = new Vintasoft.Imaging.ImageColors.Rgb24Color(180, 180, 180);
                applyDicomOverlaysCommand.ExecuteInPlace(image);
    
    
                // save image to a PNG file
                image.Save(@"E:\DicomImage.png");
            }
        }
    }
    
    

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

    System.Object
       Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase
          Vintasoft.Imaging.ImageProcessing.ApplyDicomImageVoiLutCommand

    Требования

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

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