The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
about
[ STRING ] = $ds9->about;
align
$ds9->align( BOOL );

[ BOOL ] = $ds9->align;
array
$ds9->array( PDL, ?{ new => BOOL, mask => BOOL } );

$ds9->array( SCALARREF, ?{ new => BOOL, mask => BOOL, bitpix =>
  INTEGER, skip => INTEGER, -o => [ -a => [ xdim => INTEGER, ydim =>
  INTEGER ], dim => INTEGER ], zdim => INTEGER, endian => ( 'big' |
  'little' | 'native' ) } );
backup
$ds9->backup( <filename>:STRING );
bin
$ds9->bin( 'about', 'center' );
$ds9->bin( 'about', <x>:FLOAT, <y>:FLOAT );

$ds9->bin( 'buffersize', INTEGER );

$ds9->bin( 'close' );

$ds9->bin( 'cols', <xcol>:STRING, <ycol>:STRING );
$ds9->bin( 'colsz', <xcol>:STRING, <ycol>:STRING, <zcol>:STRING );

$ds9->bin( 'depth', INTEGER );

$ds9->bin( 'factor', <x/y>:FLOAT );
$ds9->bin( 'factor', <x>:FLOAT, <y>:FLOAT );

$ds9->bin( 'filter', <filter>:STRING );

$ds9->bin( 'function', ( 'average' | 'sum' ) );

$ds9->bin( 'in' );

$ds9->bin( 'lock', BOOL );

$ds9->bin( 'match' );

$ds9->bin( 'open' );

$ds9->bin( 'out' );

$ds9->bin( 'to fit' );
$ds9->bin( 'tofit' );

[ <filter>:STRING ] = $ds9->bin( 'filter' );

[ <function>:STRING ] = $ds9->bin( 'function' );

[ <x>:FLOAT, <y>:FLOAT ] = $ds9->bin( 'about' );

[ ARRAY ] = $ds9->bin( 'cols' );
[ ARRAY ] = $ds9->bin( 'factor' );
[ ARRAY ] = $ds9->bin( 'factor' );

[ BOOL ] = $ds9->bin( 'lock' );

[ INTEGER ] = $ds9->bin( 'buffersize' );
[ INTEGER ] = $ds9->bin( 'depth' );
$ds9->blink( 'interval', FLOAT );

$ds9->blink( BOOL );

$ds9->blink;

[ BOOL ] = $ds9->blink( 'state' );

[ FLOAT ] = $ds9->blink( 'interval' );
block
$ds9->block( '0' );
$ds9->block( 'abs', <x/y>:FLOAT );
$ds9->block( 'abs', <x>:FLOAT, <y>:FLOAT );
$ds9->block( 'close' );
$ds9->block( 'lock', BOOL );
$ds9->block( 'match' );
$ds9->block( 'open' );
$ds9->block( 'rel', <x/y>:FLOAT );
$ds9->block( 'rel', <x>:FLOAT, <y>:FLOAT );
$ds9->block( 'to', 'fit' );
$ds9->block( 'to', <x/y>:FLOAT );
$ds9->block( 'to', <x>:FLOAT, <y>:FLOAT );
$ds9->block( 'tofit' );

$ds9->block( <x/y>:FLOAT );
$ds9->block( <x>:FLOAT, <y>:FLOAT );

[ ARRAY ] = $ds9->block;

[ BOOL ] = $ds9->block( 'lock' );
cd
$ds9->cd( STRING );

[ STRING ] = $ds9->cd;
cmap
$ds9->cmap( 'close' );

$ds9->cmap( 'file', <filename>:STRING );

$ds9->cmap( 'invert', BOOL );

$ds9->cmap( 'load', <filename>:STRING );

$ds9->cmap( 'open' );

$ds9->cmap( 'save', <filename>:STRING );

$ds9->cmap( 'tag', 'delete' );
$ds9->cmap( 'tag', 'load', <filename>:STRING );
$ds9->cmap( 'tag', 'save', <filename>:STRING );

$ds9->cmap( 'value', <contrast>:FLOAT, <brightness>:FLOAT );

$ds9->cmap( <name>:STRING );

[ <contrast>:FLOAT, <brightness>:FLOAT ] = $ds9->cmap( 'value' );

[ <filename>:STRING ] = $ds9->cmap( 'file' );

[ <name>:STRING ] = $ds9->cmap;

[ BOOL ] = $ds9->cmap( 'invert' );
colorbar
$ds9->colorbar( 'font', ( 'courier' | 'helvetica' | 'times' ) );
$ds9->colorbar( 'fontsize', FLOAT );
$ds9->colorbar( 'fontslant', ( 'italic' | 'roman' ) );
$ds9->colorbar( 'fontweight', ( 'bold' | 'normal' ) );
$ds9->colorbar( 'horizontal' );
$ds9->colorbar( 'lock' );
$ds9->colorbar( 'lock', 'state' );
$ds9->colorbar( 'lock', BOOL );
$ds9->colorbar( 'match' );
$ds9->colorbar( 'numerics', BOOL );
$ds9->colorbar( 'orientation', ( 'horizontal' | 'vertical' ) );
$ds9->colorbar( 'size', INTEGER );
$ds9->colorbar( 'space', ( 'distance' | 'value' ) );
$ds9->colorbar( 'ticks', INTEGER );
$ds9->colorbar( 'vertical' );
$ds9->colorbar( BOOL );

[ <font>:STRING ] = $ds9->colorbar( 'font' );

[ <fontslant>:STRING ] = $ds9->colorbar( 'fontslant' );

[ <fontweight>:STRING ] = $ds9->colorbar( 'fontweight' );

[ <orientation>:STRING ] = $ds9->colorbar( 'orientation' );

[ <space>:STRING ] = $ds9->colorbar( 'space' );

[ BOOL ] = $ds9->colorbar( 'lock', 'state' );
[ BOOL ] = $ds9->colorbar( 'numerics' );
[ BOOL ] = $ds9->colorbar;

[ FLOAT ] = $ds9->colorbar( 'fontsize' );

[ INTEGER ] = $ds9->colorbar( 'size' );
[ INTEGER ] = $ds9->colorbar( 'ticks' );
contour
$ds9->contour( 'clear' );
$ds9->contour( 'close' );
$ds9->contour( 'color', COLOR );
$ds9->contour( 'convert' );
$ds9->contour( 'copy' );
$ds9->contour( 'dash', BOOL );
$ds9->contour( 'generate' );
$ds9->contour( 'levels', ARRAY );
$ds9->contour( 'limits', FLOAT, FLOAT );
$ds9->contour( 'load', 'levels', <filename>:STRING );
$ds9->contour( 'load', <filename>:STRING );
$ds9->contour( 'log', 'exp', FLOAT );
$ds9->contour( 'method', ( 'block' | 'smooth' ) );
$ds9->contour( 'mode', ( 'minmax' | 'zmax' | 'zscale' ) );
$ds9->contour( 'mode', FLOAT );
$ds9->contour( 'nlevels', INTEGER );
$ds9->contour( 'open' );
$ds9->contour( 'paste' );
$ds9->contour( 'paste', FRAME_COORD_SYSTEMS, COLOR, FLOAT, BOOL );
$ds9->contour( 'save', 'levels', <filename>:STRING );
$ds9->contour( 'save', <filename>:STRING, FRAME_COORD_SYSTEMS );
$ds9->contour( 'save', <filename>:STRING, FRAME_COORD_SYSTEMS,
  SKYFRAME );

$ds9->contour( 'scale', <scale>:STRING );
$ds9->contour( 'scope', ( 'global' | 'local' ) );
$ds9->contour( 'smooth', INTEGER );
$ds9->contour( 'width', INTEGER );
$ds9->contour( BOOL );
$ds9->contour( FRAME_COORD_SYSTEMS );
$ds9->contour( FRAME_COORD_SYSTEMS, SKYFRAME );

[ <method>:STRING ] = $ds9->contour( 'method' );

[ <mode>:STRING ] = $ds9->contour( 'mode' );

[ <scale>:STRING ] = $ds9->contour( 'scale' );

[ <scope>:STRING ] = $ds9->contour( 'scope' );

[ ARRAY ] = $ds9->contour( 'levels' );

[ BOOL ] = $ds9->contour( 'dash' );
[ BOOL ] = $ds9->contour;

[ COLOR ] = $ds9->contour( 'color' );

[ FLOAT ] = $ds9->contour( 'log', 'exp' );
[ FLOAT ] = $ds9->contour( 'mode' );

[ FLOAT, FLOAT ] = $ds9->contour( 'limits' );

[ INTEGER ] = $ds9->contour( 'nlevels' );
[ INTEGER ] = $ds9->contour( 'smooth' );
[ INTEGER ] = $ds9->contour( 'width' );

[ STRING ] = $ds9->contour( FRAME_COORD_SYSTEMS );
[ STRING ] = $ds9->contour( FRAME_COORD_SYSTEMS, SKYFRAME );
crosshair
$ds9->crosshair( 'lock', 'none' );
$ds9->crosshair( 'lock', FRAME_COORD_SYSTEMS );
$ds9->crosshair( 'match', SKY_COORD_SYSTEMS |
  FRAME_COORD_SYSTEMS:STRING );

$ds9->crosshair( <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS );

$ds9->crosshair( <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS, SKYFRAME );

$ds9->crosshair( FRAME_COORD_SYSTEMS );
$ds9->crosshair( FRAME_COORD_SYSTEMS, ( 'degrees' | 'sexagesimal' )
  );

$ds9->crosshair( FRAME_COORD_SYSTEMS, SKYFRAME );
$ds9->crosshair( FRAME_COORD_SYSTEMS, SKYFRAME, ( 'degrees' |
  'sexagesimal' ) );

[ <ra>:STRING, <dec>:STRING ] = $ds9->crosshair( FRAME_COORD_SYSTEMS
  );

[ <ra>:STRING, <dec>:STRING ] = $ds9->crosshair( FRAME_COORD_SYSTEMS,
  ( 'degrees' | 'sexagesimal' ) );

[ <ra>:STRING, <dec>:STRING ] = $ds9->crosshair( FRAME_COORD_SYSTEMS,
  SKYFRAME );

[ <ra>:STRING, <dec>:STRING ] = $ds9->crosshair( FRAME_COORD_SYSTEMS,
  SKYFRAME, ( 'degrees' | 'sexagesimal' ) );

[ <ra>:STRING, <dec>:STRING ] = $ds9->crosshair;

[ FRAME_COORD_SYSTEMS ] = $ds9->crosshair( 'lock' );
cube
$ds9->cube( 'axes', 'lock', BOOL );
$ds9->cube( 'axis', INTEGER );

$ds9->cube( 'close' );

$ds9->cube( 'first' );

$ds9->cube( 'interval', FLOAT );

$ds9->cube( 'last' );
$ds9->cube( 'lock', (CUBE_COORD_SYSTEMS | 'none') );

$ds9->cube( 'match', CUBE_COORD_SYSTEMS );

$ds9->cube( 'next' );

$ds9->cube( 'open' );
$ds9->cube( 'order', ( '123' | '132' | '213' | '231' | '312' | '321'
  ) );

$ds9->cube( 'play' );
$ds9->cube( 'prev' );

$ds9->cube( 'slice', FLOAT, WCS system );
$ds9->cube( 'slice', INTEGER );
$ds9->cube( 'stop' );

[ ( '123' | '132' | '213' | '231' | '312' | '321' ) ] = $ds9->cube(
  'order' );

[ (CUBE_COORD_SYSTEMS | 'none') ] = $ds9->cube( 'lock' );

[ BOOL ] = $ds9->cube( 'axes', 'lock' );
[ BOOL ] = $ds9->cube( WCS );

[ FLOAT ] = $ds9->cube( 'interval' );

[ INTEGER ] = $ds9->cube( 'axis' );
cursor
$ds9->cursor( <x>:FLOAT, <y>:FLOAT );
dsseso
$ds9->dsseso( 'close' );
$ds9->dsseso( 'coord', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL );

$ds9->dsseso( 'frame', ( 'current' | 'new' ) );
$ds9->dsseso( 'name', STRING );
$ds9->dsseso( 'open' );
$ds9->dsseso( 'save', BOOL );
$ds9->dsseso( 'size', <x>:FLOAT, <y>:FLOAT, ( 'arcmin' | 'arcsec' |
  'degrees' ) );

$ds9->dsseso( 'survey', DSS_ESO_SURVEYS );
$ds9->dsseso( 'update', ( 'crosshair' | 'frame' ) );
$ds9->dsseso( <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL );

$ds9->dsseso( STRING );

[ <ra>:DECIMAL_OR_SEXAGESIMAL, <dec>:DECIMAL_OR_SEXAGESIMAL, STRING ]
  = $ds9->dsseso( 'coord' );

[ <survey>:STRING ] = $ds9->dsseso( 'survey' );

[ <x>:FLOAT, <y>:FLOAT, ( 'arcmin' | 'arcsec' | 'degrees' ) ] =
  $ds9->dsseso( 'size' );

[ BOOL ] = $ds9->dsseso( 'save' );

[ STRING ] = $ds9->dsseso( 'frame' );
[ STRING ] = $ds9->dsseso( 'name' );
[ STRING ] = $ds9->dsseso;
dsssao
$ds9->dsssao( 'close' );
$ds9->dsssao( 'coord', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL );

$ds9->dsssao( 'frame', ( 'current' | 'new' ) );
$ds9->dsssao( 'name', STRING );
$ds9->dsssao( 'open' );
$ds9->dsssao( 'save', BOOL );
$ds9->dsssao( 'size', <x>:FLOAT, <y>:FLOAT, ( 'arcmin' | 'arcsec' |
  'degrees' ) );

$ds9->dsssao( 'update', ( 'crosshair' | 'frame' ) );
$ds9->dsssao( <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL );

$ds9->dsssao( STRING );

[ <ra>:DECIMAL_OR_SEXAGESIMAL, <dec>:DECIMAL_OR_SEXAGESIMAL, STRING ]
  = $ds9->dsssao( 'coord' );

[ <x>:FLOAT, <y>:FLOAT, ( 'arcmin' | 'arcsec' | 'degrees' ) ] =
  $ds9->dsssao( 'size' );

[ BOOL ] = $ds9->dsssao( 'save' );

[ STRING ] = $ds9->dsssao( 'frame' );
[ STRING ] = $ds9->dsssao( 'name' );
[ STRING ] = $ds9->dsssao;
dssstsci
$ds9->dssstsci( 'close' );
$ds9->dssstsci( 'coord', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL );

$ds9->dssstsci( 'frame', ( 'current' | 'new' ) );
$ds9->dssstsci( 'name', STRING );
$ds9->dssstsci( 'open' );
$ds9->dssstsci( 'save', BOOL );
$ds9->dssstsci( 'size', <x>:FLOAT, <y>:FLOAT, ( 'arcmin' | 'arcsec' |
  'degrees' ) );

$ds9->dssstsci( 'survey', DSS_STSCI_SURVEYS );
$ds9->dssstsci( 'update', ( 'crosshair' | 'frame' ) );
$ds9->dssstsci( <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL );

$ds9->dssstsci( STRING );

[ <ra>:DECIMAL_OR_SEXAGESIMAL, <dec>:DECIMAL_OR_SEXAGESIMAL, STRING ]
  = $ds9->dssstsci( 'coord' );

[ <survey>:STRING ] = $ds9->dssstsci( 'survey' );

[ <x>:FLOAT, <y>:FLOAT, ( 'arcmin' | 'arcsec' | 'degrees' ) ] =
  $ds9->dssstsci( 'size' );

[ BOOL ] = $ds9->dssstsci( 'save' );

[ STRING ] = $ds9->dssstsci( 'frame' );
[ STRING ] = $ds9->dssstsci( 'name' );
[ STRING ] = $ds9->dssstsci;
exit
$ds9->exit;
export
$ds9->export( 'array', <filename>:STRING );
$ds9->export( 'array', <filename>:STRING, ( 'big' | 'little' |
  'native' ) );

$ds9->export( 'envi', <filename>:STRING );
$ds9->export( 'envi', STRING, STRING, ( 'big' | 'little' | 'native' )
  );

$ds9->export( 'gif', <filename>:STRING );
$ds9->export( 'jpeg', <filename>:STRING, <quality>:INTEGER );
$ds9->export( 'nrrd', <filename>:STRING );
$ds9->export( 'nrrd', <filename>:STRING, ( 'big' | 'little' |
  'native' ) );

$ds9->export( 'png', <filename>:STRING );
$ds9->export( 'tiff', <filename>:STRING );
$ds9->export( 'tiff', <filename>:STRING, ( 'deflate' | 'jpeg' |
  'none' | 'packbits' ) );
file
[ STRING ] = $ds9->file;
fits
$ds9->fits( 'header', 'keyword', STRING );
$ds9->fits( 'header', INTEGER );
$ds9->fits( 'header', INTEGER, 'keyword', STRING );

$ds9->fits( 'size' );
$ds9->fits( 'size', ( 'arcmin' | 'arcsec' | 'degrees' ) );
$ds9->fits( 'size', SKYFRAME, ( 'arcmin' | 'arcsec' | 'degrees' ) );
$ds9->fits( 'size', WCS, ( 'arcmin' | 'arcsec' | 'degrees' ) );
$ds9->fits( 'size', WCS, SKYFRAME, ( 'arcmin' | 'arcsec' | 'degrees'
  ) );

$ds9->fits( <filename>:STRING, ?{ new => BOOL, mask => BOOL, extname
  => STRING, filter => STRING, bin => ARRAY } );

$ds9->fits( \$buffer:SCALARREF, ?{ new => BOOL, mask => BOOL, extname
  => STRING, filter => STRING, bin => ARRAY } );

[ <x>:FLOAT, <y>:FLOAT ] = $ds9->fits( 'size' );
[ <x>:FLOAT, <y>:FLOAT ] = $ds9->fits( 'size', ( 'arcmin' | 'arcsec'
  | 'degrees' ) );

[ <x>:FLOAT, <y>:FLOAT ] = $ds9->fits( 'size', SKYFRAME, ( 'arcmin' |
  'arcsec' | 'degrees' ) );

[ <x>:FLOAT, <y>:FLOAT ] = $ds9->fits( 'size', WCS, ( 'arcmin' |
  'arcsec' | 'degrees' ) );

[ <x>:FLOAT, <y>:FLOAT ] = $ds9->fits( 'size', WCS, SKYFRAME, (
  'arcmin' | 'arcsec' | 'degrees' ) );

[ INTEGER ] = $ds9->fits( 'bitpix' );
[ INTEGER ] = $ds9->fits( 'depth' );
[ INTEGER ] = $ds9->fits( 'height' );
[ INTEGER ] = $ds9->fits( 'width' );

[ STRING ] = $ds9->fits( 'header' );
[ STRING ] = $ds9->fits( 'header', 'keyword', STRING );
[ STRING ] = $ds9->fits( 'header', INTEGER );
[ STRING ] = $ds9->fits( 'header', INTEGER, 'keyword', STRING );
[ STRING ] = $ds9->fits( 'image' );
[ STRING ] = $ds9->fits( 'slice' );
[ STRING ] = $ds9->fits( 'table' );
[ STRING ] = $ds9->fits;
frame
$ds9->frame( 'center' );
$ds9->frame( 'center', 'all' );
$ds9->frame( 'center', INTEGER );
$ds9->frame( 'clear' );
$ds9->frame( 'clear', 'all' );
$ds9->frame( 'clear', INTEGER );
$ds9->frame( 'delete' );
$ds9->frame( 'delete', 'all' );
$ds9->frame( 'delete', INTEGER );
$ds9->frame( 'deleteall' );
$ds9->frame( 'first' );
$ds9->frame( 'frameno', INTEGER );
$ds9->frame( 'has', 'contour', 'aux' );
$ds9->frame( 'has', 'fits', ( 'bin' | 'cube' | 'mosaic' ) );
$ds9->frame( 'has', 'marker', ( 'highlite' | 'paste' | 'select' |
  'undo' ) );

$ds9->frame( 'has', 'system', FRAME_COORD_SYSTEMS );
$ds9->frame( 'has', 'wcs', ( 'celestial' | 'linear' ) );
$ds9->frame( 'has', 'wcs', ( 'celestial' | 'linear' ), WCS system );
$ds9->frame( 'has', 'wcs', WCS system );
$ds9->frame( 'has', FRAME_COMPONENTS );
$ds9->frame( 'hide' );
$ds9->frame( 'hide', 'all' );
$ds9->frame( 'hide', INTEGER );
$ds9->frame( 'last' );
$ds9->frame( 'lock', 'none' );
$ds9->frame( 'lock', FRAME_COORD_SYSTEMS );
$ds9->frame( 'match', FRAME_COORD_SYSTEMS );
$ds9->frame( 'move', ( 'back' | 'first' | 'forward' | 'last' ) );
$ds9->frame( 'new' );
$ds9->frame( 'new', ( '3d' | 'rgb' ) );
$ds9->frame( 'next' );
$ds9->frame( 'prev' );
$ds9->frame( 'refresh' );
$ds9->frame( 'refresh', 'all' );
$ds9->frame( 'refresh', INTEGER );
$ds9->frame( 'reset' );
$ds9->frame( 'reset', 'all' );
$ds9->frame( 'reset', INTEGER );
$ds9->frame( 'show' );
$ds9->frame( 'show', 'all' );
$ds9->frame( 'show', INTEGER );

$ds9->frame( INTEGER );

[ 'none' ] = $ds9->frame( 'lock' );

[ ARRAY ] = $ds9->frame( 'active' );
[ ARRAY ] = $ds9->frame( 'all' );

[ BOOL ] = $ds9->frame( 'has', 'contour' );
[ BOOL ] = $ds9->frame( 'has', 'contour', 'aux' );
[ BOOL ] = $ds9->frame( 'has', 'fits' );
[ BOOL ] = $ds9->frame( 'has', 'fits', ( 'bin' | 'cube' | 'mosaic' )
  );

[ BOOL ] = $ds9->frame( 'has', 'marker', ( 'highlite' | 'paste' |
  'select' | 'undo' ) );

[ BOOL ] = $ds9->frame( 'has', 'system', FRAME_COORD_SYSTEMS );
[ BOOL ] = $ds9->frame( 'has', 'wcs' );
[ BOOL ] = $ds9->frame( 'has', 'wcs', ( 'celestial' | 'linear' ) );
[ BOOL ] = $ds9->frame( 'has', 'wcs', ( 'celestial' | 'linear' ), WCS
  system );

[ BOOL ] = $ds9->frame( 'has', 'wcs', WCS system );
[ BOOL ] = $ds9->frame( 'has', FRAME_COMPONENTS );

[ FRAME_COORD_SYSTEMS ] = $ds9->frame( 'lock' );

[ INTEGER ] = $ds9->frame( 'frameno' );
[ INTEGER ] = $ds9->frame;
gif
$ds9->gif( 'new', <filename>:STRING );
$ds9->gif( 'new', SCALARREF );

$ds9->gif( 'slice', <filename>:STRING );
$ds9->gif( 'slice', SCALARREF );

$ds9->gif( <filename>:STRING );

$ds9->gif( SCALARREF );

[ STRING ] = $ds9->gif;
grid
$ds9->grid( 'axes', 'color', COLOR );
$ds9->grid( 'axes', 'dash', BOOL );
$ds9->grid( 'axes', 'origin', ORIGIN );
$ds9->grid( 'axes', 'type', ( 'external' | 'internal' ) );
$ds9->grid( 'axes', 'width', INTEGER );
$ds9->grid( 'axes', BOOL );

$ds9->grid( 'border', 'color', COLOR );
$ds9->grid( 'border', 'dash', BOOL );
$ds9->grid( 'border', 'width', INTEGER );
$ds9->grid( 'border', BOOL );

$ds9->grid( 'close' );

$ds9->grid( 'format1', STRING );
$ds9->grid( 'format2', STRING );

$ds9->grid( 'grid', 'color', COLOR );
$ds9->grid( 'grid', 'dash', BOOL );
$ds9->grid( 'grid', 'gap1', FLOAT );
$ds9->grid( 'grid', 'gap2', FLOAT );
$ds9->grid( 'grid', 'gap3', FLOAT );
$ds9->grid( 'grid', 'width', INTEGER );
$ds9->grid( 'grid', BOOL );

$ds9->grid( 'labels', 'color', COLOR );
$ds9->grid( 'labels', 'def1', BOOL );
$ds9->grid( 'labels', 'def2', BOOL );
$ds9->grid( 'labels', 'font', ( 'courier' | 'helvetica' | 'times' )
  );

$ds9->grid( 'labels', 'fontsize', FLOAT );
$ds9->grid( 'labels', 'fontslant', ( 'italic' | 'roman' ) );
$ds9->grid( 'labels', 'fontweight', ( 'bold' | 'normal' ) );
$ds9->grid( 'labels', 'gap1', FLOAT );
$ds9->grid( 'labels', 'gap2', FLOAT );
$ds9->grid( 'labels', 'text1', STRING );
$ds9->grid( 'labels', 'text2', STRING );
$ds9->grid( 'labels', BOOL );
$ds9->grid( 'load', <filename>:STRING );

$ds9->grid( 'numerics', 'color', COLOR );
$ds9->grid( 'numerics', 'font', ( 'courier' | 'helvetica' | 'times' )
  );

$ds9->grid( 'numerics', 'fontsize', FLOAT );
$ds9->grid( 'numerics', 'fontslant', ( 'italic' | 'roman' ) );
$ds9->grid( 'numerics', 'fontweight', ( 'bold' | 'normal' ) );
$ds9->grid( 'numerics', 'gap1', FLOAT );
$ds9->grid( 'numerics', 'gap2', FLOAT );
$ds9->grid( 'numerics', 'gap3', FLOAT );
$ds9->grid( 'numerics', 'type', ( 'external' | 'internal' ) );
$ds9->grid( 'numerics', 'vertical', BOOL );
$ds9->grid( 'numerics', BOOL );

$ds9->grid( 'open' );

$ds9->grid( 'reset' );

$ds9->grid( 'save', <filename>:STRING );
$ds9->grid( 'sky', SKYFRAME );
$ds9->grid( 'skyformat', ( 'degrees' | 'sexagesimal' ) );
$ds9->grid( 'system', FRAME_COORD_SYSTEMS );

$ds9->grid( 'tickmarks', 'color', COLOR );
$ds9->grid( 'tickmarks', 'dash', BOOL );
$ds9->grid( 'tickmarks', 'width', INTEGER );
$ds9->grid( 'tickmarks', BOOL );
$ds9->grid( 'title', 'color', COLOR );
$ds9->grid( 'title', 'def', BOOL );
$ds9->grid( 'title', 'font', ( 'courier' | 'helvetica' | 'times' ) );
$ds9->grid( 'title', 'fontsize', FLOAT );
$ds9->grid( 'title', 'fontslant', ( 'italic' | 'roman' ) );
$ds9->grid( 'title', 'fontweight', ( 'bold' | 'normal' ) );
$ds9->grid( 'title', 'gap', FLOAT );
$ds9->grid( 'title', 'text', STRING );
$ds9->grid( 'title', BOOL );
$ds9->grid( 'type', ( 'analysis' | 'publication' ) );

$ds9->grid( BOOL );

[ ( 'degrees' | 'sexagesimal' ) ] = $ds9->grid( 'skyformat' );

[ <font>:STRING ] = $ds9->grid( 'labels', 'font' );
[ <font>:STRING ] = $ds9->grid( 'numerics', 'font' );
[ <font>:STRING ] = $ds9->grid( 'title', 'font' );

[ <fontslant>:STRING ] = $ds9->grid( 'labels', 'fontslant' );
[ <fontslant>:STRING ] = $ds9->grid( 'numerics', 'fontslant' );

[ <fontslants>:STRING ] = $ds9->grid( 'title', 'fontslant' );

[ <fontweight>:STRING ] = $ds9->grid( 'labels', 'fontweight' );
[ <fontweight>:STRING ] = $ds9->grid( 'numerics', 'fontweight' );
[ <fontweight>:STRING ] = $ds9->grid( 'title', 'fontweight' );

[ <origin>:STRING ] = $ds9->grid( 'axes', 'origin' );

[ <type>:STRING ] = $ds9->grid( 'axes', 'type' );
[ <type>:STRING ] = $ds9->grid( 'numerics', 'type' );
[ <type>:STRING ] = $ds9->grid( 'type' );

[ BOOL ] = $ds9->grid( 'axes' );
[ BOOL ] = $ds9->grid( 'axes', 'dash' );
[ BOOL ] = $ds9->grid( 'border' );
[ BOOL ] = $ds9->grid( 'border', 'dash' );
[ BOOL ] = $ds9->grid( 'grid' );
[ BOOL ] = $ds9->grid( 'grid', 'dash' );
[ BOOL ] = $ds9->grid( 'labels' );
[ BOOL ] = $ds9->grid( 'labels', 'def1' );
[ BOOL ] = $ds9->grid( 'labels', 'def2' );
[ BOOL ] = $ds9->grid( 'numerics' );
[ BOOL ] = $ds9->grid( 'numerics', 'vertical' );
[ BOOL ] = $ds9->grid( 'tickmarks' );
[ BOOL ] = $ds9->grid( 'tickmarks', 'dash' );
[ BOOL ] = $ds9->grid( 'title' );
[ BOOL ] = $ds9->grid( 'title', 'def' );
[ BOOL ] = $ds9->grid;

[ COLOR ] = $ds9->grid( 'axes', 'color' );
[ COLOR ] = $ds9->grid( 'border', 'color' );
[ COLOR ] = $ds9->grid( 'grid', 'color' );
[ COLOR ] = $ds9->grid( 'labels', 'color' );
[ COLOR ] = $ds9->grid( 'numerics', 'color' );
[ COLOR ] = $ds9->grid( 'tickmarks', 'color' );
[ COLOR ] = $ds9->grid( 'title', 'color' );

[ FLOAT ] = $ds9->grid( 'grid', 'gap1' );
[ FLOAT ] = $ds9->grid( 'grid', 'gap2' );
[ FLOAT ] = $ds9->grid( 'grid', 'gap3' );
[ FLOAT ] = $ds9->grid( 'labels', 'fontsize' );
[ FLOAT ] = $ds9->grid( 'labels', 'gap1' );
[ FLOAT ] = $ds9->grid( 'labels', 'gap2' );
[ FLOAT ] = $ds9->grid( 'numerics', 'fontsize' );
[ FLOAT ] = $ds9->grid( 'numerics', 'gap1' );
[ FLOAT ] = $ds9->grid( 'numerics', 'gap2' );
[ FLOAT ] = $ds9->grid( 'numerics', 'gap3' );
[ FLOAT ] = $ds9->grid( 'title', 'fontsize' );
[ FLOAT ] = $ds9->grid( 'title', 'gap' );

[ FRAME_COORD_SYSTEMS ] = $ds9->grid( 'system' );

[ INTEGER ] = $ds9->grid( 'axes', 'width' );
[ INTEGER ] = $ds9->grid( 'border', 'width' );
[ INTEGER ] = $ds9->grid( 'grid', 'width' );
[ INTEGER ] = $ds9->grid( 'tickmarks', 'width' );

[ SKYFRAME ] = $ds9->grid( 'sky' );

[ STRING ] = $ds9->grid( 'format1' );
[ STRING ] = $ds9->grid( 'format2' );
[ STRING ] = $ds9->grid( 'labels', 'text1' );
[ STRING ] = $ds9->grid( 'labels', 'text2' );
[ STRING ] = $ds9->grid( 'title', 'text' );
$ds9->header( 'close' );
$ds9->header( 'close', INTEGER );
$ds9->header( 'save', <filename>:STRING );
$ds9->header( 'save', INTEGER, <filename>:STRING );
$ds9->header( INTEGER );

$ds9->header;
height
$ds9->height( INTEGER );

[ INTEGER ] = $ds9->height;
iconify
$ds9->iconify( BOOL );

[ BOOL ] = $ds9->iconify;
jpeg
$ds9->jpeg( 'new', SCALARREF );
$ds9->jpeg( 'new', STRING );

$ds9->jpeg( 'slice', SCALARREF );
$ds9->jpeg( 'slice', STRING );

$ds9->jpeg( <filename>:STRING );

$ds9->jpeg( INTEGER );

$ds9->jpeg( SCALARREF );

[ STRING ] = $ds9->jpeg( INTEGER );
[ STRING ] = $ds9->jpeg;
lock
$ds9->lock( '3d', BOOL );

$ds9->lock( 'axes', BOOL );

$ds9->lock( 'bin', BOOL );
$ds9->lock( 'block', BOOL );

$ds9->lock( 'colorbar', BOOL );
$ds9->lock( 'crop', 'none' );
$ds9->lock( 'crop', FRAME_COORD_SYSTEMS );
$ds9->lock( 'crosshair', 'none' );
$ds9->lock( 'crosshair', FRAME_COORD_SYSTEMS );

$ds9->lock( 'frame', 'none' );
$ds9->lock( 'frame', FRAME_COORD_SYSTEMS );

$ds9->lock( 'scale', BOOL );
$ds9->lock( 'scalelimits', BOOL );
$ds9->lock( 'slice', 'none' );
$ds9->lock( 'slice', FRAME_COORD_SYSTEMS );
$ds9->lock( 'smooth', BOOL );

[ BOOL ] = $ds9->lock( '3d' );
[ BOOL ] = $ds9->lock( 'axes' );
[ BOOL ] = $ds9->lock( 'bin' );
[ BOOL ] = $ds9->lock( 'block' );
[ BOOL ] = $ds9->lock( 'colorbar' );
[ BOOL ] = $ds9->lock( 'scale' );
[ BOOL ] = $ds9->lock( 'scalelimits' );
[ BOOL ] = $ds9->lock( 'smooth' );

[ FRAME_COORD_SYSTEMS ] = $ds9->lock( 'crop' );
[ FRAME_COORD_SYSTEMS ] = $ds9->lock( 'crosshair' );
[ FRAME_COORD_SYSTEMS ] = $ds9->lock( 'frame' );
[ FRAME_COORD_SYSTEMS ] = $ds9->lock( 'slice' );
lower
$ds9->lower;
mask
$ds9->mask( 'blend', ( 'darken' | 'lighten' | 'screen' | 'source' )
  );

$ds9->mask( 'clear' );
$ds9->mask( 'close' );
$ds9->mask( 'color', COLOR );

$ds9->mask( 'load', <filename>:STRING );

$ds9->mask( 'mark', MARK );

$ds9->mask( 'open' );

$ds9->mask( 'range', <low>:FLOAT, <high>:FLOAT );

$ds9->mask( 'system', FRAME_COORD_SYSTEMS );

$ds9->mask( 'transparency', FLOAT );

[ <blend>:STRING ] = $ds9->mask( 'blend' );

[ <low>:FLOAT, <high>:FLOAT ] = $ds9->mask( 'range' );

[ <mark>:STRING ] = $ds9->mask( 'mark' );

[ COLOR ] = $ds9->mask( 'color' );

[ FLOAT ] = $ds9->mask( 'transparency' );

[ FRAME_COORD_SYSTEMS ] = $ds9->mask( 'system' );
match
$ds9->match( '3d' );
$ds9->match( 'axes' );
$ds9->match( 'bin' );
$ds9->match( 'block' );
$ds9->match( 'colobar' );
$ds9->match( 'crop', FRAME_COORD_SYSTEMS );
$ds9->match( 'crosshair', FRAME_COORD_SYSTEMS );
$ds9->match( 'frame', FRAME_COORD_SYSTEMS );
$ds9->match( 'scale' );
$ds9->match( 'scalelimits' );
$ds9->match( 'slice', FRAME_COORD_SYSTEMS );
$ds9->match( 'smooth' );
minmax
$ds9->minmax( 'interval', INTEGER );
$ds9->minmax( 'mode', ( 'datamin' | 'irafmin' | 'sample' | 'scan' )
  );

$ds9->minmax( 'rescan' );
$ds9->minmax( ( 'datamin' | 'irafmin' | 'sample' | 'scan' ) );

[ <mode>:STRING ] = $ds9->minmax( 'mode' );
[ <mode>:STRING ] = $ds9->minmax;

[ INTEGER ] = $ds9->minmax( 'interval' );
mode
$ds9->mode( MOUSE_BUTTON_MODES );

[ <modes>:STRING ] = $ds9->mode;
mosaic
$ds9->mosaic( <filename>:STRING );
$ds9->mosaic( ENUM, ( 'mask' | 'new' ), <filename>:STRING );
$ds9->mosaic( ENUM, <filename>:STRING );
$ds9->mosaic( SCALARREF );
$ds9->mosaic( SCALARREF, ENUM );
$ds9->mosaic( SCALARREF, ENUM, ( 'mask' | 'new' ) );

[ STRING ] = $ds9->mosaic;
mosaicimage
$ds9->mosaicimage( <filename>:STRING );
$ds9->mosaicimage( ENUM, ( 'mask' | 'new' ), <filename>:STRING );
$ds9->mosaicimage( ENUM, <filename>:STRING );
$ds9->mosaicimage( SCALARREF );
$ds9->mosaicimage( SCALARREF, ENUM );
$ds9->mosaicimage( SCALARREF, ENUM, ( 'mask' | 'new' ) );
nameserver
$ds9->nameserver( 'close' );
$ds9->nameserver( 'name', STRING );
$ds9->nameserver( 'open' );
$ds9->nameserver( 'server', NAMESERVERS );
$ds9->nameserver( 'skyformat', ( 'degrees' | 'sexagesimal' ) );
$ds9->nameserver( STRING );

[ ( 'degrees' | 'sexagesimal' ) ] = $ds9->nameserver( 'skyformat' );

[ <nameserver>:STRING ] = $ds9->nameserver( 'server' );

[ STRING ] = $ds9->nameserver( 'name' );
[ STRING ] = $ds9->nameserver;
orient
$ds9->orient( 'close' );
$ds9->orient( 'open' );
$ds9->orient( ( 'none' | 'x' | 'xy' | 'y' ) );

[ <orientation>:STRING ] = $ds9->orient;
pagesetup
$ds9->pagesetup( 'orient', ( 'landscape' | 'portrait' ) );
$ds9->pagesetup( 'scale', FLOAT );
$ds9->pagesetup( 'size', PAGE_SIZES );

[ <orient>:STRING ] = $ds9->pagesetup( 'orient' );

[ <size>:STRING ] = $ds9->pagesetup( 'size' );

[ FLOAT ] = $ds9->pagesetup( 'scale' );
pan
$ds9->pan( 'abs', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL );

$ds9->pan( 'abs', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS );

$ds9->pan( 'abs', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS, ( 'degrees' |
  'sexagesimal' ) );

$ds9->pan( 'abs', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS, SKYFRAME );

$ds9->pan( 'abs', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS, SKYFRAME, (
  'degrees' | 'sexagesimal' ) );

$ds9->pan( 'close' );

$ds9->pan( 'open' );

$ds9->pan( 'rel', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL );

$ds9->pan( 'rel', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS );

$ds9->pan( 'rel', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS, ( 'degrees' |
  'sexagesimal' ) );

$ds9->pan( 'rel', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS, SKYFRAME );

$ds9->pan( 'rel', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS, SKYFRAME, (
  'degrees' | 'sexagesimal' ) );

$ds9->pan( 'to', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL );

$ds9->pan( 'to', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS );

$ds9->pan( 'to', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS, ( 'degrees' |
  'sexagesimal' ) );

$ds9->pan( 'to', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS, SKYFRAME );

$ds9->pan( 'to', <ra>:DECIMAL_OR_SEXAGESIMAL,
  <dec>:DECIMAL_OR_SEXAGESIMAL, FRAME_COORD_SYSTEMS, SKYFRAME, (
  'degrees' | 'sexagesimal' ) );

$ds9->pan( <ra>:DECIMAL_OR_SEXAGESIMAL, <dec>:DECIMAL_OR_SEXAGESIMAL
  );

$ds9->pan( <ra>:DECIMAL_OR_SEXAGESIMAL, <dec>:DECIMAL_OR_SEXAGESIMAL,
  FRAME_COORD_SYSTEMS );

$ds9->pan( <ra>:DECIMAL_OR_SEXAGESIMAL, <dec>:DECIMAL_OR_SEXAGESIMAL,
  FRAME_COORD_SYSTEMS, ( 'degrees' | 'sexagesimal' ) );

$ds9->pan( <ra>:DECIMAL_OR_SEXAGESIMAL, <dec>:DECIMAL_OR_SEXAGESIMAL,
  FRAME_COORD_SYSTEMS, SKYFRAME );

$ds9->pan( <ra>:DECIMAL_OR_SEXAGESIMAL, <dec>:DECIMAL_OR_SEXAGESIMAL,
  FRAME_COORD_SYSTEMS, SKYFRAME, ( 'degrees' | 'sexagesimal' ) );

$ds9->pan( FRAME_COORD_SYSTEMS );
$ds9->pan( FRAME_COORD_SYSTEMS, ( 'degrees' | 'sexagesimal' ) );
$ds9->pan( FRAME_COORD_SYSTEMS, SKYFRAME );
$ds9->pan( FRAME_COORD_SYSTEMS, SKYFRAME, ( 'degrees' | 'sexagesimal'
  ) );

$ds9->pan;

[ STRING, STRING ] = $ds9->pan( FRAME_COORD_SYSTEMS );
[ STRING, STRING ] = $ds9->pan( FRAME_COORD_SYSTEMS, ( 'degrees' |
  'sexagesimal' ) );

[ STRING, STRING ] = $ds9->pan( FRAME_COORD_SYSTEMS, SKYFRAME );
[ STRING, STRING ] = $ds9->pan( FRAME_COORD_SYSTEMS, SKYFRAME, (
  'degrees' | 'sexagesimal' ) );

[ STRING, STRING ] = $ds9->pan;
pixeltable
$ds9->pixeltable( ( 'close' | 'open' ) );
$ds9->pixeltable( BOOL );

[ ( 'close' | 'open' ) ] = $ds9->pixeltable;

[ BOOL ] = $ds9->pixeltable;
png
$ds9->png( 'new', SCALARREF );
$ds9->png( 'new', STRING );

$ds9->png( 'slice', SCALARREF );
$ds9->png( 'slice', STRING );

$ds9->png( <filename>:STRING );

$ds9->png( SCALARREF );

[ STRING ] = $ds9->png;
preserve
$ds9->preserve( 'pan', BOOL );
$ds9->preserve( 'regions', BOOL );

[ BOOL ] = $ds9->preserve( 'pan' );
[ BOOL ] = $ds9->preserve( 'regions' );
print
$ds9->print( 'color', ( 'cmyk' | 'gray' | 'rgb' ) );
$ds9->print( 'command', STRING );
$ds9->print( 'destination', ( 'file' | 'printer' ) );
$ds9->print( 'filename', STRING );
$ds9->print( 'level', ( '1' | '2' | '3' ) );
$ds9->print( 'resolution', PRINT_RESOLUTIONS );

$ds9->print;

[ <color>:STRING ] = $ds9->print( 'color' );

[ <destination>:STRING ] = $ds9->print( 'destination' );

[ <level>:INTEGER ] = $ds9->print( 'level' );

[ <resolution>:STRING ] = $ds9->print( 'resolution' );

[ STRING ] = $ds9->print( 'command' );
[ STRING ] = $ds9->print( 'filename' );
quit
$ds9->quit;
raise
$ds9->raise;
region
$ds9->region( 'color', COLOR );
$ds9->region( 'deleteall' );
$ds9->region( 'format', REGION_FORMATS );
$ds9->region( 'load', <filename>:STRING );
$ds9->region( 'moveback' );
$ds9->region( 'movefront' );
$ds9->region( 'save', <filename>:STRING );
$ds9->region( 'selectall' );
$ds9->region( 'selectnone' );
$ds9->region( 'shape', STRING );
$ds9->region( 'sky', SKYFRAME );
$ds9->region( 'skyformat', ( 'degrees' | 'sexagesimal' ) );
$ds9->region( 'strip', BOOL );
$ds9->region( 'system', FRAME_COORD_SYSTEMS );
$ds9->region( 'width', INTEGER );
$ds9->region( SCALARREF );
$ds9->region( STRING );

[ ( 'degrees' | 'sexagesimal' ) ] = $ds9->region( 'skyformat' );

[ <format>:STRING ] = $ds9->region( 'format' );

[ BOOL ] = $ds9->region( 'strip' );

[ COLOR ] = $ds9->region( 'color' );

[ FRAME_COORD_SYSTEMS ] = $ds9->region( 'system' );

[ INTEGER ] = $ds9->region( 'width' );

[ SKYFRAME ] = $ds9->region( 'sky' );

[ STRING ] = $ds9->region( 'background' );
[ STRING ] = $ds9->region( 'exclude' );
[ STRING ] = $ds9->region( 'include' );
[ STRING ] = $ds9->region( 'selected' );
[ STRING ] = $ds9->region( 'shape' );
[ STRING ] = $ds9->region( 'source' );
[ STRING ] = $ds9->region( ?{ -format => REGION_FORMATS, -system =>
  FRAME_COORD_SYSTEMS, -sky => SKYFRAME, -skyformat => ( 'degrees' |
  'sexagesimal' ), -strip => BOOL, -prop => REGION_PROPERTIES } );
restore
$ds9->restore( STRING );
rotate
$ds9->rotate( 'abs', FLOAT );
$ds9->rotate( 'close' );
$ds9->rotate( 'open' );
$ds9->rotate( 'rel', FLOAT );
$ds9->rotate( 'to', FLOAT );
$ds9->rotate( FLOAT );

[ FLOAT ] = $ds9->rotate;
save
$ds9->save( 'fits', <filename>:STRING, ( 'image' | 'slice' | 'table'
  ) );

$ds9->save( 'mecube', <filename>:STRING, ( 'image' | 'slice' |
  'table' ) );

$ds9->save( 'mosaic', <filename>:STRING, ( 'image' | 'slice' |
  'table' ) );

$ds9->save( 'mosaicimage', <filename>:STRING, ( 'image' | 'slice' |
  'table' ) );

$ds9->save( 'mosaicimagewcs', <filename>:STRING, ( 'image' | 'slice'
  | 'table' ) );

$ds9->save( 'mosaicwcs', <filename>:STRING, ( 'image' | 'slice' |
  'table' ) );

$ds9->save( 'rgbcube', <filename>:STRING, ( 'image' | 'slice' |
  'table' ) );

$ds9->save( 'rgbimage', <filename>:STRING, ( 'image' | 'slice' |
  'table' ) );
saveimage
$ds9->saveimage( '*.jpeg|*.jpg', INTEGER );
$ds9->saveimage( '*.tiff', 'none', 'deflate', 'packbits', 'jpeg' );
$ds9->saveimage( 'eps', <filename>:STRING );
$ds9->saveimage( 'fits', <filename>:STRING );
$ds9->saveimage( 'gif', <filename>:STRING );
$ds9->saveimage( 'jpeg', <filename>:STRING );
$ds9->saveimage( 'png', <filename>:STRING );
$ds9->saveimage( 'tiff', <filename>:STRING );
scale
$ds9->scale( 'close' );
$ds9->scale( 'datasec', BOOL );
$ds9->scale( 'limits', FLOAT, FLOAT );
$ds9->scale( 'lock', 'limits', BOOL );
$ds9->scale( 'lock', BOOL );
$ds9->scale( 'log', 'exp', FLOAT );
$ds9->scale( 'match' );
$ds9->scale( 'match', 'limits' );
$ds9->scale( 'mode', ( 'minmax' | 'zmax' | 'zscale' ) );
$ds9->scale( 'mode', FLOAT );
$ds9->scale( 'open' );
$ds9->scale( 'scope', ( 'global' | 'local' ) );

$ds9->scale( SCALE_FUNCTIONS );

[ <function>:STRING ] = $ds9->scale;

[ <mode>:STRING ] = $ds9->scale( 'mode' );

[ <scope>:STRING ] = $ds9->scale( 'scope' );

[ BOOL ] = $ds9->scale( 'datasec' );
[ BOOL ] = $ds9->scale( 'lock' );
[ BOOL ] = $ds9->scale( 'lock', 'limits' );

[ FLOAT ] = $ds9->scale( 'log', 'exp' );
[ FLOAT ] = $ds9->scale( 'mode' );

[ FLOAT, FLOAT ] = $ds9->scale( 'limits' );
single
$ds9->single;

[ BOOL ] = $ds9->single( 'state' );
sleep
$ds9->sleep( INTEGER );

$ds9->sleep;
smooth
$ds9->smooth( 'angle', FLOAT );
$ds9->smooth( 'close' );
$ds9->smooth( 'function', ( 'boxcar' | 'gaussian' | 'tophat' ) );
$ds9->smooth( 'lock', BOOL );
$ds9->smooth( 'match' );
$ds9->smooth( 'open' );
$ds9->smooth( 'radius', INTEGER );
$ds9->smooth( 'radiusminor', INTEGER );
$ds9->smooth( 'sigma', FLOAT );
$ds9->smooth( 'sigmaminor', FLOAT );
$ds9->smooth( BOOL );

[ <function>:STRING ] = $ds9->smooth( 'function' );

[ BOOL ] = $ds9->smooth( 'lock' );
[ BOOL ] = $ds9->smooth;

[ FLOAT ] = $ds9->smooth( 'angle' );
[ FLOAT ] = $ds9->smooth( 'sigma' );
[ FLOAT ] = $ds9->smooth( 'sigmaminor' );

[ INTEGER ] = $ds9->smooth( 'radius' );
[ INTEGER ] = $ds9->smooth( 'radiusminor' );
source
$ds9->source( STRING );
tcl
$ds9->tcl( STRING );
threads
$ds9->threads( INTEGER );

[ INTEGER ] = $ds9->threads;
tiff
$ds9->tiff( 'new', SCALARREF );
$ds9->tiff( 'new', STRING );

$ds9->tiff( 'slice', SCALARREF );
$ds9->tiff( 'slice', STRING );

$ds9->tiff( ( 'deflate' | 'jpeg' | 'none' | 'packbits' ) );

$ds9->tiff( <filename>:STRING );

$ds9->tiff( SCALARREF );

[ ( 'deflate' | 'jpeg' | 'none' | 'packbits' ) ] = $ds9->tiff( (
  'deflate' | 'jpeg' | 'none' | 'packbits' ) );

[ STRING ] = $ds9->tiff;
tile
$ds9->tile( 'column' );

$ds9->tile( 'grid' );
$ds9->tile( 'grid', 'direction', ( 'x' | 'y' ) );
$ds9->tile( 'grid', 'gap', INTEGER );
$ds9->tile( 'grid', 'layout', INTEGER, INTEGER );
$ds9->tile( 'grid', 'mode', ( 'automatic' | 'manual' ) );

$ds9->tile( 'mode', ( 'column' | 'grid' | 'row' ) );

$ds9->tile( 'row' );

$ds9->tile( BOOL );

[ ( 'x' | 'y' ) ] = $ds9->tile( 'grid', 'direction' );

[ <mode>:STRING ] = $ds9->tile( 'grid', 'mode' );
[ <mode>:STRING ] = $ds9->tile( 'mode' );

[ BOOL ] = $ds9->tile( 'state' );
[ BOOL ] = $ds9->tile;

[ INTEGER ] = $ds9->tile( 'grid', 'gap' );

[ INTEGER, INTEGER ] = $ds9->tile( 'grid', 'layout' );
update
$ds9->update( 'now' );
$ds9->update( 'now', INTEGER, FLOAT, FLOAT, FLOAT, FLOAT );
$ds9->update( INTEGER, FLOAT, FLOAT, FLOAT, FLOAT );

$ds9->update;
url
$ds9->url( STRING );
version
[ STRING ] = $ds9->version;
view
$ds9->view( 'blue', BOOL );

$ds9->view( 'graph', 'horizontal', BOOL );
$ds9->view( 'graph', 'vertical', BOOL );
$ds9->view( 'green', BOOL );

$ds9->view( 'keyvalue', STRING );

$ds9->view( 'layout', VIEW_LAYOUTS );

$ds9->view( 'red', BOOL );

$ds9->view( FRAME_COORD_SYSTEMS, BOOL );

$ds9->view( VIEW_BOOL_COMPONENTS, BOOL );

[ <layout>:STRING ] = $ds9->view( 'layout' );

[ BOOL ] = $ds9->view( 'blue' );
[ BOOL ] = $ds9->view( 'graph', 'horizontal' );
[ BOOL ] = $ds9->view( 'graph', 'vertical' );
[ BOOL ] = $ds9->view( 'green' );
[ BOOL ] = $ds9->view( 'red' );
[ BOOL ] = $ds9->view( FRAME_COORD_SYSTEMS );
[ BOOL ] = $ds9->view( VIEW_BOOL_COMPONENTS );

[ STRING ] = $ds9->view( 'keyvalue' );
wcs
$ds9->wcs( 'align', BOOL );

$ds9->wcs( 'append', WCS_ARRAY );
$ds9->wcs( 'append', WCS_HASH );
$ds9->wcs( 'append', WCS_SCALARREF );

$ds9->wcs( 'close' );

$ds9->wcs( 'load', <filename>:STRING );

$ds9->wcs( 'open' );

$ds9->wcs( 'replace', WCS_ARRAY );
$ds9->wcs( 'replace', WCS_HASH );
$ds9->wcs( 'replace', WCS_SCALARREF );
$ds9->wcs( 'reset' );

$ds9->wcs( 'save', <filename>:STRING );
$ds9->wcs( 'save', INTEGER, <filename>:STRING );

$ds9->wcs( 'sky', SKYFRAME );
$ds9->wcs( 'skyformat', ( 'degrees' | 'sexagesimal' ) );

$ds9->wcs( 'system', WCS system );

$ds9->wcs( WCS system );

[ ( 'degrees' | 'sexagesimal' ) ] = $ds9->wcs( 'skyformat' );

[ BOOL ] = $ds9->wcs( 'align' );

[ SKYFRAME ] = $ds9->wcs( 'sky' );

[ WCS system ] = $ds9->wcs( 'system' );
[ WCS system ] = $ds9->wcs;
web
$ds9->web( 'STRING', 'clear' );
$ds9->web( 'STRING', 'click', ( 'back' | 'forward' | 'reload' |
  'stop' ) );

$ds9->web( 'STRING', 'click', INTEGER );
$ds9->web( 'STRING', 'close' );

$ds9->web( 'new', STRING, STRING );

$ds9->web( STRING );

[ STRING ] = $ds9->web;
width
$ds9->width( INTEGER );

[ INTEGER ] = $ds9->width;
xpa
$ds9->xpa( 'disconnect' );

$ds9->xpa( BOOL_FALSE );

[ STRING ] = $ds9->xpa( 'info' );
zoom
# alias for 'to fit'

$ds9->zoom( '0' );

$ds9->zoom( 'abs', FLOAT );

$ds9->zoom( 'in' );

$ds9->zoom( 'out' );

$ds9->zoom( 'rel', FLOAT );

$ds9->zoom( 'to', 'fit' );
$ds9->zoom( 'to', FLOAT );

# alias for 'to fit'

$ds9->zoom( 'tofit' );

$ds9->zoom( FLOAT );

[ FLOAT ] = $ds9->zoom;
zscale
$ds9->zscale( 'contrast', FLOAT );
$ds9->zscale( 'line', INTEGER );
$ds9->zscale( 'sample', INTEGER );

$ds9->zscale;

[ FLOAT ] = $ds9->zscale( 'contrast' );

[ INTEGER ] = $ds9->zscale( 'line' );
[ INTEGER ] = $ds9->zscale( 'sample' );