LEADTOOLS WCF Image Processing (Leadtools.Services.ImageProcessing.ServiceContracts assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
Spatial Method
See Also 
Leadtools.Services.ImageProcessing.ServiceContracts Namespace > IFiltersProcessingService Interface : Spatial Method



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

The Spatial Method is available in LEADTOOLS Document and Medical Imaging toolkits.

request
A System.Runtime.Serialization.DataContractAttribute containing the data that will be used in this Spatial operation.
Imposes a spatial filter on an image. This operation is available in the Document/Medical Toolkits.

Syntax

Visual Basic (Declaration) 
<FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   ProtectionLevel=ProtectionLevel.None, 
   HasProtectionLevel=False)>
<OperationContractAttribute("Spatial")>
Function Spatial( _
   ByVal request As SpatialRequest _
) As CommandResponse
Visual Basic (Usage)Copy Code
Dim instance As IFiltersProcessingService
Dim request As SpatialRequest
Dim value As CommandResponse
 
value = instance.Spatial(request)
C# 
[FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   ProtectionLevel=ProtectionLevel.None, 
   HasProtectionLevel=false)]
[OperationContractAttribute("Spatial")]
CommandResponse Spatial( 
   SpatialRequest request
)
C++/CLI 
[FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   ProtectionLevel=ProtectionLevel.None, 
   HasProtectionLevel=false)]
[OperationContractAttribute("Spatial")]
CommandResponse^ Spatial( 
   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.

Example

Visual BasicCopy Code
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
C#Copy Code
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";
}

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.

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also

Applications developed with LEADTOOLS WCF components require runtime licenses. Server licensing is required for applications on a server. For more information, refer to: Imaging Pro/Document/Medical Features