←Select platform

Spatial Method

Summary

Imposes a spatial filter on an image. This operation is available in the Document/Medical Toolkits.

Syntax

C#
VB
C++
[FaultContractAttribute(System.Type)] 
[OperationContractAttribute(Action="Spatial", 
   AsyncPattern=false, 
   IsOneWay=false, 
   IsInitiating=true, 
   IsTerminating=false)] 
public CommandResponse Spatial( 
   SpatialRequest request 
) 
  
<FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault,  
   Action="",  
   Name="",  
   Namespace="",  
   ProtectionLevel=ProtectionLevel.None,  
   HasProtectionLevel=False)> 
<OperationContractAttribute("Spatial")> 
Function Spatial( _ 
   ByVal request As Leadtools.Services.Imageprocessing.Datacontracts.SpatialRequest _ 
) As Leadtools.Services.Imageprocessing.Datacontracts.CommandResponse 
[FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault,  
   Action="",  
   Name="",  
   Namespace="",  
   ProtectionLevel=ProtectionLevel.None,  
   HasProtectionLevel=false)] 
[OperationContractAttribute("Spatial")] 
Leadtools.Services.Imageprocessing.Datacontracts.CommandResponse^ Spatial(  
   Leadtools.Services.Imageprocessing.Datacontracts.SpatialRequest^ request 
)  

Parameters

request
A System.Runtime.Serialization.DataContractAttribute containing the data that will be used in this Spatial operation.

Return Value

A System.Runtime.Serialization.DataContractAttribute containing the modified image resulting from the Spatial operation.

Remarks
  • A spatial filter recomputes the brightness of each pixel in an image by using a weighted averaging technique that considers the surrounding pixels. Spatial filters are used for operations such as sharpening an image or detecting edges within the image.
  • The Spatial operation works best with 24-bit, 16-bit, or grayscale images. If the image uses a color palette, this command matches the new brightness value of each pixel to the nearest color in the existing palette.
  • This operation supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.
  • It is beyond the scope of this documentation to explain how applying various weighting factors affects an image. If you specify your own filter, you should refer to a textbook on image processing. For example, Digital Image Processing: Principles and Applications, by Gregory A. Baxes.
  • This operation does not support 32-bit grayscale images.

For more information, refer to Detecting and Enhancing Edges and Lines. For more information, refer to List of Spatial Filters.

Example

C#
VB
using Leadtools.Services; 
 
public void SpatialExample() 
{ 
   FiltersProcessingServiceClient client = new FiltersProcessingServiceClient(); 
 
   RawBinaryData sourceBinaryData = new RawBinaryData(); 
   sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "image1.cmp")); 
 
   RasterConvertOptions convertOptions = new RasterConvertOptions(); 
 
   convertOptions.Source = sourceBinaryData; 
   convertOptions.Destination = null; 
   convertOptions.Format = RasterImageFormat.Bmp; 
   convertOptions.FirstPage = 1; 
   convertOptions.LastPage = 1; 
   convertOptions.BitsPerPixel = 24; 
   convertOptions.QualityFactor = 2; 
 
   int[] matrix = new int[9]; 
   matrix[0] = 0; 
   matrix[1] = 1; 
   matrix[2] = 0; 
   matrix[3] = 0; 
   matrix[4] = 0; 
   matrix[5] = 0; 
   matrix[6] = 0; 
   matrix[7] = -1; 
   matrix[8] = 0; 
 
   SpatialRequest request = new SpatialRequest(); 
 
   request.ConvertOptions = convertOptions; 
   request.RegionData = null; 
   request.Matrix = matrix; 
   request.Divisor = 1; 
   request.Bias = 128; 
 
   CommandResponse response = client.Spatial(request); 
   if (response.Destination != null) 
   { 
      if (response.Destination is RawBinaryData) 
         File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "Spatial.bmp"), (response.Destination as RawBinaryData).Data); 
   } 
 
   client.Close(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools.Services 
Imports Leadtools.Services.datacontracts._2009._01 
Imports Leadtools.Services.raster.datacontracts._2009._01 
Imports Leadtools.Services.ImageProcessing.datacontracts._2009._01 
 
Public Sub SpatialExample() 
   Dim client As FiltersProcessingServiceClient = New FiltersProcessingServiceClient() 
 
   Dim sourceBinaryData As RawBinaryData = New RawBinaryData() 
   sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "image1.cmp")) 
 
   Dim convertOptions As RasterConvertOptions = New RasterConvertOptions() 
 
   convertOptions.Source = sourceBinaryData 
   convertOptions.Destination = Nothing 
   convertOptions.Format = RasterImageFormat.Bmp 
   convertOptions.FirstPage = 1 
   convertOptions.LastPage = 1 
   convertOptions.BitsPerPixel = 24 
   convertOptions.QualityFactor = 2 
 
   Dim matrix As Integer() = New Integer(8) {} 
   matrix(0) = 0 
   matrix(1) = 1 
   matrix(2) = 0 
   matrix(3) = 0 
   matrix(4) = 0 
   matrix(5) = 0 
   matrix(6) = 0 
   matrix(7) = -1 
   matrix(8) = 0 
 
   Dim request As SpatialRequest = New SpatialRequest() 
 
   request.ConvertOptions = convertOptions 
   request.RegionData = Nothing 
   request.Matrix = matrix 
   request.Divisor = 1 
   request.Bias = 128 
 
   Dim response As CommandResponse = client.Spatial(request) 
   If Not response.Destination Is Nothing Then 
      If TypeOf response.Destination Is RawBinaryData Then 
         File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "Spatial.bmp"), (TryCast(response.Destination, RawBinaryData)).Data) 
      End If 
   End If 
 
   client.Close() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.