NAME

PDL::Graphics::Karma - interface to Karma visualisation applications

DESCRIPTION

Can send PDL 2D/3D data to kview, xray, kslice_3d, etc...

Data is transferred using shared memory when available on the OS (and segments big enough - e.g. Linux but not Solaris unless tuned) so ought to be very fast.

You can say

perldl> kim $a, {App=>'xray'}

to send to a specific viewer and/or

perldl> kim $a, {BB=>[0,50,-100,100]}

to specify the bounding box in world coordinates (here for a 2D image) or just

perldl> kim $a

to reuse the last viewer.

You can start the viewers from PDL.

For further info about Karma see http://www.atnf.csiro.au/karma. The binary distribution can be downloaded from http://www.atnf.csiro.au/karma/ftp.html.

SYNOPSIS

use PDL::Karma;
kview;
kim $data;

FUNCTIONS

kim

Sends piddle data array to an external Karma application for viewing

kim($pdl, [$karma-app, $lut])

Sends $pdl data to Karma application viewer. Remembers the last one used [default: kview].

kstarted

kstarted([$karma-app])

Tests if a Karma application is running.

It tries to connect to the karma application, returns 1 on success, 0 otherwise

Can be used to check if a karma application has already been started, e.g.

xray unless kstarted 'xray';

krgb

krgb($lut, [$karma-app])

Sends RGB image to an external Karma application for viewing

Does not change current default viewer.

$app()

Starts external Karma application $app

$app([OPTIONS])

perldl> kview (-num_col => 42)
perldl> xray

koverlay

Overlay graphics markers on a Karma application (e.g. kview)

koverlay $x, $y, {Options...}

Currently the only markers supported are ellipses. The default is a circle of radius 10 units,

$x = 10*xvals(10); koverlay $x, sqrt($x), {Radius=>$x/3, Colour=>'green', App=>'kpolar'}

  Radius - [piddle] specify radius of ellipses (major axis if ellipse). Default = 10 units.
  Ellip  - [piddle] specify ellipticity of ellipses. Default = 0 i.e. circle.
  PA     - [piddle] specify principle axis (degrees rotation anticlockwise
                    from the Y axis). Default.
  ID     - [piddle] Numeric integer id labels to apply.
  Colour - [string] Colour name for overlay (e.g.  'red'). Default = 'blue'
  App    - [string] name of Karma app to send too
  Fill   - [piddle] whether outlines are filled (0 or 1). (Note filled,
                    ellipses are not yet available in Karma).
  Coords - [string] "World" or "Pixel" - type of coordinates for x/y/r.
                    Note pixel implementation rounds to nearest pixel due
		    to Karma overlays not supporting proper IMAGE_PIXEL
		    coordinates.

kcur

Return cursor position from a Karma application (e.g. kview/xray)

($x,$y) = kcur($ch, {App=>'karma-app',Coords=>"World|Pixel"})

This function connects to a Karma application and returns the ($x,$y) position and the character typed ($ch) by the user. By default world coordinates are returned.

print kcur {App=>"kview", Coords=>"World"}

AUTHORS

Copyright (C) 1997-2001 Christian Soeller, Karl Glazebrook. Reproducing documentation from the pdl distribution in any way that does not include a statement telling who the original authors are is forbidden. Reproducing and/or distributing the documentation in any form that alters the text is forbidden. This module is free software and can be distributed under the same terms as PDL itself.