In file mydocsrc/iml_ndim.h:

class iml_image : public iml_domain

A readable and writable base-class image for typed images

Inheritance:

iml_image


Public Methods

IML_ULINT byte_order_signature (void)
Find the byte-order signature for the current machine
IML_ULINT dimension_size (IML_USINT Dim)
Returns the size of each image dimension
IML_ULINT dimension_start (IML_USINT Dim)
Returns the starting index of each image dimension (should be 0 (zero) because image dimensions can't change)
IML_ULINT dimensionality (void)
Returns the number of image dimensions
IML_ULINT element_count (void)
Returns the total number of elements (pixels) in the image, disregarding the hyperplane dimensionality
IML_ULINT get_hyperplane_size (void)
Find out how many dimensions to which the image hyperplane is restricted
IML_ULINT hyperplane_dimension_size (IML_USINT Dim)
Returns the size of each hyperplane dimension
IML_ULINT hyperplane_dimension_start (IML_USINT Dim)
Returns the starting index of each hyperplane dimension (because hyperplane dimension index ranges can be moved about arbitrarily)
IML_ULINT hyperplane_dimensionality (void)
Returns the number of dimensions in the hyperplane
IML_ULINT hyperplane_element_count (void)
Returns the total number of elements (pixels) in the hyperplane
void select_hyperplane (IML_LINT FirstSuperAxisIndex, ...)
Select one of the image hyperplanes determined by the call to set_hyperplane_size()
void set_hyperplane_size (IML_USINT OSSpace)
Restrict the image hyperplane to the first OSSpace dimensions
void shift_hyperplane_corner_by (IML_USINT Dim, IML_AXIS_TYPE V)
Move the starting index of the hyperplane
void shift_hyperplane_corner_to (IML_USINT Dim, IML_AXIS_TYPE V)
Set the starting index of the hyperplane

Documentation

A readable and writable base-class image for typed images. Provides functions for the derived classes, particularly hyperplane restriction and selection.
IML_ULINT byte_order_signature(void)
Find the byte-order signature for the current machine. Returns an unsigned long integer indicating the byte ordering used by the machine upon which this softare is running. The integer 0x01020408 is placed into an unsigned long integer and then bytes zero through three are turned into a characteristic long integer with
IML_ULINT Test = 0x01020408;
IML_UBYTE *BP = (IML_UBYTE *)&Test;
IML_ULINT Result =	(((IML_ULINT)BP[0])<<24) | (((IML_ULINT)BP[1])<<16) | 
(((IML_ULINT)BP[2])<<8) | (((IML_ULINT)BP[3])<<0) ;
Big-Endian machines have the unsigned long signature value 16,909,320. Little endian machines have the unsigned long signature value 134,480,385. Other (esoteric) byte orders are not currently supported and have the unsigned long signature value of zero. These are provide in macros:

IML_BIG_ENDIAN_BYTE_ORDER
IML_LITTLE_ENDIAN_BYTE_ORDER
IML_UNSPECIFIED_BYTE_ORDER

IML_ULINT dimension_size(IML_USINT Dim)
Returns the size of each image dimension. em>Dim goes from 0 (zero) to N-1 if the image has N dimensions. If Dim is out of range, a value of zero is returned.

IML_ULINT dimension_start(IML_USINT Dim)
Returns the starting index of each image dimension (should be 0 (zero) because image dimensions can't change). em>Dim goes from 0 (zero) to N-1 if the image has N dimensions. If Dim is out of range, a value of zero is returned.

IML_ULINT hyperplane_dimension_size(IML_USINT Dim)
Returns the size of each hyperplane dimension. Dim goes from 0 (zero) to H-1 if the hyperplane has H dimensions. If Dim is out of range, a value of zero is returned.

IML_ULINT hyperplane_dimension_start(IML_USINT Dim)
Returns the starting index of each hyperplane dimension (because hyperplane dimension index ranges can be moved about arbitrarily). Dim goes from 0 (zero) to H-1 if the hyperplane has H dimensions. If Dim is out of range, a value of zero is returned.

void shift_hyperplane_corner_by(IML_USINT Dim, IML_AXIS_TYPE V)
Move the starting index of the hyperplane. Dim goes from 0 (zero) to H-1 if the hyperplane has H dimensions, and V is the increment/decrement value.

void shift_hyperplane_corner_to(IML_USINT Dim, IML_AXIS_TYPE V)
Set the starting index of the hyperplane. Dim goes from 0 (zero) to H-1 if the hyperplane has H dimensions, and V is the new starting value.

void select_hyperplane(IML_LINT FirstSuperAxisIndex, ...)
Select one of the image hyperplanes determined by the call to set_hyperplane_size(). E.g. for an (m+1) dimensional image of dimensions {N1, ... Nk, ... , Nm} with set_hyperplane_size(k);, the number of selectable hyperplanes is {N(k+1)*N(k+2)*...*Nm} with indices ranging from 0 to {N(k+1)*N(k+2)*...*Nm - 1}

NOTE: You must make sure to have the argument count right! I have no way of checking that for you.


Direct child classes:
iml_typed_image

alphabetic index hierarchy of classes


generated by doc++