The amount of memory that GeoExpress uses to perform operations depends on the following factors:
The image manipulation operations that you perform.
The operating system.
The image input format.
The number of bands in the output image.
The number of threads and concurrent jobs.
The strip height and block size.
Of these factors, you can control the strip height and the block size that GeoExpress uses.
Memory usage is constant over the length of the encode operation.
The following formula describes the approximate amount of memory used by GeoExpress to compress a single image to the MrSID Generation 4 (MG4) or MrSID Generation 3 (MG3) format:
Memory = ((8 + 4 × BlockSize + MIN(StripHeight, BlockSize)) × 4 + StripHeight) × NumBands × Width
The following list describes the variables used by the formula:
Memory is the estimated memory usage in bytes.
BlockSize is set by the user with the ‑blocksize switch (See Advanced encoding options.)
MIN(StripHeight, BlockSize) evaluates the values for the strip height and block size and equals whichever value is smaller.
StripHeight is set by user with the ‑stripheight switch (See Advanced encoding options and JPEG 2000 encoding.)
NumBands is the number of bands in the image to be encoded—typically 1 or 3.
Width is the width of the input image in pixels.
The following formula describes the approximate amount of memory used by GeoExpress to compress a single image to the MrSID Generation 2 (MG2) format:
Memory = ((8 + 4 × BlockSize + 64) × NumBands × Width × 4) + (0.005 × ExpectedOutputFileSize)
Memory is the estimated memory usage in bytes.
BlockSize is set by the user with the ‑blocksize / ‑bs switch.
NumBands is the number of bands in the image to be encoded—typically 1 or 3.
Width is the width of the input image in pixels.
ExpectedOutputFileSize is the target file size.