The Image class performs general 2D image manipulation. It inherits Filelink.
This class is generally used in conjunction with a BasicFITSHeader class to handle the two components of a typical spectroscopic data file.
2008 July 09 - Documentation written.
keyword bool ifBig
keyword bool ifLittle
Swaps the byte order of the image data. If either of the keywords is set, the data will only be byteswapped if they are already of the specified endian form (e.g., if ifBig is set, the data will only be swapped if they are big-endian).
Destructor. Clears its history list by calling Filelink::cleanup, and freeing its own image pointer. Never call this procedure directly; it is invoked by IDL's Obj_Destroy function.
Structure definition. Specifies the contents of the IDL structure instantiated by the Image class. Used by Obj_New; do not invoke directly.
This is a standard OIL class method. For the Image class, it dumps the current data members, as well as the validity state of the image pointer, followed by the data members of the parent Filelink object, to the command output window. The dump will look best if the output font is fixed rather than proportional width.
Return string dataType
Returns the value of the dataType member.
Return int[ 2 ] [ xDim, yDim ]
Returns the xDim and yDim data members as a two element integer array.
Return pointer p
Returns a pointer to the image data member.
argument int left
argument int bottom
argument int right
argument int top
Return pointer subImage
Returns a pointer to a subset of the image data specified by the coordinates given in the arguments. A new data array is created in memory containing the subimage data, and the pointer returned. The pointer should be freed after use to avoid memory leaks.
keyword string id
keyword string imstat
keyword string dataType
keyword int xDim
keyword int yDim
keyword struct _EXTRA
Return bool TRUE
Constructor. The obect's data members are set to the values specified in the keywords. If keywords are omitted, the contructor takes the following default actions: id = 'NULL', imStat = 'raw', dataType = 'int', and xDim and yDim are both 512. After making sure all data members have valid values, it calls new_data_array to create the image data member. Never call this function directly; it is invoked by IDL's Obj_New function.
Return long valid
Each OIL class has an is_valid function that performs class-specific tests on its data members. If all members are found to be valid, however validity is defined for that class, this funtion returns 1. Otherwise, a negative number is returned that contains a bitwise combination of all errors detected. In the case of Image, the bitwise error codes are: -1 if the image pointer is invalid, -2 if either dimension is less than 1, -4 if the dimensions given by the data members are not equal to the number of elements in the corresponding dimension of the data array, -8 if the dataType data member is NULL, and -16 if the dataType data member does not match the type of the image data. The function returns a three-element array of longs, the first element containing the validity state of the Root, the second that of the Filelink, and the last that of the Image. A warning is written to the log if the Image is invalid.
argument string dataType
argument int x
argument int y
argument pointer image
Creates (or re-initializes) the data array. The object's data member Self.image is set to the data array pointed to by the argument image. The dataType, xDim, and yDim data members are updated to the values specified by the corresponding arguments. To ensure there are no memory leaks, the object's image data pointer is freed first if it is valid.
keyword bool skipBasicFITS
keyword long offset
Return bool TRUE, FALSE
Reads data from the specified file into the object's image data. It sets the LUN offset to 2880 if skipBasicFITS is set, and to offset if that keyword is set. Otherwise, it reads from the start of the file (offset 0). It returns TRUE if the read succeeded, false otherwise.
argument int deg
keyword bool flip
Rotates the image clockwise by deg degrees. Set deg to 90, 180, or 270. Set flip to also flip the image about its central row.
argument int minVal
argument int maxVal
Scales the image data to fit in the range [ minVal, maxVal ].
argument string type
Return bool TRUE, FALSE
Changes the data type of the image data. The type argument must be 'byte', 'int', 'uint', 'float', or 'double'. It returns TRUE if the type change succeeded, false otherwise.
argument string id
Sets the id data member.
argument string imstat
Sets the imstat data member.
argument int xOff
argument int xYff
keyword bool scale
keyword bool resize
Displays the image. The offset arguments are passed to the analogous arguments in TV or TVScl. If the scale keyword is set, TVScl is called. The resize keyword can be used to rebin the image to a fractional value of its original size; i.e., set resize to 0.5 if you want the image to be half its original size in the displayed image.
keyword bool a
Return bool TRUE, FALSE
Writes the image to the linked file. Set the a keyword to open the file in append mode; otherwise it will be opened in write mode. It returns TRUE if the read succeeded, false otherwise.
obj = Obj_New( 'Image', xDim=1024, yDim=1024, dataType='int' )
Obj_Destroy( obj )