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

フレームを表示

MinimumToZeroCommandクラス








メンバ 
画像データのすべての負の値をシフトすることにより、グレースケールの符号付き画像を符号なし画像に変換します。そのため最小の負の値はゼロになります。
オブジェクトモデル
構文
'Declaration
 
Public Class MinimumToZeroCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements Leadtools.ImageProcessing.IRasterCommand 
'Usage
 
Dim instance As MinimumToZeroCommand
public sealed class MinimumToZeroCommand : Leadtools.ImageProcessing.IRasterCommand  
@interface LTMinimumToZeroCommand : LTRasterCommand
public class MinimumToZeroCommand extends RasterCommand
function Leadtools.ImageProcessing.Core.MinimumToZeroCommand()
解説
このコマンドは、ConvertSignedToUnsignedCommandと類似しています。このコマンドは、符号なしimageにimageを変換するためにシフトである値を自動的に決定します。

このコマンドが、通常コマンドZeroToNegativeCommandの前に使われます。

このコマンドは、RasterImage符合付きプロパティを更新します。

このコマンドは、RasterImageMinValueMaxValueプロパティも更新します。

このコマンドは、8ビットイメージをサポートしません。

このコマンドは、12と16ビットグレースケールと48と64ビットカラーイメージをサポートします。12と16ビットグレースケールと48と64ビットカラーイメージのサポートは、Document/Medicalツールキットだけで利用できます。

このコマンドは、符合付きデータイメージをサポートします。

このコマンドは、32ビットグレースケールイメージをサポートしません。

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

サンプル

このコマンドは符合付きimageの上でMultiscaleEnhancementCommandを適用します、しかし、MultiscaleEnhancementCommandが符合付きイメージをサポートしないため、サインがないimageにimageを変換して、エフェクトを適用して、それから、符合付きimageへそれを変換します。

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

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

   ' Prepare the command
   ' Convert the image to unsigned image by shifting the negative values to become positive.
   Dim MinToZCommand As MinimumToZeroCommand = New MinimumToZeroCommand
   MinToZCommand.Run(leadImage)

   ' Apply multiscale enhancement
   Dim MultiScaleCommand As MultiscaleEnhancementCommand = New MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement)

   ' Convert the image back to signed by shifting the same amount in the negative side.
   Dim command As ZeroToNegativeCommand = New ZeroToNegativeCommand
   command.MinimumInput = -32767
   command.MaximumInput = 32766
   command.MinimumOutput = 0
   command.MaximumOutput = 65535
   command.ShiftAmount = MinToZCommand.ShiftAmount
   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 MinimumToZeroCommandExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"));

   // Prepare the command
   // Convert the image to unsigned image by shifting the negative values to become positive.
   MinimumToZeroCommand MinToZCommand = new MinimumToZeroCommand();
   MinToZCommand.Run(image); 

   // Apply multiscale enhancement
   MultiscaleEnhancementCommand MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement);

   // Convert the image back to signed by shifting the same amount in the negative side.
   ZeroToNegativeCommand command = new ZeroToNegativeCommand();
   command.MinimumInput  = -32767;
   command.MaximumInput  = 32766;
   command.MinimumOutput = 0;
   command.MaximumOutput = 65535;
   command.ShiftAmount   = MinToZCommand.ShiftAmount;
   command.Run(image);

}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
function MinimumToZeroCommandExample()
{
   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) {
         // Convert the image to unsigned image by shifting the negative values to become positive.
         var MinToZCommand = new MinimumToZeroCommand();
         MinToZCommand.run(image); 
         
         // Apply multiscale enhancement
         var MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.gaussian, MultiscaleEnhancementCommandFlags.edgeEnhancement);
         
         // Convert the image back to signed by shifting the same amount in the negative side.
         var command = new ZeroToNegativeCommand();
         command.minimumInput  = -32767;
         command.maximumInput  = 32766;
         command.minimumOutput = 0;
         command.maximumOutput = 65535;
         command.shiftAmount   = MinToZCommand.shiftAmount;
         command.run(image);
      }
   });
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;

      
public async Task MinimumToZeroCommandExample()
{
   // 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
   // Convert the image to unsigned image by shifting the negative values to become positive.
   MinimumToZeroCommand MinToZCommand = new MinimumToZeroCommand();
   MinToZCommand.Run(image); 

   // Apply multiscale enhancement
   MultiscaleEnhancementCommand MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement);

   // Convert the image back to signed by shifting the same amount in the negative side.
   ZeroToNegativeCommand command = new ZeroToNegativeCommand();
   command.MinimumInput  = -32767;
   command.MaximumInput  = 32766;
   command.MinimumOutput = 0;
   command.MaximumOutput = 65535;
   command.ShiftAmount   = MinToZCommand.ShiftAmount;
   command.Run(image);

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

public void MinimumToZeroCommandExample(RasterImage image, Stream outStream)
{
   // Prepare the command
   // Convert the image to unsigned image by shifting the negative values to become positive.
   MinimumToZeroCommand MinToZCommand = new MinimumToZeroCommand();
   MinToZCommand.Run(image); 
   // Apply multiscale enhancement
   MultiscaleEnhancementCommand MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement);

   // Convert the image back to signed by shifting the same amount in the negative side.
   ZeroToNegativeCommand command = new ZeroToNegativeCommand();
   command.MinimumInput  = -32767;
   command.MaximumInput  = 32766;
   command.MinimumOutput = 0;
   command.MaximumOutput = 65535;
   command.ShiftAmount   = MinToZCommand.ShiftAmount;
   command.Run(image);

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

Public Sub MinimumToZeroCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
   ' Prepare the command
   ' Convert the image to unsigned image by shifting the negative values to become positive.
   Dim MinToZCommand As MinimumToZeroCommand = New MinimumToZeroCommand()
   MinToZCommand.Run(image)
   ' Apply multiscale enhancement
   Dim MultiScaleCommand As MultiscaleEnhancementCommand = New MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, _
                                                                                            MultiscaleEnhancementCommandType.Gaussian, _
                                                                                            MultiscaleEnhancementCommandFlags.EdgeEnhancement)

   ' Convert the image back to signed by shifting the same amount in the negative side.
   Dim command As ZeroToNegativeCommand = New ZeroToNegativeCommand()
   command.MinimumInput = -32767
   command.MaximumInput = 32766
   command.MinimumOutput = 0
   command.MaximumOutput = 65535
   command.ShiftAmount = MinToZCommand.ShiftAmount
   command.Run(image)

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

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

参照

参照

MinimumToZeroCommandメンバ
Leadtools.ImageProcessing.Core名前空間
Leadtools.ImageProcessing.ClearNegativePixelsCommand
ConvertSignedToUnsignedCommandクラス
ConvertUnsignedToSignedCommandクラス
ZeroToNegativeCommandクラス