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.