LEADTOOLS画像処理(Leadtools.ImageProcessing.Coreアセンブリ)

フレームを表示

ApplyVoiLookupTableCommandクラス








メンバ 
ルックアップテーブル(LookupTable)を通して、特定の画像について描画または描画と画像処理のメソッドのウィンドウレベル調整オプションをセットアップします。
オブジェクトモデル
構文
'Declaration
 
Public Class ApplyVoiLookupTableCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements Leadtools.ImageProcessing.IRasterCommand 
'Usage
 
Dim instance As ApplyVoiLookupTableCommand
public sealed class ApplyVoiLookupTableCommand : Leadtools.ImageProcessing.IRasterCommand  
@interface LTApplyVoiLookupTableCommand : LTRasterCommand
public class ApplyVoiLookupTableCommand extends RasterCommand
function Leadtools.ImageProcessing.Core.ApplyVoiLookupTableCommand()
public ref class ApplyVoiLookupTableCommand : public Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand  
解説

このコマンドはDocumentとMedicalイメージングツールキットで利用できます。

詳細については、「明度とコントラストの変更」を参照してください。

LEADTOOLSのSilverlightバージョンにおいて、RasterImageオブジェクトのための画像データがSilverlight WriteableBitmapを用いて内部的に保存されるならば、この画像処理コマンドは失敗しますオブジェクト。詳細については、「Silverlightの画像処理コマンド限界」を参照してください。

サンプル

imageの上でApplyVoiLookupTableCommandを実行します。

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core

   
Public Sub ApplyVoiLookupTableCommandExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"))

   ' Prepare the command
   Dim i As Integer
   Dim pLookupTable() As Short
   ReDim pLookupTable(65536)
   Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor

   For i = 0 To 65536

      If (i < 30) Then
         pLookupTable(i) = 0

      Else
         If (i > 630) Then
            pLookupTable(i) = 630
         Else
            pLookupTable(i) = CType(i, Int16)
         End If

      End If

   Next

   ' fill the LookupTableDescriptor object
   LookupTableDescriptor.FirstStoredPixelValueMapped = 0
   LookupTableDescriptor.EntryBits = 16

   Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommand
   command.Flags = VoiLookupTableCommandFlags.None
   command.LookupTable = pLookupTable
   command.LookupTableDescriptor = LookupTableDescriptor
   command.Run(leadImage)

End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;

      
public void ApplyVoiLookupTableCommandExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"));

   // Prepare the command
   int                i; 
   short[] pLookupTable = new short[0x10000];
   DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();

   for(i = 0; i < 0x10000; i++)
   {
      if(i < 30) 
      {
         pLookupTable[i] = 0;
      }
      else
         if(i > 630) 
         pLookupTable[i] = 630;
      else
         pLookupTable[i] = (short)i;
   }

   // fill the LookupTableDescriptor object
   LookupTableDescriptor.FirstStoredPixelValueMapped = 0;
   LookupTableDescriptor.EntryBits = 16;

   ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand();
   command.Flags                      = VoiLookupTableCommandFlags.None;
   command.LookupTable                = pLookupTable;
   command.LookupTableDescriptor      = LookupTableDescriptor;
   command.Run(image);

}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
function ApplyVoiLookupTableCommandExample()
{
   var codecs = new Leadtools.Codecs.RasterCodecs();
   codecs.throwExceptionsOnInvalidImages = true;

   // Load the image
   var srcFileName = "Assets\\Image2.dcm";
   return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
      return codecs.loadAsync(Leadtools.LeadStreamFactory.create(loadFile));
   }).then(function (image){
      // Prepare the command
      with (Leadtools.ImageProcessing.Core) {
         // Prepare the command
         var i; 
         var pLookupTable = new Array();; 
         var LookupTableDescriptor = new DicomLookupTableDescriptor();
         
         for(i = 0; i < 0x10000; i++)
         {
            if(i < 30) 
            {
               pLookupTable[i] = 0;
            }
            else
               if(i > 630) 
                  pLookupTable[i] = 630;
               else
                  pLookupTable[i] = parseInt(i);
         }
         
         // fill the LookupTableDescriptor object
         LookupTableDescriptor.firstStoredPixelValueMapped = 0;
         LookupTableDescriptor.entryBits = 16;
         
         var command = new ApplyVoiLookupTableCommand();
         command.flags = VoiLookupTableCommandFlags.none;
         command.lookupTable = pLookupTable;
         command.lookupTableDescriptor = LookupTableDescriptor;
         command.run(image);
      }
   });
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;

      
public async Task ApplyVoiLookupTableCommandExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   // Load the image
   string srcFileName = @"Assets\Image2.dcm";
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // Prepare the command
   int                i; 
   short[] pLookupTable = new short[0x10000];
   DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();

   for(i = 0; i < 0x10000; i++)
   {
      if(i < 30) 
      {
         pLookupTable[i] = 0;
      }
      else
         if(i > 630) 
         pLookupTable[i] = 630;
      else
         pLookupTable[i] = (short)i;
   }

   // fill the LookupTableDescriptor object
   LookupTableDescriptor.FirstStoredPixelValueMapped = 0;
   LookupTableDescriptor.EntryBits = 16;

   ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand();
   command.Flags                      = VoiLookupTableCommandFlags.None;
   command.LookupTable                = pLookupTable;
   command.LookupTableDescriptor      = LookupTableDescriptor;
   command.Run(image);

}
using Leadtools;
using Leadtools.Examples;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;

public void ApplyVoiLookupTableCommandExample(RasterImage image, Stream outStream)
{
   // Prepare the command
   int i;
   short[] pLookupTable = new short[0x10000];
   DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();
   for(i = 0; i < 0x10000; i++)
   {
      if(i < 30) 
      {
         pLookupTable[i] = 0;
      }
      else
         if(i > 630) 
         pLookupTable[i] = 630;
      else
         pLookupTable[i] = (short)i;
   }

   // fill the LookupTableDescriptor object
   LookupTableDescriptor.FirstStoredPixelValueMapped = 0;
   LookupTableDescriptor.EntryBits = 16;

   ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand();
   command.Flags                      = VoiLookupTableCommandFlags.None;
   command.LookupTable                = pLookupTable;
   command.LookupTableDescriptor      = LookupTableDescriptor;
   command.Run(image);

   // Save result image
   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
   image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core

Public Sub ApplyVoiLookupTableCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
   ' Prepare the command
   Dim i As Integer
   Dim pLookupTable As Short() = New Short(&H10000 - 1){}
   Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor()
   i = 0
   Do While i < &H10000
      If i < 30 Then
         pLookupTable(i) = 0
      Else
         If i > 630 Then
         pLookupTable(i) = 630
      Else
         pLookupTable(i) = CShort(i)
      End If
      End If
      i += 1
   Loop

   ' fill the LookupTableDescriptor object
   LookupTableDescriptor.FirstStoredPixelValueMapped = 0
   LookupTableDescriptor.EntryBits = 16

   Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommand()
   command.Flags = VoiLookupTableCommandFlags.None
   command.LookupTable = pLookupTable
   command.LookupTableDescriptor = LookupTableDescriptor
   command.Run(image)

   ' Save result image
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
   image.Dispose()
End Sub
必要条件

ターゲットプラットホーム

参照

参照

ApplyVoiLookupTableCommandメンバ
Leadtools.ImageProcessing.Core名前空間
明度とコントラストの変更
ApplyLinearVoiLookupTableCommandクラス
Leadtools.ImageProcessing.Color.RemapIntensityCommand
ApplyModalityLookupTableCommandクラス
ApplyLinearModalityLookupTableCommandクラス
Leadtools.ImageProcessing.Color.AdjustTintCommand
Leadtools.ImageProcessing.Color.GammaCorrectExtendedCommand