←选择平台

ApplyModalityLookupTableCommand类

总结
重新映射图像像素使用LookupTable (LookupTable)。
语法
c#
VB
objective - c
c++
Java
公共ApplyModalityLookupTableCommand:RasterCommand
公共ApplyModalityLookupTableCommand继承了RasterCommand
@接口LTApplyModalityLookupTableCommand: LTRasterCommand
公共ApplyModalityLookupTableCommand扩展RasterCommand
公共ref类ApplyModalityLookupTableCommand:公共RasterCommand
讲话

这个命令是可用的文档和医学成像工具包。

  • 这门课通过LookupTable重新映射图像像素(LookupTable)。在DICOM的世界中,这称为“应用非线性模式LookupTable”。
  • 这个类是相似的RemapIntensityCommand因为它通过LookupTable重新映射图像像素值。类不同于RemapIntensityCommand如下:ApplyModalityLookupTableCommand允许您指定一个不完整的LookupTable。值小于第一个映射索引将映射到调色板中的第一个条目。值高于“首先映射指数”+“LookupTable长度”将映射到LookupTable中的最后一个条目。ApplyModalityLookupTableCommand只适用于灰度图像。ApplyModalityLookupTableCommand可以创建签名图像。输出图像(如果签署ModalityLookupTableCommandFlags.SignedLookupTable是集),或无符号(ModalityLookupTableCommandFlags.SignedLookupTable没有设置)。

  • LookupTable中的值将蒙面,只考虑图像中有用的部分。的值是如果图像像素值归一化,LowBit= 0。

  • 例如,假设图像是:BitsPerPixel= 12LowBit= 4HighBit4 = 10在这种情况下,有打败+ 1 = 7位有效。这意味着有128个值来重新映射。对于每一个像素,ApplyModalityLookupTableCommand将执行以下操作:

  • 像素值,向右平移4和面具的高比特,产生一个值(val = 0 . 127)。

  • 值是根据LookupTable贴图(值小于FirstStoredPixelValueMapped (DicomLookupTableDescriptor类)的属性映射到第一LookupTable条目,而值大于FirstStoredPixelValueMapped DicomLookupTableDescriptor类的(财产)+ LookupTable - >长度映射到最后LookupTable条目)。
  • 重新映射后,留下的价值转移到4和将取代4从原始图像到第十章。
  • 如果图像签署,LookupTable的指数被认为是签署并在-32768 + 32767。
  • 如果图像是无符号,指标之间无符号,0 . . 65535。
  • 建议总是设置ModalityLookupTableCommandFlags.UpdateMinMax国旗。
  • 这个类是有助于应用称为“非线性模式LookupTable”DICOM的世界。根据DICOM标准“形态LookupTable”定义的变换manufacturer-dependent像素值像素值,这是厂家独立(例如Hounsfield单位CT,光密度在电影数字化仪,等等)。
  • 这类支持12和16位灰度。支持12和16位灰度只可用文档/医疗工具包。
  • 这个命令不支持32位灰度图像。

有关更多信息,请参考改变亮度和对比度

例子

运行ApplyModalityLookupTableCommand在一个图像。

c#
VB
使用Leadtools;使用Leadtools.Codecs;使用Leadtools.ImageProcessing.Core;公共无效ApplyModalityLookupTableCommandExample (){/ /加载一个图像RasterCodecs编解码器=RasterCodecs ();编解码器。ThrowExceptionsOnInvalidImages =真正的;RasterImage图像= codecs.Load (Path.Combine (LEAD_VARS.ImagesDir,“IMAGE2.dcm”));/ /准备命令int我;[]pLookupTable =[0 x10000];DicomLookupTableDescriptor LookupTableDescriptor =DicomLookupTableDescriptor ();/ /设置一个LookupTable一半减少每个像素的强度(i = 0;我< = 0 xffff;我+ +)pLookupTable[我]= ()(i / 2);/ /填充LookupTableDescriptor对象LookupTableDescriptor。FirstStoredPixelValueMapped = 0;LookupTableDescriptor。EntryBits = 16;/ /应用LookupTableApplyModalityLookupTableCommand命令=ApplyModalityLookupTableCommand ();命令。旗帜= ModalityLookupTableCommandFlags.None;命令。LookupTable = pLookupTable;命令。LookupTableDescriptor = LookupTableDescriptor;command.Run(图片);}静态LEAD_VARS{公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”;}
进口Leadtools进口Leadtools.Codecs进口Leadtools.ImageProcessing.Core公共ApplyModalityLookupTableCommandExample ()昏暗的编解码器作为RasterCodecs ()编解码器。ThrowExceptionsOnInvalidImages =真正的昏暗的leadImage作为RasterImage = codecs.Load (Path.Combine (LEAD_VARS.ImagesDir“IMAGE2.dcm”))“准备的命令昏暗的作为整数昏暗的pLookupTable ()作为ReDimpLookupTable (65535)昏暗的LookupTableDescriptor作为DicomLookupTableDescriptor =DicomLookupTableDescriptor“设定一个LookupTable一半减少每个像素的强度我= 065535年pLookupTable (i) =CType(我/ 2,Int16)下一个“填补LookupTableDescriptor对象LookupTableDescriptor。FirstStoredPixelValueMapped = 0LookupTableDescriptor。EntryBits = 16“应用LookupTable昏暗的命令作为ApplyModalityLookupTableCommand =ApplyModalityLookupTableCommand命令。旗帜= ModalityLookupTableCommandFlags.None命令。LookupTable = pLookupTable命令。LookupTableDescriptor = LookupTableDescriptorcommand.Run (leadImage)结束公共NotInheritableLEAD_VARS公共常量ImagesDir作为字符串=“C: \ LEADTOOLS21 \ Resources \图片”结束
需求

目标平台

Leadtools.ImageProcessing.Core作为sembly
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。