Sample custom process

The Developer Kit for ArcGIS Image Server offers three samples that implement the methods described in documentation. These samples can be found in <Image Server Installation Directory>\Developer Kit\Raster Processes\Samples.

These three new processes are installed along with the SDK so users can actually use them with ArcGIS Image Server.

There are three samples in this directory:

1. Sultans Process: A simple process that uses a 6 band image and processes it using the Sultans formula.
2. Sample Custom Process: A more complicated process using an auxiliary raster that subtracts the auxiliary raster from the current one.
3. Watermark: A simple watermarking process that takes a 4 band PNG image and blends it at the bottom right of every request.

Sultans process

The Sultans process takes a six band 8-bit image and uses the Sultan’s formula to produce a three band 8-bit image. The resulting image is a classified image which shows the classification of rock formations called ophiolites on coastlines.

The Sultans process is implemented in two parts contained in two folders inside the Samples folder:

Sultans Process DLL

The C++ implementation of the Custom Process Interface (CustomProcess.h) is stored in the SultansProcess folder. This folder also contains the XADef file generated by the CustomProcess XADefGenerator (SultansProcess.Process.XADef)

Sultans Process UI

The .NET assembly which implements the user interface and updates the process XML with the updated values is stored along with the code for it inside the SultansProcessUI folder.

Sample Custom Process

The Sample Custom Process is a more advanced example of a Custom Process. It is applied on an 8bit multi-band image and requires another 8bit image. It then subtracts the second image from the first. The user can choose what bands of the images to subtract, and whether the second image should be resampled or not.

Sample Custom Process DLL

The SampleCustomProcess folder contains the implementation of the Process DLL and the generated XADef.

Sample Custom Process UI

The SampleCustomProcessUI folder contains the .NET assembly and the code for it.


The Watermark process takes a 4 band (ARGB) 8 bits per band PNG file and blends the file at the bottom right corner of every request. The user can even choose the percentage of the blending. A three band input raster will produce a 3 band output with the watermark image bands blended with the output (RGB). A non three band input will result in the watermark image blended as a grayscale image into every band of the input. The process also supports transparency in the watermark image by using the alpha channel.

Watermark Process DLL

The Watermark folder contains the implementation of the Process Dll and the generated XADef.

Watermark Process UI

The WatermarkProcessUI folder contains the .NET assembly and the code for it.