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

フレームを表示

ApplyModalityLookupTableCommandクラス








メンバ 
LookupTable(LookupTable)を使用して画像ピクセルをリマップします。
オブジェクトモデル
構文
'Declaration
 
Public Class ApplyModalityLookupTableCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements Leadtools.ImageProcessing.IRasterCommand 
'Usage
 
Dim instance As ApplyModalityLookupTableCommand
public sealed class ApplyModalityLookupTableCommand : Leadtools.ImageProcessing.IRasterCommand  
@interface LTApplyModalityLookupTableCommand : LTRasterCommand
public class ApplyModalityLookupTableCommand extends RasterCommand
function Leadtools.ImageProcessing.Core.ApplyModalityLookupTableCommand()
public ref class ApplyModalityLookupTableCommand : public Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand  
解説

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

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

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

サンプル

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

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

   
Public Sub ApplyModalityLookupTableCommandExample()
   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(65535)
   Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor

   ' set a LookupTable which reduces the intensity of each pixel to half
   For i = 0 To 65535
      pLookupTable(i) = CType(i \ 2, Int16)
   Next


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

   ' apply the LookupTable
   Dim command As ApplyModalityLookupTableCommand = New ApplyModalityLookupTableCommand
   command.Flags = ModalityLookupTableCommandFlags.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 ApplyModalityLookupTableCommandExample()
{
   // 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();

   // set a LookupTable which reduces the intensity of each pixel to half
   for(i = 0; i <= 0xFFFF; i++)
      pLookupTable[i] = (short)(i / 2);

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

   // apply the LookupTable
   ApplyModalityLookupTableCommand command = new ApplyModalityLookupTableCommand();
   command.Flags = ModalityLookupTableCommandFlags.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 ApplyModalityLookupTableCommandExample()
{
   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){
      with (Leadtools.ImageProcessing.Core) {
         // Prepare the command
         var i; 
         var pLookupTable = new Array();; 
         var LookupTableDescriptor = new DicomLookupTableDescriptor();

         // set a LookupTable which reduces the intensity of each pixel to half
         for(i = 0; i <= 0xFFFF; i++)
            pLookupTable[i] = parseInt(i / 2);
         
         // fill the LookupTableDescriptor object
         LookupTableDescriptor.firstStoredPixelValueMapped = 0; 
         LookupTableDescriptor.entryBits = 16; 
         
         // apply the LookupTable
         var command = new ApplyModalityLookupTableCommand();
         command.flags = ModalityLookupTableCommandFlags.none;
         command.lookupTable = pLookupTable;
         command.lookupTableDescriptor = LookupTableDescriptor;
         command.run(image);
      }
   });
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;

      
public async Task ApplyModalityLookupTableCommandExample()
{
   // 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();

   // set a LookupTable which reduces the intensity of each pixel to half
   for(i = 0; i <= 0xFFFF; i++)
      pLookupTable[i] = (short)(i / 2);

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

   // apply the LookupTable
   ApplyModalityLookupTableCommand command = new ApplyModalityLookupTableCommand();
   command.Flags = ModalityLookupTableCommandFlags.None;
   command.LookupTable = pLookupTable;
   command.LookupTableDescriptor = LookupTableDescriptor;
   command.Run(image);
}
using Leadtools;
using Leadtools.Examples;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;

public void ApplyModalityLookupTableCommandExample(RasterImage image, Stream outStream)
{
   // Prepare the command
   int i;
   short[] pLookupTable = new short[0x10000];
   DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();
   // set a LookupTable which reduces the intensity of each pixel to half
   for (i = 0; i <= 0xFFFF; i++)
      pLookupTable[i] = (short)(i / 2);

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

   // apply the LookupTable
   ApplyModalityLookupTableCommand command = new ApplyModalityLookupTableCommand();
   command.Flags = ModalityLookupTableCommandFlags.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 ApplyModalityLookupTableCommandExample(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()
   ' set a LookupTable which reduces the intensity of each pixel to half
   i = 0
   Do While i <= &HFFFF
      pLookupTable(i) = CShort(i / 2)
      i += 1
   Loop

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

   ' apply the LookupTable
   Dim command As ApplyModalityLookupTableCommand = New ApplyModalityLookupTableCommand()
   command.Flags = ModalityLookupTableCommandFlags.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
必要条件

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

参照

参照

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