This page was created by the IDL library routine
mk_html_help
. For more information on
this routine, refer to the IDL Online Help Navigator
or type:
? mk_html_help
at the IDL command line prompt.
Last modified: Sun Oct 26 20:43:11 2008.
NAME: CATDATAATOM PURPOSE: This is the most basic data object in the CATALYST Object Library. It is a subclassed CATATOM object and implements a generic data class in the IDL object hierarchy. All data objects in the heirarchy are subclassed from this object. The fundamental principal of the Catalyst Library is that data is associated with colors (for display) and a coordinate system (for interaction). Thus, there are placeholders in CATDATAATOM for a COLORTOOL and a CATCOORD object (or their equivalents). (There is also a placeholder for tools that work on the data, but this has been less frequently employed.) AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk SUPERCLASSES: CATATOM CATCONTAINER IDL_CONTAINER SYNTAX: dataObject = Obj_New('CATDATA') CLASS_DEFINITION: class = { CATDATAATOM, $ ; The CATDATAATOM class name. _dataPtr : PTR_NEW(), $ ; A pointer to the data _coords : OBJ_NEW(), $ ; A CATCOORD object of some type. _colors : OBJ_NEW(), $ ; A COLORTOOL object for setting up color tables. _toolList : OBJ_NEW(), $ ; The TOOLLIST object. INHERITS CATATOM $ ; CATDATA is an CATATOM object. } MODIFICATION_HISTORY: Written by: David Burridge, 27th March 2003.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CATDATAATOM::AddTool PURPOSE: This method adds an object (presumably a tool object) to the ToolList for this object. SYNTAX: self -> AddTool, object ARGUMENTS: OBJECT: The object to be added. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CATDATAATOM::APPLYCOLORS PURPOSE: This method sets up the colors for the data object if they exist. For this reason, sub-classes *MUST* call this method at the *START* of their draw methods. SYNTAX: self -> ApplyColors ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CATDATAATOM::APPLYCOORDS PURPOSE: This method sets up the coordinates for the data object if they exist. For this reason, sub-classes *MUST* call this method at the *START* of their draw methods. SYNTAX: self -> ApplyCoords ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CATDATAATOM::CLEANUP PURPOSE: This is the CATDATAATOM object class destructor method. SYNTAX: Called automatically when the object is destroyed thus: OBJ_DESTROY, dataObject ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the CATATOM::CLEANUP method.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CATDATAATOM::GetData PURPOSE: This function method enables data to be retreived from this object. It is written for internal use and should not be called without due consideration. All data handling should be done inside the object. SYNTAX: data = imageObject -> GetData (Success=s) ARGUMENTS: None. KEYWORDS: SUCCESS: This flag shows whether the get has been successful or not.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CATDATAATOM::GETPROPERTY PURPOSE: This method is used to get the object's properties. SYNTAX: dataObject -> GetProperty, Data=data ARGUMENTS: None. KEYWORDS: COLOR_OBJECT: Use this keyword to get the contained COLORTOOL object. COORD_OBJECT: Use this keyword to get the contained CATCOORD object. TOOLLIST: The object's toolist object. UNDO_LIMIT: The current undo limit for the data object. _REF_EXTRA: Any keyword appropriate for the GETPROPERTY method of the superclass object.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CATDATAATOM::INIT PURPOSE: This method is used upon object creation. SYNTAX: Called automatically when the object is created thus: dataObject = OBJ_NEW (CatDataAtom, Hanning (50,50)) ARGUMENTS: DATA: Some data to use in the object (optional). KEYWORDS: COLOR_OBJECT: Use this keyword to load a color object for setting up colors for data display. COORD_OBJECT: Use this keyword to load a coordinate object for setting up the data coordinate system for data display. NO_COPY: Set this keyword to "move" supplied data into the object rather than make a copy. Note that this will leave the input "data" variable undefined. PARENT: The object reference to the parent of this object. UNDO_LIMIT: The number of tools kept in the undo buffer. This is set to 5 by default. _EXTRA: Any keyword appropriate for the INIT method of the superclass object.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CATDATAATOM::REDO PURPOSE: This method allows a previous UNDO to be reversed. SYNTAX: dataObject -> REDO ARGUMENTS: None. KEYWORDS: Draw: Set this keyword to allow the object to DRAW itself at the completion of the REDO.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CATDATAATOM::SetData PURPOSE: This method enables new data to be added to this object. SYNTAX: imageObject -> SetData, Dist(40,40), /Draw ARGUMENTS: DATA: The data to be added. Note that any existing data will be removed, so this routine should be used with caution! KEYWORDS: DRAW: Set this keyword makes the object DRAW itself once the data is loaded. NO_COPY: Set this keyword to "move" supplied data into the object rather than make a copy. Note that this will leave the input "data" variable undefined.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CATDATAATOM::SETPROPERTY PURPOSE: This method is used to get the object's properties. SYNTAX: dataObject -> SetProperty, Data=data ARGUMENTS: None. KEYWORDS: COLOR_OBJECT: Use this keyword to load a color object for setting up colors for data display. COORD_OBJECT: Use this keyword to load a coordinate object for setting up the data coordinate system for data display. DRAW: Set this keyword makes the object DRAW itself once the data is loaded. UNDO_LIMIT: The number of tools kept in the undo buffer. _EXTRA: Any keyword appropriate for the SETPROPERTY method of the superclass object.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CATDATAATOM::UNDO PURPOSE: This method performs a one-step "undo" of the object on the UNDO LIST. SYNTAX: dataObject -> UNDO ARGUMENTS: None. KEYWORDS: DRAW: Set this keyword to immediately call the draw method of the object when the UNDO is finished. _Extra: Extra keywords appropriate for toollist UNDO method.
(See C:\IDL\Catalyst\source\data\catdataatom__define.pro)
NAME: CatImage PURPOSE: This object implements a class for handling image data. It is a subclassed CATDATAATOM object and can be subclassed for specific image implementations. Out first attempts to define an image object class resulted in the three object classes CatImageData, CatImage2D, and CatTrueColorImage. These are still used in Catalyst applications, but are included more for historical reasons than for practical reasons. These days all image object implementations start with CatImage (or, more likely, with ScaleImage, which is subclassed from CatImage). It is our recommendation that you start your own object implementation from this CatImage object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk SUPERCLASSES: CATDATAATOM CATATOM CATCONTAINER IDL_CONTAINER SYNTAX: imageObject = OBJ_NEW ('CatImage', image) CLASS DEFINITION: class = { CatImage, $ ; The CatImage object class. _displayImage: Ptr_New(), $ ; The byte-scaled, congridded image for display. _display_mode: 0B, $ ; A flag indicating which display method to use for drawing. _keep_aspect: 0L, $ ; Flag: Keep the aspect ratio when calculating image position. _location : DblArr(6,2), $ ; Location information about the "displayed" image. _interleaving : 0L, $ ; The type of pixel interleaving for this image. _interpolate: 0L, $ ; Flag: When set, bilinear interpolation is used. _order : 0L, $ ; Image display order. _out_xsize : 0L, $ ; The output X size of the image. (Display_Mode=1 and Display_Mode=2) _out_ysize : 0L, $ ; The output Y size of the image. (Display_Mode=1 and Display_Mode=2) _position : DblArr(4), $ ; The position of the image in the output window. (Display_Mode=0) _scale : 0.0, $ ; The zoom scale factor. _x1 : 0L, $ ; The starting X coordinate in the zoom. _x2 : 0L, $ ; The ending X coordinate in the zoom. _y1 : 0L, $ ; The starting Y coordinate in the zoom. _y2 : 0L, $ ; The ending Y coordinate in the zoom. _xsize : 0L, $ ; The X size of the image. _xstart : 0L, $ ; The starting X location for displaying image. (Display_Mode=1) _ysize : 0L, $ ; The Y size of the image. _ystart : 0L, $ ; The starting Y location for displaying image. (Display_Mode=1) _wid : Obj_New(), $ ; The window object where this image should be displayed. _window_position: 0L, $ ; The window position for displaying this image. (Display_Mode=2) _zoomcoords : Obj_New(), $ ; A coordinate object for the zoom capability. INHERITS CatDataAtom $ ; Subclassed from CATDATAATOM. } MODIFICATION_HISTORY: Written by: David W. Fanning, 27 March 2003. Added PAN, ZOOMIN, and ZOOMOUT methods 25 June 2004. DWF. Removed MINUS_ONE keywords from the CONGRIDs in CreateDisplayImage. They caused me to get, for example, 15 colors instead of 16 when I restricted the number of colors in the image. 5 July 2005. DWF. Fixed a bug in Pixel_To_Value method that caused value to be slightly off. This was most noticable with really small images. 10 Oct 2008. DWF.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CATIMAGE2D PURPOSE: This object implements a class for handling 2D image data. It is a subclassed ImageData object and can be subclassed for specific image implementations. This object was an early attempt at creating an image object for the Catalyst Library, and has been depreciated it favor of CatImage. It is left in the Library for historical reasons and because there are Catalyst applications that use it. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk SUPERCLASSES: CATIMAGEDATA CATDATAATOM CATATOM CATCONTAINER IDL_CONTAINER SYNTAX: imageObject = OBJ_NEW ('CATIMAGE2D', image) CLASS_DEFINITION: class = { CATIMAGE2D, $ ; The CATIMAGE2D object class. INHERITS CatImageData, $ ; Inherits the CatImageData object class. MUST be inherited first. _smooth_width: 0L, $ ; The width value for the SMOOTH operation. _median_width: 0L $ ; The width value for the MEDIAN operation. } MODIFICATION_HISTORY: Written by: David Fanning, 27 March 2003.
(See C:\IDL\Catalyst\source\data\catimage2d__define.pro)
NAME: CATIMAGE2D::CONTROLPANEL PURPOSE: This method creates a control panel for the object SYNTAX: imageObject -> ControlPanel, baseObj ARGUMENTS: baseObject: The object reference of a base widget for this control to be added to. If not supplied, the control panel will be a self contained window. KEYWORDS: _EXTRA: Any keywords appropriate for the "CONTROLPANEL::INIT" method.
(See C:\IDL\Catalyst\source\data\catimage2d__define.pro)
NAME: CATIMAGE2D::EVENTHANDLER PURPOSE: This method is an event handler for the Control Panel. SYNTAX: Called automatically by the event handling system ARGUMENTS: event: The event structure. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catimage2d__define.pro)
NAME: CATIMAGE2D::GETPROPERTY PURPOSE: This method allows the user to obtain CATIMAGE2D properties. SYNTAX: theObject -> GetProperty ... ARGUMENTS: None. KEYWORDS: MEDIAN_WIDTH: The size of the two-dimensional neighborhood to use with the MEDIAN function. SMOOTH_WIDTH: The size of the two-dimensional neighborhood to use with the SMOOTH function. __REF_EXTRA: Any keyword appropriate for the SETPROPERTY method of the superclass object.
(See C:\IDL\Catalyst\source\data\catimage2d__define.pro)
NAME: CATIMAGE2D::INIT PURPOSE: This method is used upon object creation. SYNTAX: Called automatically when the object is created thus: imageObject = OBJ_NEW ('CatImage2D', image) ARGUMENTS: image The 2D image array of any data type. KEYWORDS: MEDIAN_WIDTH: The size of the two-dimensional neighborhood to use with the MEDIAN function. SMOOTH_WIDTH: The size of the two-dimensional neighborhood to use with the SMOOTH function. _EXTRA: Any keyword appropriate for the INIT method of the superclass object or for the LoadImage method.
(See C:\IDL\Catalyst\source\data\catimage2d__define.pro)
NAME: CATIMAGE2D::LOADIMAGE PURPOSE: This method is used to load images into the object. SYNTAX: imageObject -> LOADIMAGE ARGUMENTS: None. INPUT_KEYWORDS: _EXTRA: Any keyword appropriate for the ImageData::LOADIMAGE method. OUTPUT_KEYWORDS: CANCEL: This keyword is set to 1 if the user exits the program in any way except hitting the ACCEPT button. The ACCEPT button will set this keyword to 0. FILEINFO: This keyword returns information about the selected file. Obtained from the QUERY_**** functions. OUTDIRECTORY: The directory where the selected file is found. OUTFILENAME: The short filename of the selected file.
(See C:\IDL\Catalyst\source\data\catimage2d__define.pro)
NAME: CATIMAGE2D::PIXEL_TO_VALUE PURPOSE: This method calculates the original image value underneath a pixel location in the display window. To be accurate, the window that contains the image MUST BE the current graphics window or you MUST PASS the window number in with the WINDOWINDEX keyword. This is NOT nessarily the value of the image in the display window. It is the original image value. SYNTAX: image_value = imageObject -> Pixel_to_Value(x, y) RETURN_VALUE: image_value: The image value at image[x,y] ARGUMENTS: X: The x location in the display window (pixel coordinates). Y: The y location in the display window (pixel coordinates). INPUT_KEYWORDS: OUTSIDE: The value to represent "outside" the image. Default is !Values.F_NAN. OUTPUT_KEYWORDS: DISPLAY_VALUE: Set this keyword to a named variable that will contain the value of the display image, rather than the original image. INSIDE: Returns a 1 if the (x,y) values are inside the image and 0 otherwise. WINDOWINDEX: The window index number of the window containing the image object. Set to !D.Window by default. XDATA: The x data value with respect to the image data coordinate system, XPIXEL: The x pixel value in terms of image (rather than window) device coordinates. YDATA: The y data value with respect to the image data coordinate system, YPIXEL: The y pixel value in terms of image (rather than window) device coordinates.
(See C:\IDL\Catalyst\source\data\catimage2d__define.pro)
NAME: CATIMAGE2D::SETPROPERTY PURPOSE: This method is used to set properties of the CATIMAGE2D object SYNTAX: imageObject -> SETPROPERTY, Image=newImage ARGUMENTS: None. KEYWORDS: IMAGE: A 2D image array to load into the object. MEDIAN_WIDTH: The size of the two-dimensional neighborhood to use with the MEDIAN function. SMOOTH_WIDTH: The size of the two-dimensional neighborhood to use with the SMOOTH function. _EXTRA: Any keyword appropriate for the SETPROPERTY method of the superclass object.
(See C:\IDL\Catalyst\source\data\catimage2d__define.pro)
NAME: CatImage::CLEANUP PURPOSE: This is the CatImage object class destructor method. SYNTAX: Called automatically when the object is destroyed thus: OBJ_DESTROY, imageObject ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the DATAATOM::CLEANUP method.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::CONTROLPANEL PURPOSE: This method creates a control panel for the CATIMAGE object. A control panel is a graphical user interface for setting object properties. If you create a control panel, the events are typically sent to the EVENTHANDLER method. SYNTAX: theObject -> ControlPanel, baseObject ARGUMENTS: baseObject: The object reference of a base widget for this control to be added to. If not supplied, the control panel will be in a self contained window (i.e., a TOPLEVELBASE object). KEYWORDS: _EXTRA: Any keywords appropriate for the CatControlPanel::INIT method.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::COPYPARAMETERS PURPOSE: This method returns the lower-left corner of the bounary box in the DESTINATION keyword, and the number of columns and rows in the boundary box in the EXTENT keyword, all in window or pixel coordinates. It's purpose is to return a section of a pixmap, for example, so that only that section can be copied. SYNTAX: theObject -> CopyParameters, drawid, DESTINATION=destination, EXTENT=extent ARGUMENTS: drawID: The identifier of a draw widget object whose extent will provide the size of the window for calculating device coordinates. This parameter is required. KEYWORDS: DESTINATION: A two-element array containing the lower-left corner of the boundary box in device coordinates. An output keyword. EXTENT: A two-element array containing the number of columns and rows in the boundary box in device coordinates. An output keyword.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::CREATEDISPLAYIMAGE PURPOSE: This method creates a display image for the object SYNTAX: imageObject -> CreateDisplayImage ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::DRAW PURPOSE: This method draws the image to the display based on the current DISPLAY_MODE in effect for the widget. SYNTAX: imageObject -> Draw ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::DRAW_MODE_0 PURPOSE: This display mode position's the image in the display window based on the POSITION of the image. SYNTAX: imageObject -> Draw_Mode_0 ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::DRAW_MODE_1 PURPOSE: This display mode position's the image in the display window based on the lower-left corner of the image. SYNTAX: imageObject -> Draw_Mode_1 ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::DRAW_MODE_2 PURPOSE: This display mode position's the image in the display window based on a window position parameter. SYNTAX: imageObject -> Draw_Mode_2 ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::EVENT_HANDLER PURPOSE: This method is the event handler for the CATIMAGE object. It will typically be used to respond to events from widget objects created in the CONTROLPANEL method. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::GETPROPERTY PURPOSE: This method is used to get properties of the CatImage object SYNTAX: imageObject -> GETPROPERTY, XSIZE=xsize, YSIZE=ysize ARGUMENTS: None. KEYWORDS: ASPECT_RATIO: The aspect ratio of the image: ysize/xsize. AXES: The image axes object for this image. If not available, a null object. DIMENSIONS: The dimensions of the image (e.g, Size(image, /DIMENSIONS). IMAGE: The image data. KEEP_ASPECT: The keep aspect ratio flag. LOCATION: A 6-by-2 floating array containing information about the position of the "displayed" image, which is updated after every image DRAW. The first two elements (location[0:1,0] contain the X and Y positions of the lower-left corner of the image (device units), the next two elements (location[2:3,0]) the X and Y positions of the upper-right corner of the image (device units)), and the last two elements contain the X and Y size of the display window (device units). The location[*,1] elements are exactly the same as the location[*,0] elements, except they are expressed in normalized (0 to 1) coordinates. MINMAX: A two-element array giving the minimum and maximum value of the orginal image data. N_DIMENSIONS: The number of dimensions of the image (e.g, Size(image, /N_DIMENSIONS). NOINTERPOLATE: The nointerpolate flag. ORDER: The display order of the image. OUT_XSIZE: The X size of the image on the display. OUT_YSIZE: The Y size of the image on the display. POSITION: A four-element vector giving the position of the image in the display window in normalized coordinates: [x0, y0, x1, y1]. SELECTABLE: Set to 1 if the image is selectable. TRUEINDEX: Set the the index of the "3" in a true-color image, or to -1 otherwise. XSIZE: The X size of the image. XSTART: The X location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. YSIZE: The Y size of the image. YSTART: The Y location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. VISIBLE: Set to 1 if the image is visible. WID: The window object where this image will be displayed. WINDOW_POSITION: A single number that gives a "window position" for displaying the image. The same as calling the TV command with a single positional parameter other than the image. ZOOM_COORD: The zoom coordinate system. ZOOMRECT: The coordinates of the zoom rectangle in the image in the form [x1, y1, x2, y2]. The coordinates are in the image pixel coordinate system (e.g., 0 to self._xsize-1). _REF_EXTRA: Any keyword appropriate for the DATAATOM::GETPROPERTY method.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::INIT PURPOSE: This method is used upon object creation. SYNTAX: Called automatically when the object is created thus: imageObject = OBJ_NEW ('CatImage', image) ARGUMENTS: image The image array of any data type. KEYWORDS: AXES: Set this keyword to add axes to the image display. Or, set this keyword to an axis object. DISPLAY_MODE: Images can be displayed in any of three display "modes". Display Mode 0 is the default and allows images to be positioned in the window using the POSITION keyword. Display Mode 1 is the standard "TV" display mode in which the image is positioned with respect to its lower-left corner in the display window. Display Mode 2 is the standard "TV" display mode in which the image is positioned in the window according to the WINDOW_POSITION. PAN and ZOOM capability is only available when in DISPLAY_MODE=0. NOINTERPOLATE: If the image is resized to fit the window, this keyword, if set, will cause nearest neighbor interpolation of image values to be used. The default is to use bilinear interpolation. Applies only to DISPLAY_MODE=0. KEEP_ASPECT: If this keyword is set, the POSITION of the image in the window is always adjusted to preserve the image aspect ratio (ratio of height divided by width). Otherwise, the image is resized arbitrarily. Applies only to DISPLAY_MODE=0. NO_COPY: If this keyword is set, the image data is transfered directly to the object and not copied. The image parameter will become undefined if this keyword is set. ORDER: The display order of the image. We seriously recommend that you NOT use this keyword!! Instead, use REVERSE to change the Y values of your image: image = Reverse(image,1) POSITION: The position of the image in the display window. The position is given as a four-element array in normalized (0 to 1) coordinates of the form [x0, y0, x1, y1], where (x0,y0) is the lower-left corner of the image and (x1,y1) is the upper-right corner of the image. If the KEEP_ASPECT keyword is set, the image will be located within the specified POSITION in a way that preserves the aspect ratio of the image. For the image's exact location in the window after it has been displayed, use the LOCATION keyword to the GetProperty method. SELECTABLE: Set this keyword to make the image selectable. XSIZE: The desired X size of the image upon output. This is used only for DISPLAY_MODE=1 and DISPLAY_MODE=2. XSTART: The X location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. YSIZE: The desired Y size of the image upon output. This is used only for DISPLAY_MODE=1 and DISPLAY_MODE=2. YSTART: The Y location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. WID: The window object where this image is to be displayed. Use this with some trepidation, because having an image wedded to a particular window can cause difficulties for pixmaps and interaction objects. Better to write code so that the image does not know where it is drawn. Still, it is sometimes useful to have this functionality. WINDOW_POSITION: A single number that gives a "window position" for displaying the image. The same as calling the TV command with a single positional parameter other than the image. _EXTRA: Any keyword appropriate for the INIT method of the superclass object.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::MESSAGEHANDLER PURPOSE: This method responds to "messages" sent from other objects. It is called automatically by other objects. To receive messages, it is necessary to "register" with the messaging object. SYNTAX: None. Called by other objects. ARGUMENTS: TITLE: The message title. This is the "name" of the message indicated when the object registered for messages with the messaging object. KEYWORDS: DATA: Information from the SENDER that may be relevant in processing the message. Typically, an anonymous structure variable, although it could be anything at all. SENDER: An output keyword. This is the object reference of the object that is sending the message.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::MOVE PURPOSE: This method moves the image in a graphics window. SYNTAX: theObject -> Move, x, y ARGUMENTS: X: The number of pixels to move in the X direction. Y: The number of pixels to move in the Y direction. KEYWORDS: NODRAW: If this keyword is set, only the coordinates are updated. No drawing occurs. PIXMAP: Set this keyword to a pixmap that can be used to erase the previous contents of the window.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::PAN PURPOSE: This method pans the image. SYNTAX: theImage -> Pan, movex, movey ARGUMENTS: movex: The number of (window) pixels to move in the X direction. movey: The number of (window) pixels to move in the Y direction. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::PIXEL_TO_VALUE PURPOSE: This method calculates the original image value underneath a pixel location in the display window. To be accurate, the window that contains the image MUST BE the current graphics window. To be certain of this, use the WID keyword in the INIT or SetProperty methods to associate an image with its display window. SYNTAX: image_value = imageObject -> Pixel_to_Value(x, y) RETURN_VALUE: image_value: The image value at image[x,y]. For 2D images, a single value. For true-color images a three-element array representing the RGB values at that image pixel. ARGUMENTS: X: The x location in the display window (pixel coordinates). Y: The y location in the display window (pixel coordinates). OUTPUT_KEYWORDS: INSIDE: Returns a 1 if the (x,y) values are inside the image and 0 otherwise. No values are returned in other keywords if the point is not inside the image. XDATA: The x data value with respect to the image data coordinate system, XPIXEL: The x pixel value in terms of image (rather than window) device coordinates. YDATA: The y data value with respect to the image data coordinate system, YPIXEL: The y pixel value in terms of image (rather than window) device coordinates.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::POINT_INSIDE PURPOSE: This method returns a 1 if the specified point is inside the image, and a 0 if the specified point is outside the image. SYNTAX: is_inside = imageObject -> Point_Inside(x, y) ARGUMENTS: x: The X value of the point in window or pixel coordinates. y: The Y value of the point in window or pixel coordinates. KEYWORDS: None
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::SELECT PURPOSE: This method returns the object reference if the requested point is inside the image SYNTAX: selectedObject = theObject -> Select, x, y ARGUMENTS: X: The X location of a point in device or window coordinates. Y: The Y location of a point in device or window coordinates. KEYWORDS: SUCCESS: Set to 1 if a selection is made. To 0 otherwise.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::SELECTPANEL PURPOSE: Similar to a Control Panel, it gives context menu access to properties of selectable objects. SYNTAX: selectedObject = theObject -> SelectPanel, x, y, drawID ARGUMENTS: X: The X location of a point in device or window coordinates. Y: The Y location of a point in device or window coordinates. DRAWID: The identifer of the draw widget object in which the selection is taking place. KEYWORDS: None:
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::SETPROPERTY PURPOSE: This method is used to set properties of the CatImage object SYNTAX: imageObject -> SETPROPERTY, XSIZE=xsize, YSIZE=ysize ARGUMENTS: None. KEYWORDS: AXES: Set this keyword to add axes to the image display. Or, set this keyword to an axes object that is added to the image. AXIS_PROPERTY: Set this keyword to invoke the axes control panel (if there are axes) in a separate window. BRING_TO_FRONT: Set this keyword to move this selectable object to the front of all selectable objects. COLOR_OBJECT: Use this keyword to load a COLORTOOL object for setting up colors for data display. The image will automatically register for COLORTOOL_TABLECHANGE messages. DISPLAY_MODE: Images can be displayed in any of three display "modes". Display Mode 0 is the default and allows images to be positioned in the window using the POSITION keyword. Display Mode 1 is the standard "TV" display mode in which the image is positioned with respect to its lower-left corner in the display window. Display Mode 2 is the standard "TV" display mode in which the image is positioned in the window according to the WINDOW_POSITION. DRAW: Set this keyword to DRAW the image after it's properties have been set. IMAGE: A image to load into the object. KEEP_ASPECT: If this keyword is set, the POSITION of the image in the window is always adjusted to preserve the image aspect ratio (ratio of height divided by width). Otherwise, the image is resized arbitrarily. Applies only to DISPLAY_MODE=0. MOVE_BACKWARD: Set this keyword to move this selectable object to the back of all selectable objects. MOVE_FORWARD: Set this keyword to move this selectable object to the front of all selectable objects. NO_COPY: If this keyword is set, the image data is transfered directly to the object and not copied. The image parameter will become undefined if this keyword is set. NOINTERPOLATE: If the image is resized to fit the window, this keyword, if set, will cause nearest neighbor interpolation of image values to be used. The default is to use bilinear interpolation. Applies only to DISPLAY_MODE=0. Note: True-Color images *always* use bilinear interpolation no matter what the value of this keyword. ORDER: The display order of the image. POSITION: The position of the image in the display window. The position is given as a four-element array in normalized (0 to 1) coordinates of the form [x0, y0, x1, y1], where (x0,y0) is the lower-left corner of the image and (x1,y1) is the upper-right corner of the image. If the KEEP_ASPECT keyword is set, the image will be located within the specified POSITION in a way that preserves the aspect ratio of the image. For the image's exact location in the window after it has been displayed, use the LOCATION keyword to the GetProperty method. SELECTABLE: Set this keyword to make the image selectable. SEND_TO_BACK: Set this keyword to move this selectable object to the back of all selectable objects. XSIZE: The desired X size of the image upon output. This is used only for DISPLAY_MODE=1 and DISPLAY_MODE=2. XSTART: The X location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. YSIZE: The desired Y size of the image upon output. This is used only for DISPLAY_MODE=1 and DISPLAY_MODE=2. YSTART: The Y location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. VISIBLE: Set this keyword to 1 to make the object visible. WID: The window object where this image is to be displayed. WINDOW_POSITION: A single number that gives a "window position" for displaying the image. The same as calling the TV command with a single positional parameter other than the image. ZOOMRECT: The coordinates of the zoom rectangle in the image in the form [x1, y1, x2, y2]. The coordinates are in the image pixel coordinate system (e.g., 0 to self._xsize-1). _EXTRA: Any keyword appropriate for the SETPROPERTY method of the superclass object.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::SHOW PURPOSE: This method attempts to pull the draw widget containing the image forward on the display, if possible. SYNTAX: imageObject -> SHOW ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::ZOOMIN PURPOSE: This method allows the user to zoom into the image. SYNTAX: imageObject -> ZoomIn, x, y ARGUMENTS: x_img: The X focal point for zooming. If not provided, the center of the image. The value will be a pixel value in the native image coordinate system. That is to say, a value between 0 and the image X size. The value can be obtained from an event structure by passing the event structure to the method Pixel_To_Value: imgVal = self -> Pixel_To_Value(event.x, event.y, XPixel=x_img, YPixel=y_img) self -> ZoomIn, x_img, y_img y_img: The Y focal point for zooming. If not provided, the center of the image. The value will be a pixel value in the native image coordinate system. That is to say, a value between 0 and the image Y size. KEYWORDS: NODRAW: Normally the image is drawn as soon as it is resized. Setting this keyword prevents the redraw.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImage::ZOOMOUT PURPOSE: This method allows the user to zoom out of the image. SYNTAX: imageObject -> ZoomOut, x, y ARGUMENTS: None. KEYWORDS: ALLTHEWAY: If this keyword is set, the image is zoomed all the way back to its starting value. NODRAW: Normally the image is drawn as soon as it is resized. Setting this keyword prevents the redraw.
(See C:\IDL\Catalyst\source\data\catimage__define.pro)
NAME: CatImageData PURPOSE: This object implements a class for handling image data. It is a subclassed CATDATAATOM object and can be subclassed for specific image implementations. This object was an early attempt at creating an image object for the Catalyst Library, and has been depreciated it favor of CatImage. It is left in the Library for historical reasons and because there are Catalyst applications that use it. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk SUPERCLASSES: CATDATAATOM CATATOM CATCONTAINER IDL_CONTAINER SYNTAX: imageObject = OBJ_NEW ('CatImageData', image) MESSAGES: If a new image is loaded with the LOADIMAGE method, a CATIMAGE_NEWIMAGE message is sent to registered users. CLASS DEFINITION: class = { CatImageData, $ ; The CatImageData object class. _backgroundColor: "", $ ; The name of a background color to use when ERASING. _bytsclmin : 0.0D, $ ; The MIN value when byte scaling the data for display. _bytsclmax : 0.0D, $ ; The MAX value when byte scaling the data for display. _directory : "", $ ; The directory to look in for reading image files. _erase : 0L, $ ; Flag: Erase the window before displaying image. _filename : "", $ ; The name of the image file that has been read. _interpolate: 0L, $ ; Flag: Interpolate when resizing. Nearest neighbor is default. _keep_aspect: 0L, $ ; Flag: Keep the aspect ratio when calculating image position. _location : FltArr(6,2), $ ; Location information about the "displayed" image. _original : Ptr_New(), $ ; The original image data _noresize : 0L, $ ; Flag: No display resizing. _position : FltArr(4), $ ; The position of the image in the output window. _wid : 0L, $ ; The window this image should be drawn in. _xsize : 0L, $ ; The X size of the image. _ysize : 0L, $ ; The Y size of the image. INHERITS CatDataAtom $ ; Subclassed from CATDATAATOM. } MODIFICATION_HISTORY: Written by: David Fanning, 27 March 2003.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::CLEANUP PURPOSE: This is the CatImageData object class destructor method. SYNTAX: Called automatically when the object is destroyed thus: OBJ_DESTROY, imageObject ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the DATAATOM::CLEANUP method.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::DRAW PURPOSE: This method draws the image to the current window at the size specified by the xsize and ysize properties. These default to the image size. If either/both are zero nothing is drawn. SYNTAX: imageObject -> Draw ARGUMENTS: None. KEYWORDS: NOCOLORS: Set this keyword if you just want to draw the image without first loading the image color tables. This is useful if you want to see the image with a temporary color table. NOCOORDS: Set this keyword to display the image without first drawing the COORDINATE object. _EXTRA: Any keyword appropriate for the DRAW method of the superclass objects.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::GetData PURPOSE: This function method enables data to be retreived from this object. It is written for internal use and should not be called without due consideration. All data handling should be done inside the object. SYNTAX: data = imageObject -> GetData (Success=s) ARGUMENTS: None. KEYWORDS: ORIGINAL: Set this keyword to obtain the original image data, rather than the display data. SUCCESS: This flag shows whether the get has been successful or not.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::GETPROPERTY PURPOSE: This method is used to get properties of the CatImageData object SYNTAX: imageObject -> GETPROPERTY, XSIZE=xsize, YSIZE=ysize ARGUMENTS: None. KEYWORDS: ASPECT_RATIO: The ratio of ysize/xsize for the image. AXES: The image axes object for this image. If not available, a null object. BYTSCLMAX: The maximum value (MAX keyword) for byte scaling the image for display. BYTSCLMIN: The minimum value (MIN keyword) for byte scaling the image for display. BACKGROUNDCOLOR: The name of the background color. ERASE: Erase flag. FILENAME: The name of the image file. DIMENSIONS: A two- or three-element array representing the dimensions of the image. DIRECTORY: The starting location to search for images when reading image files. This directory is updated to reflect the last directory used when reading an image file. DISPLAY_IMAGE: A copy of the display image. DISPLAY_RANGE: The minimum and maximum value of the display image as a two-element array. IMAGE: A copy of the original image. INTERPOLATE: Interpolate flag. KEEP_ASPECT: Keep aspect ratio flag. LOCATION: A 6-by-2 floating array containing information about the position of the "displayed" image, which is updated after every image DRAW. The first two elements (location[0:1,0] contain the X and Y positions of the lower-left corner of the image (device units), the next two elements (location[2:3,0]) the X and Y positions of the upper-right corner of the image (device units)), and the last two elements contain the X and Y size of the display window (device units). The location[*,1] elements are exactly the same as the location[*,0] elements, except they are expressed in normalized (0 to 1) coordinates. NORESIZE: No resize flag. POSITION: A four-element vector giving the position of the image in the display window in normalized coordinates: [x0, y0, x1, y1]. RANGE: The minimum and maximum value of the original image as a two-element array. TOOLDATA: A copy of the image that is to be processed. (The same as DISPLAY_IMAGE. This keyword MUST be defined to work with TOOLATOM objects.) TRUEINDEX: The position of the "true color" index. It is -1 for 2D images. Add one to get the "pixel interleaving" value for this image. WID: The window object where this image will be displayed. XINDEX: The index of the X dimension of the image in the DIMENSIONS variable. XSIZE: The X size of the image. YINDEX: The index of the Y dimension of the image in the DIMENSIONS variable. YSIZE: The Y size of the image. UNDOLIMIT: The number of images kept in the undo buffer. _REF_EXTRA: Any keyword appropriate for the DATAATOM::GETPROPERTY method.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::INIT PURPOSE: This method is used upon object creation. SYNTAX: Called automatically when the object is created thus: imageObject = OBJ_NEW ('CatImageData', image) ARGUMENTS: image The image array of any data type. KEYWORDS: AXES: Set this keyword to add axes to the image display. Or, set this keyword to an axis object. BACKGROUNDCOLOR: The name of the background color. Used only if the ERASE keyword is set. Set to "IVORY" by default. BYTSCLMAX: The maximum value for bytscaling the image. If undefined, Max(image). BYTSCLMIN: The minimum value for bytscaling the image. If undefined, Min(image). COLOR_OBJECT: Use this keyword to load a COLORTOOL object for setting up colors for data display. The image will automatically register for COLORTOOL_TABLECHANGE messages. COLORTABLE: The index number of a standard color table to use for this image. The image is displayed with a gray-scale color table by default. DIRECTORY: The starting location to search for images when reading image files. This directory is updated to reflect the last directory used when reading an image file. ERASE: Set this keyword if you wish to erase the display before the image is drawn. FILENAME: The name of the image file. This keyword is only used if an IMAGE is passed in simultaneously or if the LOAD_IMAGE keyword is used. INTERPOLATE: If the image is resized to fit the window, this keyword will cause bilinear interpolation of image values to be used. The default is to use nearest neighbor interpolation. KEEP_ASPECT: If this keyword is set, the POSITION of the image in the window is always adjusted to preserve the image aspect ratio (ratio of height divided by width). Otherwise, the image is resized arbitrarily. LOAD_IMAGE: If this keyword is set, and no image data is passed into the INIT method, then the ReadImageFile method is called to obtain an image data set. NO_COPY: If this keyword is set, the image data is transfered directly to the object and not copied. The image parameter will become undefined if this keyword is set. NORESIZE: Set this keyword to ensure the image is always drawn at its original size, rather than that specified by XSIZE and YSIZE. POSITION: The position of the image in the display window. The position is given as a four-element array in normalized (0 to 1) coordinates of the form [x0, y0, x1, y1], where (x0,y0) is the lower-left corner of the image and (x1,y1) is the upper-right corner of the image. If the KEEP_ASPECT keyword is set, the image will be located within the specified POSITION in a way that preserves the aspect ratio of the image. For the image's exact location in the window after it has been displayed, use the LOCATION keyword to the GetProperty method. XSIZE: The X size of the image. YSIZE: The Y size of the image. WID: The window object where this image is to be displayed. _EXTRA: Any keyword appropriate for the INIT method of the superclass object or for the LoadImage method.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::IP PURPOSE: This method creates an image processing tool (CATIPTOOL) to perform an image processing function, and executes the tool process. SYNTAX: processedImage = imageObject -> IP(theProcessName) ARGUMENTS: theProcessName: The name of an image processing command. For example, "SMOOTH". p1: This is the first additional parameter of the image processing command. The *first* parameter of the image processing command is always the image data obtained from the targetObject with the GETDATA method. For example, in this case P1 will be equal to 7: smoothObj = Obj_New('CATIPTOOL', 'Smooth', 7) And the command that will be executed is this: targetObject -> SetData, Smooth(targetObject->GetData(), 7) p2: This is the second additional parameter of the image processing command. p3: This is the third additional parameter of the image processing command. KEYWORDS: DESTROY: Normally, the image processing object created in this method is added to the tool list of the image. If the DESTROY keyword is set, however, the new object is destroyed and not added to the image tool list. This is appropriate for image processing tasks that can't be undone, for example. DRAW: Set this keyword to DRAW the image after the processing has been applied. ORIGINAL: Set this keyword to apply the image processing operation to the original image data and not to the display image data. _EXTRA: Any keyword appropriate for the INIT method of the image processing tool.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::LOADCT PURPOSE: This method loads a pre-determined color table for the image. The parameters and keywords are passed along to the image's built-in color table. SYNTAX: imageObject -> LoadCT, colorIndex ARGUMENTS: colorIndex: The color table index number to load. If missing, 0 is assumed. KEYWORDS: DRAW: If this keyword is set, the DRAW method is called after the colors have been loaded.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::LOADIMAGE PURPOSE: This method is used to load images into the object. SYNTAX: imageObject -> LOADIMAGE ARGUMENTS: None. INPUT KEYWORDS: BMP: Set this keyword to select BMP files. COLORTABLE: The index number of a standard color table to use for this image. The image is displayed with a gray-scale color table by default. DICOM: Set this keyword to select DICOM files. DIRECTORY: The initial input directory name. The current directory by default. DEMO: Set this keyword to load demonstration files via LOADDATA rather than SELECTIMAGE. Setting this keyword will disable all other keywords. DRAW: Set this keyword to immediately draw the image after loading. FILENAME: The initial filename. If the initial directory has image files of the correct type, the default is to display the first of these files. Otherwise, blank. FLIPIMAGE: Set this keyword if you wish to flip the image from its current orientation. Setting this keyword reverses the Y dimension of the image. _EXTRA: This keyword is used to collect and pass keywords on to the FSC_FILESELECT object. See the code for FSC_FILESELECT for details. GIF: Set this keyword to select GIF files. This capability is not available in IDL 5.4 and higher. GROUP_LEADER: Set this keyword to a widget identifier group leader. This keyword MUST be set when calling this program from another widget program to guarantee modal operation. JPEG: Set this keyword to select JPEG files. ONLY2D: Set this keyword if you only want to allow 2D image arrays to be loaded. ONLY3D: Set this keyword if you only want to allow 3D or true-color image arrays to be loaded. PICT: Set this keyword to select PICT files. PNG: Set this keyword to select PNG files. PREVIEWSIZE: Set this keyword to the maximum size (in pixels) of the preview window. Default is 150. TIFF: Set this keyword to select TIFF files. (This is the default filter selection.) OUTPUT KEYWORDS: CANCEL: This keyword is set to 1 if the user exits the program in any way except hitting the ACCEPT button. The ACCEPT button will set this keyword to 0. FILEINFO: This keyword returns information about the selected file. Obtained from the QUERY_**** functions. OUTDIRECTORY: The directory where the selected file is found. OUTFILENAME: The short filename of the selected file.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::MESSAGEHANDLER PURPOSE: This method responds to "messages" sent from other objects. It is called automatically by other objects. To receive messages, it is necessary to "register" with the messaging object. SYNTAX: None. Called by other objects. ARGUMENTS: TITLE: The message title. This is the "name" of the message indicated when the object registered for messages with the messaging object. KEYWORDS: DATA: Information from the SENDER that may be relevant in processing the message. Typically, an anonymous structure variable, although it could be anything at all. SENDER: An output keyword. This is the object reference of the object that is sending the message.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::SetData PURPOSE: This function method enables data to be set from this object. It is written for internal use and should not be called without due consideration. All data handling should be done inside the object. SYNTAX: imageObject -> SetData (Success=s, image) ARGUMENTS: image: The image data to be placed into the object. KEYWORDS: DRAW: Set this keyword makes the object DRAW itself once the data is loaded. NO_COPY: Set this keyword to "move" supplied data into the object rather than make a copy. Note that this will leave the input "data" variable undefined. ORIGINAL: Set this keyword to replace the original image data, rather than the display data.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::SETORIGINAL PURPOSE: This method attempts simply replaces the display image with the original image. As a side effect, any processing objects on the UNDO list are automatically deleted. SYNTAX: imageObject -> SetOriginal ARGUMENTS: None. KEYWORDS: DRAW: Set this keyword to draw the image after replacement.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::SETPROPERTY PURPOSE: This method is used to set properties of the CatImageData object SYNTAX: imageObject -> SETPROPERTY, XSIZE=xsize, YSIZE=ysize ARGUMENTS: None. KEYWORDS: AXES: Set this keyword to add axes to the image display. Or, set this keyword to an axes object that is added to the image. AX_PROPERTY: Set this keyword to invoke the axes control panel (if there are axes) in a separate window. BYTSCLMAX: The maximum value (MAX keyword) for byte scaling the image for display. BYTSCLMIN: The minimum value (MIN keyword) for byte scaling the image for display. BACKGROUNDCOLOR: The name of the background color. Used only if the ERASE keyword is set. COLOR_OBJECT: Use this keyword to load a COLORTOOL object for setting up colors for data display. The image will automatically register for COLORTOOL_TABLECHANGE messages. COLORTABLE: The index number of a standard color table to use for this image. The image is displayed with a gray-scale color table by default. DIRECTORY: The starting location to search for images when reading image files. This directory is updated to reflect the last directory used when reading an image file. DRAW: Set this keyword to DRAW the image after it's properties have been set. ERASE: Set this keyword if you wish to erase the display before the image is drawn. FILENAME: The name of the image file. This keyword is only used if an IMAGE is passed in simultaneously. IMAGE: A image to load into the object. INTERPOLATE: If the image is resized to fit the window, this keyword will cause bilinear interpolation of image values to be used. The default is to use nearest neighbor interpolation. KEEP_ASPECT: If this keyword is set, the POSITION of the image in the window is always adjusted to preserve the image aspect ratio. Otherwise, the image is resized arbitrarily. NO_COPY: If this keyword is set, the image data is transfered directly to the object and not copied. The image parameter will become undefined if this keyword is set. NORESIZE: Set this keyword to ensure the image is always drawn at its original size, rather than that specified by XSIZE and YSIZE. IF NORESIZE is set, the lower-left corner of the image is positioned at (POSITION[0], POSITION[1]). POSITION: The position of the image in the display window. The position is given as a four-element array in normalized (0 to 1) coordinates of the form [x0, y0, x1, y1], where (x0,y0) is the lower-left corner of the image and (x1,y1) is the upper-right corner of the image. If the KEEP_ASPECT keyword is set, the image will be located within the specified POSITION in a way that preserves the aspect ratio of the image. For the image's exact location in the window after it has been displayed, use the LOCATION keyword to the GetProperty method. WID: The window objectr where this image is to be displayed. UNDOLIMIT: The number of tool objects kept in the image's undo buffer. _EXTRA: Any keyword appropriate for the SETPROPERTY method of the superclass object.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::SHOW PURPOSE: This method attempts to pull the draw widget containing the image forward on the display, if possible. SYNTAX: imageObject -> SHOW ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::WINDOW PURPOSE: This method with create a CATGRAPHICSWINDOW for the image and add itself to the window. The image will be destroyed when the graphics window is destroyed. This method is provided mostly for interactive development of the image object. Note that other image properties are also set when the GRAPHICSWINDOW is created. SYNTAX: imageObject -> Window ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the image SETPROPERY method.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CatImageData::XCOLORS PURPOSE: This method changes color tables for the image. It is only available for 2D image arrays. SYNTAX: imageObject -> XColors ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the COLORTOOL::XCOLORS method.
(See C:\IDL\Catalyst\source\data\catimagedata__define.pro)
NAME: CATTRUECOLORIMAGE PURPOSE: This object implements a class for handling true-color image data. It is a subclassed CatImageData object and can be subclassed for specific image implementations. This object was an early attempt at creating an image object for the Catalyst Library, and has been depreciated it favor of CatImage. It is left in the Library for historical reasons and because there are Catalyst applications that use it. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk SUPERCLASSES: CATIMAGEDATA CATDATAATOM ATOM CATCONTAINER IDL_CONTAINER SYNTAX: imageObject = OBJ_NEW ('CATTRUECOLORIMAGE', image) CLASS DEFINITION: class = { CATTRUECOLORIMAGE, $ ; The CATTRUECOLORIMAGE object class. INHERITS CatImageData $ ; Inherits the CatImageData class. } MODIFICATION_HISTORY: Written by: David Fanning, 19 April 2003.
(See C:\IDL\Catalyst\source\data\cattruecolorimage__define.pro)
NAME: CATTRUECOLORIMAGE::CONTROLPANEL PURPOSE: This method creates a control panel for the object SYNTAX: imageObject -> ControlPanel, baseObj ARGUMENTS: baseObject: The object reference of a base widget for this control to be added to. If not supplied, the control panel will be a self contained window. KEYWORDS: _EXTRA: Any keywords appropriate for the "CONTROLPANEL::INIT" method.
(See C:\IDL\Catalyst\source\data\cattruecolorimage__define.pro)
NAME: CATTRUECOLORIMAGE::EVENTHANDLER PURPOSE: This method is an event handler for the Control Panel. SYNTAX: Called automatically by the event handling system ARGUMENTS: event: The event structure. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\cattruecolorimage__define.pro)
NAME: CATTRUECOLORIMAGE::INIT PURPOSE: This method is used upon object creation. SYNTAX: Called automatically when the object is created thus: imageObject = OBJ_NEW ('CatTrueColorImage', image) ARGUMENTS: image The 24-bit image array of byte type. KEYWORDS: _EXTRA: Any keyword appropriate for the INIT method of the superclass object or for the LoadImage method.
(See C:\IDL\Catalyst\source\data\cattruecolorimage__define.pro)
NAME: CATTRUECOLORIMAGE::LOADIMAGE PURPOSE: This method is used to load images into the object. SYNTAX: imageObject -> LOADIMAGE ARGUMENTS: None. INPUT KEYWORDS: _EXTRA: Any keyword appropriate for the CatImageData::LOADIMAGE method. OUTPUT KEYWORDS: CANCEL: This keyword is set to 1 if the user exits the program in any way except hitting the ACCEPT button. The ACCEPT button will set this keyword to 0. FILEINFO: This keyword returns information about the selected file. Obtained from the QUERY_**** functions. OUTDIRECTORY: The directory where the selected file is found. OUTFILENAME: The short filename of the selected file.
(See C:\IDL\Catalyst\source\data\cattruecolorimage__define.pro)
NAME: CATTRUECOLORIMAGE::PIXEL_TO_VALUE PURPOSE: This method calculates the image RGB value underneath a pixel location in the display window. To be accurate, the window containing the image MUST be the current graphics window. SYNTAX: image_value = imageObject -> Pixel_to_Value(x, y) RETURN_VALUE: image_value: The image value at image[x,y] ARGUMENTS: X: The x location in the display window (pixel coordinates). Y: The y location in the display window (pixel coordinates). INPUT_KEYWORDS: OUTSIDE: The value to represent "outside" the image. Default is !Values.F_NAN. OUTPUT_KEYWORDS: INSIDE: Returns a 1 if the (x,y) values are inside the image and 0 othewise. WINDOWINDEX: The window index number of the window containing the image object. Set to !D.Window by default. XDATA: The x data value with respect to the image data coordinate system, XPIXEL: The x pixel value in terms of image (rather than window) device coordinates. YDATA: The y data value with respect to the image data coordinate system, YPIXEL: The y pixel value in terms of image (rather than window) device coordinates.
(See C:\IDL\Catalyst\source\data\cattruecolorimage__define.pro)
NAME: CATTRUECOLORIMAGE::SETPROPERTY PURPOSE: This method is used to set properties of the CATTRUECOLORIMAGE object SYNTAX: imageObject -> SETPROPERTY, Image=newImage ARGUMENTS: None. KEYWORDS: IMAGE: A true-color (24-bit) image array to load into the object. _EXTRA: Any keyword appropriate for the SETPROPERTY method of the superclass object.
(See C:\IDL\Catalyst\source\data\cattruecolorimage__define.pro)
NAME: IMAGECONTAINER::ADD PURPOSE: This method is where you can screen what kinds of objects are added to this object's hierarchy. The method is not always needed. If you do create it, be CERTAIN to call the superclass ADD method or your program will not work correctly. SYNTAX: theObject -> Add, object ARGUMENTS: object: The object to be added to this one. KEYWORDS: _EXTRA: Any keywords appropriate for the superclass Add method.
(See C:\IDL\Catalyst\source\data\imagecontainer__define.pro)
NAME: IMAGECONTAINER::DRAW PURPOSE: This method may or may not be needed by your object, depending upon whether a graphical representation of the object is required. If you wish the DRAW method to automatically propogates down to any objects contained in this object's container, call the superclass DRAW method. SYNTAX: theObject -> Draw ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\imagecontainer__define.pro)
NAME: IMAGECONTAINER::GETFRAME PURPOSE: This method retrieves an image from its container, based on the image framenumber SYNTAX: thisObject -> GetFrame, frameNumber ARGUMENTS: framenumber: The image framenumber. If an image with this framenumber can be found, it is removed from the image container. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\imagecontainer__define.pro)
NAME: IMAGECONTAINER::REMOVEFRAME PURPOSE: This method removes an image from its container, based on the image framenumber SYNTAX: thisObject -> RemoveFrame, frameNumber ARGUMENTS: framenumber: The image framenumber. If an image with this framenumber can be found, it is removed from the image container. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\imagecontainer__define.pro)
NAME: IMAGECONTAINER__DEFINE PURPOSE: The purpose of this routine is to provide a container class for image objects. Calling the DRAW method of a container calls the DRAW method on all the items in the container. It is similar to a CatLayer object, which was developed later for annotations. It was developed specifically for ImageFrame objects, and still contains some unneeded dependencies on that object. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: theObject = Obj_New("IMAGECONTAINER") SUPERCLASSES: CATATOM CATCONTAINER IDLITCOMPONENT IDL_CONTAINER CLASS_STRUCTURE: class = { IMAGECONTAINER, $ INHERITS CATATOM $ } MESSAGES: None. MODIFICATION_HISTORY: Written by: David W. Fanning, May 24, 2005.
(See C:\IDL\Catalyst\source\data\imagecontainer__define.pro)
NAME: ImageFrame PURPOSE: This object implements a class for handling image data. This object is conceptually identical to a CatImage object, except that the image data is not stored directly in the object. Rather, a pointer to an ImageStack object, a frame number, and a slice orientation are used to access the image data when needed for display. This object was used in a medical imaging application in support of volumentric image data. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk SUPERCLASSES: CATDATAATOM CATATOM CATCONTAINER IDL_CONTAINER SYNTAX: imageObject = OBJ_NEW ('ImageFrame', imageStack) CLASS DEFINITION: class = { ImageFrame, $ ; The ImageFrame object class. _stack : Obj_New(), $ ; The IMAGESTACK object. _display_mode : 0B, $ ; A flag indicating which display method to use for drawing. _inverse : 0B, $ ; If this flag is set, the image is drawn in inverse color. _keep_aspect : 0L, $ ; Flag: Keep the aspect ratio when calculating image position. _location : DblArr(6,2), $ ; Location information about the "displayed" image. _interpolate : 0L, $ ; Flag: When set, bilinear interpolation is used. _order : 0L, $ ; Image display order. _out_xsize : 0L, $ ; The output X size of the image. (Display_Mode=1 and Display_Mode=2) _out_ysize : 0L, $ ; The output Y size of the image. (Display_Mode=1 and Display_Mode=2) _position : DblArr(4), $ ; The position of the image in the output window. (Display_Mode=0) _xsize : 0L, $ ; The X size of the image. _xstart : 0L, $ ; The starting X location for displaying image. (Display_Mode=1) _ysize : 0L, $ ; The Y size of the image. _ystart : 0L, $ ; The starting Y location for displaying image. (Display_Mode=1) _wid : Obj_New(), $ ; The window object where this image should be displayed. _window_position: 0L, $ ; The window position for displaying this image. (Display_Mode=2) _orientation : "", $ ; The orientation of the slice: "X", "Y", or "Z" (the default). _framenumber : 0L, $ ; The frame number. _thick : 0L, $ ; The "thickness" of the image slice. (See IMAGESTACK documentation.) INHERITS CatDataAtom $ ; Subclassed from CATDATAATOM. } MODIFICATION_HISTORY: Written by: David Fanning, 27 March 2003.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::CLEANUP PURPOSE: This is the ImageFrame object class destructor method. SYNTAX: Called automatically when the object is destroyed thus: OBJ_DESTROY, imageObject ARGUMENTS: None. KEYWORDS: _EXTRA: Any keyword appropriate for the DATAATOM::CLEANUP method.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::DRAW PURPOSE: This method draws the image to the display based on the current DISPLAY_MODE in effect for the widget. SYNTAX: imageObject -> Draw ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::DRAW_MODE_0 PURPOSE: This display mode position's the image in the display window based on the POSITION of the image. SYNTAX: imageObject -> Draw_Mode_0 ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::DRAW_MODE_1 PURPOSE: This display mode position's the image in the display window based on the lower-left corner of the image. SYNTAX: imageObject -> Draw_Mode_1 ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::DRAW_MODE_2 PURPOSE: This display mode position's the image in the display window based on a window position parameter. SYNTAX: imageObject -> Draw_Mode_2 ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::GETPROPERTY PURPOSE: This method is used to get properties of the ImageFrame object SYNTAX: imageObject -> GETPROPERTY, XSIZE=xsize, YSIZE=ysize ARGUMENTS: None. KEYWORDS: AXES: The image axes object for this image. If not available, a null object. DIMENSIONS: A three-element array containing the dimensions of the imageStack object. IMAGE: The image data. INVERSE: If this keyword is set, the image is drawn in inverse color (255-image). KEEP_ASPECT: The keep aspect ratio flag. LOCATION: A 6-by-2 floating array containing information about the position of the "displayed" image, which is updated after every image DRAW. The first two elements (location[0:1,0] contain the X and Y positions of the lower-left corner of the image (device units), the next two elements (location[2:3,0]) the X and Y positions of the upper-right corner of the image (device units)), and the last two elements contain the X and Y size of the display window (device units). The location[*,1] elements are exactly the same as the location[*,0] elements, except they are expressed in normalized (0 to 1) coordinates. NOINTERPOLATE: The nointerpolate flag. OUT_XSIZE: The X size of the image on the display. OUT_YSIZE: The Y size of the image on the display. ORIENTATION: The current orientation of the slice. POSITION: A four-element vector giving the position of the image in the display window in normalized coordinates: [x0, y0, x1, y1]. FRAMENUMBER: The current index number of the slice. THICK: The current slice "thickness". XSIZE: The X size of the image. XSTART: The X location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. YSIZE: The Y size of the image. YSTART: The Y location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. WID: The window object where this image will be displayed. WINDOW_POSITION: A single number that gives a "window position" for displaying the image. The same as calling the TV command with a single positional parameter other than the image. _REF_EXTRA: Any keyword appropriate for the DATAATOM::GETPROPERTY method.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::INIT PURPOSE: This method is used upon object creation. SYNTAX: Called automatically when the object is created thus: imageObject = OBJ_NEW ('ImageFrame', imageStackObject) ARGUMENTS: imageStack The object reference to an IMAGESTACK object. KEYWORDS: AXES: Set this keyword to add axes to the image display. Or, set this keyword to an axis object. DISPLAY_MODE: Images can be displayed in any of three display "modes". Display Mode 0 is the default and allows images to be positioned in the window using the POSITION keyword. Display Mode 1 is the standard "TV" display mode in which the image is positioned with respect to its lower-left corner in the display window. Display Mode 2 is the standard "TV" display mode in which the image is positioned in the window according to the WINDOW_POSITION. INVERSE: If this keyword is set, the image is drawn in inverse color (255-image). KEEP_ASPECT: If this keyword is set, the POSITION of the image in the window is always adjusted to preserve the image aspect ratio (ratio of height divided by width). Otherwise, the image is resized arbitrarily. Applies only to DISPLAY_MODE=0. NO_COPY: If this keyword is set, the image data is transfered directly to the object and not copied. The image parameter will become undefined if this keyword is set. NOINTERPOLATE: If the image is resized to fit the window, this keyword, if set, will cause nearest neighbor interpolation of image values to be used. The default is to use bilinear interpolation. Applies only to DISPLAY_MODE=0. ORIENTATION: Slices can be taken in the X, Y, and Z directions. This keyword accepts a single character string that selects the directions. "Z": the slice is taken from the XY plane (the default). "X" the slice is taken from the YZ plane. "Y" the slice is taken from the XZ plane. POSITION: The position of the image in the display window. The position is given as a four-element array in normalized (0 to 1) coordinates of the form [x0, y0, x1, y1], where (x0,y0) is the lower-left corner of the image and (x1,y1) is the upper-right corner of the image. If the KEEP_ASPECT keyword is set, the image will be located within the specified POSITION in a way that preserves the aspect ratio of the image. For the image's exact location in the window after it has been displayed, use the LOCATION keyword to the GetProperty method. FRAMENUMBER: The index number of the slice desired from the image cube. By default, 0. THICK: Normally, a slice one image frame thick is returned. If this keyword is set to a value greater than 1, then THICK number of image frames are averaged together to produce the slice that is returned. The slice will go from number to (number + thick - 1). If there are not enough image frames to produce a slice with a particular thickness, then as many frames as possible will be averaged. XSIZE: The desired X size of the image upon output. This is used only for DISPLAY_MODE=1 and DISPLAY_MODE=2. XSTART: The X location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. YSIZE: The desired Y size of the image upon output. This is used only for DISPLAY_MODE=1 and DISPLAY_MODE=2. YSTART: The Y location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. WID: The window object where this image is to be displayed. WINDOW_POSITION: A single number that gives a "window position" for displaying the image. The same as calling the TV command with a single positional parameter other than the image. _EXTRA: Any keyword appropriate for the INIT method of the superclass object.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::MESSAGEHANDLER PURPOSE: This method responds to "messages" sent from other objects. It is called automatically by other objects. To receive messages, it is necessary to "register" with the messaging object. SYNTAX: None. Called by other objects. ARGUMENTS: TITLE: The message title. This is the "name" of the message indicated when the object registered for messages with the messaging object. KEYWORDS: DATA: Information from the SENDER that may be relevant in processing the message. Typically, an anonymous structure variable, although it could be anything at all. SENDER: An output keyword. This is the object reference of the object that is sending the message.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::PIXEL_TO_VALUE PURPOSE: This method calculates the original image value underneath a pixel location in the display window. To be accurate, the window that contains the image MUST BE the current graphics window. To be certain of this, use the WID keyword in the INIT or SetProperty methods to associate an image with its display window. SYNTAX: image_value = imageObject -> Pixel_to_Value(x, y) RETURN_VALUE: image_value: The image value at image[x,y]. For 2D images, a single value. For true-color images a three-element array representing the RGB values at that image pixel. ARGUMENTS: X: The x location in the display window (pixel coordinates). Y: The y location in the display window (pixel coordinates). OUTPUT_KEYWORDS: INSIDE: Returns a 1 if the (x,y) values are inside the image and 0 otherwise. No values are returned in other keywords if the point is not inside the image. XDATA: The x data value with respect to the image data coordinate system, XPIXEL: The x pixel value in terms of image (rather than window) device coordinates. YDATA: The y data value with respect to the image data coordinate system, YPIXEL: The y pixel value in terms of image (rather than window) device coordinates.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::POINT_INSIDE PURPOSE: This method returns a 1 if the specified point is inside the image, and a 0 if the specified point is outside the image. SYNTAX: is_inside = imageObject -> Point_Inside(x, y) ARGUMENTS: x: The X value of the point in window or pixel coordinates. y: The Y value of the point in window or pixel coordinates. KEYWORDS: None
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::SETPROPERTY PURPOSE: This method is used to set properties of the ImageFrame object SYNTAX: imageObject -> SETPROPERTY, XSIZE=xsize, YSIZE=ysize ARGUMENTS: None. KEYWORDS: AXES: Set this keyword to add axes to the image display. Or, set this keyword to an axes object that is added to the image. AXIS_PROPERTY: Set this keyword to invoke the axes control panel (if there are axes) in a separate window. DISPLAY_MODE: Images can be displayed in any of three display "modes". Display Mode 0 is the default and allows images to be positioned in the window using the POSITION keyword. Display Mode 1 is the standard "TV" display mode in which the image is positioned with respect to its lower-left corner in the display window. Display Mode 2 is the standard "TV" display mode in which the image is positioned in the window according to the WINDOW_POSITION. DRAW: Set this keyword to DRAW the image after it's properties have been set. IMAGESTACK: An object reference to an IMAGESTACK object. INVERSE: If this keyword is set, the image is drawn in inverse color (255-image). KEEP_ASPECT: If this keyword is set, the POSITION of the image in the window is always adjusted to preserve the image aspect ratio (ratio of height divided by width). Otherwise, the image is resized arbitrarily. Applies only to DISPLAY_MODE=0. NO_COPY: If this keyword is set, the image data is transfered directly to the object and not copied. The image parameter will become undefined if this keyword is set. NOINTERPOLATE: If the image is resized to fit the window, this keyword, if set, will cause nearest neighbor interpolation of image values to be used. The default is to use bilinear interpolation. Applies only to DISPLAY_MODE=0. Note: True-Color images *always* use bilinear interpolation no matter what the value of this keyword. NULL_FOR_SAVE: If this keyword is set, any object field in this object that will cause unwanted object references to be saved in a save file are nulled out. ORIENTATION: Slices can be taken in the X, Y, and Z directions. This keyword accepts a single character string that selects the directions. "Z": the slice is taken from the XY plane (the default). "X" the slice is taken from the YZ plane. "Y" the slice is taken from the XZ plane. POSITION: The position of the image in the display window. The position is given as a four-element array in normalized (0 to 1) coordinates of the form [x0, y0, x1, y1], where (x0,y0) is the lower-left corner of the image and (x1,y1) is the upper-right corner of the image. If the KEEP_ASPECT keyword is set, the image will be located within the specified POSITION in a way that preserves the aspect ratio of the image. For the image's exact location in the window after it has been displayed, use the LOCATION keyword to the GetProperty method. FRAMENUMBER: The index number of the slice desired from the image cube. By default, 0. THICK: Normally, a slice one image frame thick is returned. If this keyword is set to a value greater than 1, then THICK number of image frames are averaged together to produce the slice that is returned. The slice will go from number to (number + thick - 1). If there are not enough image frames to produce a slice with a particular thickness, then as many frames as possible will be averaged. XSIZE: The desired X size of the image upon output. This is used only for DISPLAY_MODE=1 and DISPLAY_MODE=2. XSTART: The X location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. YSIZE: The desired Y size of the image upon output. This is used only for DISPLAY_MODE=1 and DISPLAY_MODE=2. YSTART: The Y location (in pixels) of the lower-left corner of the image. Used only in DISPLAY_MODE=1. WID: The window objectr where this image is to be displayed. WINDOW_POSITION: A single number that gives a "window position" for displaying the image. The same as calling the TV command with a single positional parameter other than the image. _EXTRA: Any keyword appropriate for the SETPROPERTY method of the superclass object.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: ImageFrame::SHOW PURPOSE: This method attempts to pull the draw widget containing the image forward on the display, if possible. SYNTAX: imageObject -> SHOW ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\imageframe__define.pro)
NAME: IMAGESTACK::CLEANUP PURPOSE: This is the IMAGESTACK object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\imagestack__define.pro)
NAME: IMAGESTACK::DRAW PURPOSE: This method may or may not be needed by your object, depending upon whether a graphical representation of the object is required. If you wish the DRAW method to automatically propogates down to any objects contained in this object's container, call the superclass DRAW method. SYNTAX: theObject -> Draw ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\imagestack__define.pro)
NAME: IMAGESTACK::GETFRAME PURPOSE: This function method returns the 2D image with the corresponding frame or slice number. By default, the slice is taken in the XY plane of the image stack, but slices in other planes can be returned by setting the appropriate keywords. SYNTAX: theFrame = theObject -> GetFrame(number) ARGUMENTS: number: The frame or slice number of the image desired in the image stack. KEYWORDS: ORIENTATION: Slices can be taken in the X, Y, and Z directions. This keyword accepts a single character string that selects the directions. "Z": the slice is taken from the XY plane (the default). "X" the slice is taken from the YZ plane. "Y" the slice is taken from the XZ plane. THICK: Normally, a slice one image frame thick is returned. If this keyword is set to a value greater than 1, then THICK number of image frames are averaged together to produce the slice that is returned. The slice will go from number to (number + thick - 1). If there are not enough image frames to produce a slice with a particular thickness, then as many frames as possible will be averaged. In other words, if there are 10 slices and you ask for slice number 8 with a thickness of 3, frame indices 8, 9, and 10 should be averaged. In this case, there is no frame index 10, so only two frames will be used in calculating the average frame.
(See C:\IDL\Catalyst\source\data\imagestack__define.pro)
NAME: IMAGESTACK::GETPROPERTY PURPOSE: This method allows the user to obtain IMAGESTACK properties. Be sure you ALWAYS call the superclass GETPROPERTY method if you have extra keywords! SYNTAX: theObject -> GetProperty ... ARGUMENTS: None. KEYWORDS: DIMENSIONS: A three-element array containing the dimensions of the image stack. IMAGESTACK: The image stack data. MAXVALUE: The maximum value of the data in the stack. MINVALUE: The minimum value of the data in the stack. XSIZE: The X size of the data stack. YSIZE: The Y size of the data stack. ZSIZE: The Z size of the data stack. _REF_EXTRA: Any keywords appropriate for the superclass GetProperty method.
(See C:\IDL\Catalyst\source\data\imagestack__define.pro)
NAME: IMAGESTACK::INIT PURPOSE: This is the IMAGESTACK object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: dataStack: The 3D volume data set that is the image stack. KEYWORDS: _EXTRA: Any keywords appropriate for the superclass INIT method.
(See C:\IDL\Catalyst\source\data\imagestack__define.pro)
NAME: IMAGESTACK::SETPROPERTY PURPOSE: This method allows the user to set the IMAGESTACK object's properties. SYNTAX: theObject -> SetProperty ... ARGUMENTS: None. KEYWORDS: IMAGESTACK: A 3D data set representing an image stack. _EXTRA: Any keywords appropriate for the superclass SetProperty method.
(See C:\IDL\Catalyst\source\data\imagestack__define.pro)
NAME: IMAGESTACK__DEFINE PURPOSE: The purpose of this routine is to implement an object for manipulating an image cube or stack. An image stack is a 3D volume data set that can be sliced in three orthogonal planes to produce image slices or frames. AUTHORS: FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING 1645 Sheely Drive 18 The Green South Fort Collins Warborough, Oxon CO 80526 USA OX10 7DN, ENGLAND Phone: 970-221-0438 Phone: +44 (0)1865 858279 E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk CATEGORY: Objects. SYNTAX: theObject = Obj_New("IMAGESTACK") SUPERCLASSES: CATDATAATOM CATATOM CATCONTAINER IDLITCOMPONENT IDL_CONTAINER CLASS_STRUCTURE: class = { IMAGESTACK, $ xsize: 0L, $ ysize: 0L, $ zsize: 0L, $ INHERITS CATDATAATOM $ } MESSAGES: None. MODIFICATION_HISTORY: Written by: David W. Fanning, 25 February 2004.
(See C:\IDL\Catalyst\source\data\imagestack__define.pro)
NAME: SCALEIMAGE::CLEANUP PURPOSE: This is the SCALEIMAGE object class destructor method. SYNTAX: Called automatically when the object is destroyed. ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\scaleimage__define.pro)
NAME: ScaleImage::CONTROLPANEL PURPOSE: This method creates a control panel for the CATIMAGE object. A control panel is a graphical user interface for setting object properties. If you create a control panel, the events are typically sent to the EVENTHANDLER method. SYNTAX: theObject -> ControlPanel, baseObject ARGUMENTS: baseObject: The object reference of a base widget for this control to be added to. If not supplied, the control panel will be in a self contained window (i.e., a TOPLEVELBASE object). KEYWORDS: _EXTRA: Any keywords appropriate for the CatControlPanel::INIT method.
(See C:\IDL\Catalyst\source\data\scaleimage__define.pro)
NAME: ScaleImage::CREATEDISPLAYIMAGE PURPOSE: This method creates a display image for the object SYNTAX: imageObject -> CreateDisplayImage ARGUMENTS: None. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\scaleimage__define.pro)
NAME: ScaleImage::EVENT_HANDLER PURPOSE: This method is the event handler for the CATIMAGE object. It will typically be used to respond to events from widget objects created in the CONTROLPANEL method. SYNTAX: This method is called automatically by the event handling mechanism. ARGUMENTS: event: The event structure as described in the IDL help files, except that the ID, TOP and HANDLER tags will be object references. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\scaleimage__define.pro)
NAME: SCALEIMAGE::GETPROPERTY PURPOSE: This method allows the user to obtain SCALEIMAGE properties. Be sure you ALWAYS call the CATIMAGE GETPROPERTY method if you have extra keywords! SYNTAX: theObject -> GetProperty ... ARGUMENTS: None. KEYWORDS: BETA: The beta factor in a Hyperpolic Sine stretch. BOTTOM: The lowest value of the image. EXPONENT: The logarithm exponent in a logarithmic stretch. GAMMA: The gamma factor in a gamma stretch. MEAN: The mean factor in a logarithmic stretch. Default is 0.5. MISSING_COLOR: The name of the missing color. MISSING_VALUE: The number that represents missing value in the image. NCOLORS: The number of colors the image is scaled into. NEGATIVE: If set, the display is doing a negative or reverse stretch. SCALETYPE: The type of scaling performed prior to display. Default is 0, linear scaling. Number Type of Stretch 0 Linear scaled = BytScl(image, MIN=minThresh, MAX=maxThresh) 1 Gamma scaled = GmaScl(image, MIN=minThresh, MAX=maxThresh, Gamma=gamma) 2 Log scaled = LogScl(image, MIN=minThresh, MAX=maxThresh, Mean=mean, Exponent=exponent) 3 Asinh scaled = AsinhScl(image, MIN=minThresh, MAX=maxThresh, Beta=beta) 4 Linear 2% A linear stretch, with 2 percent of pixels clipped at both the top and bottom 5 Square Root A linear stretch of the square root histogram of the image values. 6 Equalization A linear stretch of the histogram equalized image histogram. 7 Gaussian A Gaussian normal function is applied to the image histogram. SCLMIN: The image data is scaled between SCLMIN and SCLMAX before display. Default = 0. SCLMAX: The image data is scaled between SCLMIN and SCLMAX before display. Default = 255. SIGMA: The current value of the SIGMA scale factor in Gaussian stretches. _REF_EXTRA: Any keywords appropriate for the CATIMAGE GetProperty method.
(See C:\IDL\Catalyst\source\data\scaleimage__define.pro)
NAME: SCALEIMAGE::INIT PURPOSE: This is the SCALEIMAGE object class initialization method SYNTAX: Called automatically when the object is created. ARGUMENTS: image The image to load into the object. KEYWORDS: BOTTOM: The lowest value of the image. BETA: The beta factor in a Hyperpolic Sine stretch. Default is 3.0. EXPONENT: The logarithm exponent in a logarithmic stretch. Default is 4.0. GAMMA: The gamma factor in a gamma stretch. Default is 1.5. MEAN: The mean factor in a logarithmic stretch. Default is 0.5. MISSING_COLOR: The name of the missing color. By default, "ivory". MISSING_VALUE: The number that represents missing value in the image. NCOLORS: The number of colors to scale the data into, as in this: (Default: 256) NEGATIVE: Set this keyword if you want to display the image with a negative or reverse stretch. SCALETYPE: The type of scaling performed prior to display. Default is 0, linear scaling. May be specified as a number or as a string (e.g, 3 or "ASIGH"). Number Type of Stretch 0 Linear scaled = BytScl(image, MIN=minThresh, MAX=maxThresh) 1 Gamma scaled = GmaScl(image, MIN=minThresh, MAX=maxThresh, Gamma=gamma) 2 Log scaled = LogScl(image, MIN=minThresh, MAX=maxThresh, Mean=mean, Exponent=exponent) 3 Asinh scaled = AsinhScl(image, MIN=minThresh, MAX=maxThresh, Beta=beta) 4 Linear 2% A linear stretch, with 2 percent of pixels clipped at both the top and bottom 5 Square Root A linear stretch of the square root histogram of the image values. 6 Equalization A linear stretch of the histogram equalized image histogram. 7 Gaussian A Gaussian normal function is applied to the image histogram. 8 None No scaling whatsoever is done. SCLMIN: The image data is scaled between SCLMIN and SCLMAX before display. Default is MIN(image). SCLMAX: The image data is scaled between SCLMIN and SCLMAX before display. Default is MAX(image). SIGMA: The sigma scale factor in a Gaussian stretch. Default is 1.0. _EXTRA: Any keywords appropriate for the CATIMAGE INIT method.
(See C:\IDL\Catalyst\source\data\scaleimage__define.pro)
NAME: SCALEIMAGE::SCALEtheIMAGE PURPOSE: This method does the actual scaling of the image data. SYNTAX: scaledImage = theObject -> ScaleTheImage() RETURN_VALUE: scaledImage: The scaled image. ARGUMENTS: image: The image to be scaled. Must be a 2D image. A 24-bit image (a 3D image, in which one of the dimensions is a 3) is immediately returned. KEYWORDS: None.
(See C:\IDL\Catalyst\source\data\scaleimage__define.pro)
NAME: SCALEIMAGE::SETPROPERTY PURPOSE: This method allows the user to set the SCALEIMAGE object's properties. Be sure you ALWAYS call the CATIMAGE SETPROPERTY method if you have extra keywords! SYNTAX: theObject -> SetProperty ... ARGUMENTS: None. KEYWORDS: BETA: The beta factor in a Hyperpolic Sine stretch. Default is 3.0. BOTTOM: The lowest value of the scaled image. EXPONENT: The logarithm exponent in a logarithmic stretch. Default is 4.0. GAMMA: The gamma factor in a gamma stretch. Default is 1.5. MEAN: The mean factor in a logarithmic stretch. Default is 0.5. NEGATIVE: Set this keyword to get a negative scaling (reverse). IMAGE: The image data. If SCLMIN and SCLMAX are not used in conjunction with this keyword, the image is scaled with a 2% linear scaling. MISSING_COLOR: The name of the missing color. MISSING_VALUE: The number that represents missing value in the image. NCOLORS: The number of colors to scale the data into, as in this: (Default: 256) displayImage = BYTSCL(image, MIN=self.sclmin, MAX=self.sclmax, TOP=self.ncolors-1) SCALETYPE: The type of scaling performed prior to display. Default is 0, linear scaling. Number Type of Stretch 0 Linear scaled = BytScl(image, MIN=minThresh, MAX=maxThresh) 1 Gamma scaled = GmaScl(image, MIN=minThresh, MAX=maxThresh, Gamma=gamma) 2 Log scaled = LogScl(image, MIN=minThresh, MAX=maxThresh, Mean=mean, Exponent=exponent) 3 Asinh scaled = AsinhScl(image, MIN=minThresh, MAX=maxThresh, Beta=beta) 4 Linear 2% A linear stretch, with 2 percent of pixels clipped at both the top and bottom 5 Square Root A linear stretch of the square root histogram of the image values. 6 Equalization A linear stretch of the histogram equalized image histogram. 7 Gaussian A Gaussian normal function is applied to the image histogram. SCLMIN: The image data is scaled between SCLMIN and SCLMAX before display. Default = 0. SCLMAX: The image data is scaled between SCLMIN and SCLMAX before display. Default = 255. SIGMA: The sigma scale factor for Gaussian scaling. Default is 1.0. _EXTRA: Any keywords appropriate for the CATIMAGE SetProperty method.
(See C:\IDL\Catalyst\source\data\scaleimage__define.pro)
NAME: SCALEIMAGE__DEFINE PURPOSE: The purpose of this routine is to provide a CATIMAGE object that can be scaled or stretched. The algorithm for scaling is similar to this (linear scaling is shown): image = ORIGINAL_IMAGE i = WHERE(image EQ MISSING_VALUE, count) IF count GT 0 THEN image[i] = MISSING_COLOR image = BytScl(image, MIN=SCLMIN, MAX=SCLMAX, TOP=NCOLORS-1) + BOTTOM Scaling or stretching types include: linear, 2% linear, gamma, log, hyperbolic sine, square-root, equilization, and gaussian. See this article for additional information: http://www.dfanning.com/ip_tips/xstretch.html Scaling only applies to 2D images. True-color images are not scaled and none of the scaling parameters apply to them. Supported methods of scaling are AUTHORS: FANNING SOFTWARE CONSULTING 1645 Sheely Drive Fort Collins CO 80526 USA Phone: 970-221-0438 E-mail: davidf@dfanning.com CATEGORY: Objects. SYNTAX: theObject = Obj_New("SCALEIMAGE") CATIMAGEES: CATIMAGE CATATOM CATCONTAINER IDLITCOMPONENT IDL_CONTAINER CLASS_STRUCTURE: class = { SCALEIMAGE, $ bottom: 0, $ ; The lowest value in the image. missing_value: Ptr_New(), $ ; The missing value in the image. missing_color: 0, $ ; The color index for missing colors. ncolors: 0, $ ; The number of colors to display. sclmin: 0.0D, $ ; The minimum scale value. sclmax: 0.0D, $ ; The maximun scale value. gamma: 0.0D, $ ; The gamma scale factor. beta: 0.0D, $ ; The beta scale factor. mean: 0.0D, $ ; The mean scale factor. exponent: 0.0, $ ; The exponent scale factor. scaletype: 0, $ ; The type of scaling. INHERITS CATIMAGE $ } MESSAGES: None. MODIFICATION_HISTORY: Written by: David Fanning, 27 July 2006.
(See C:\IDL\Catalyst\source\data\scaleimage__define.pro)