[1697] in linux-announce channel archive
Karma v1.3 is released
daemon@ATHENA.MIT.EDU (Lars Wirzenius)
Wed Feb 7 18:40:52 1996
Date: Thu, 8 Feb 1996 00:09:45 +0200
From: Lars Wirzenius <wirzeniu@cc.helsinki.fi>
To: linux-announce@vger.rutgers.edu
X-Original-Date: Wed, 7 Feb 1996 18:40:42 +1100
From: Richard Gooch <rgooch@atnf.CSIRO.AU>
Subject: Karma v1.3 is released
Approved: linux-announce@news.ornl.gov (Lars Wirzenius)
Newsgroups: comp.os.linux.announce
Followup-to: comp.os.linux.development.apps
Organization: ?
-----BEGIN PGP SIGNED MESSAGE-----
Version 1.3 of the Karma library is now available for ftp. The Karma
library is a general purpose programmers toolkit (see below).
Karma is available for anonymous ftp from: ftp.atnf.csiro.au
under the pub/software/karma directory. Both the source code and binary
distributions are kept here. The source code is available free of charge.
There is also a WWW page for the library:
http://wwwatnf.atnf.csiro.au/karma/
In addition, the ATNF visualisation software, which uses the Karma
library, also has a WWW page:
http://wwwatnf.atnf.csiro.au/Software/Analysis/visualisation/
Binary distributions for:
SunSparc, SunOS 4.1.3
SunSparc, Solaris 2.4
i386, Linux 1.2.8 and 1.3.x (ELF)
Convex C2, ConvexOS 10.1.2 (incomplete: X11 applications missing)
mips1, Ultrix V4.3 (Rev. 44)
alpha, OSF/1 V2.0 (Rev. 240)
hp9000, HP-UX A.09.01
mips4, IRIX 6.0.1
rs6000, AIX 3.2
are available in addition to the source distribution.
Notable changes since 1.2:
1) Creation of the <foreign_> package. This provides for conversion
to and from foreign data formats. Currently supported formats are:
PPM (Portable PixMap), FITS (Flexible Image Transport System), Sun
Rasterfile and Miriad Image files.
2) Move away from <win_scale_struct> for the <canvas_> package
towards attribute lists has commenced.
3) Tiled image display now fully supported for PseudoColour images.
4) Restructured <kwin_> package to ease support of different graphics
systems. XGL stereo canvases now supported. OpenGL stereo canvases
planned.
5) Formatted printing to channel objects now supported through
<ch_printf> routine.
6) Support for Associative Arrays.
7) Support for background processing through "work functions". Note
this is not the same as thread support (already provided in Karma).
8) New <vrender_> package to support volume rendering. This package
handles most of work in implementing a volume rendering tool, leaving
the programmer free to develop the GUI and shading algorithms.
Experimental.
9) Extensions to <mt_> package to provide a few different methods for
synchronising multiple threads of execution.
10) New, improved volume rendering tool <xray> included in the binary
distributions. See the ATNF visualisation WWW page for information.
11) Various extra features, bugfixes and optimisations.
12) Improved tutorials/examples!
See the release notes for more details. Below are README extracts:
===============================================================================
Karma
A powerful programmers toolkit
Karma is a toolkit for interprocess communications,
authentication, encryption, graphics display, user interface and
manipulating the Karma network data structure. It contains KarmaLib
(the structured libraries and API) and a large number of modules
(applications) to perform many standard tasks.
When files and directories are referred to, they are given relative to the
root Karma directory (environment variable KARMABASE if defined). This is
usually /usr/local/karma
Please see the file INSTALL for instructions on how to install Karma.
The update policy for Karma is in the file doc/update-policy
The doc/lib directory contains documentation for the Karma libraries.
The doc/modules directory contains documentation for the various Karma
modules. This directory may be a little sparse...
The doc/howto directory contains information on how to make good use of
some of the more interesting packages in KarmaLib.
The doc/widgets directory contains information on the Karma Widgets
library. This directory may be a little sparse...
Please mail any bug reports to: karma-bugs@atnf.csiro.au
No warranty, express or implied should be inferred by this mailing address.
If you want to be added to the mailing list (to find out what's changed
with Karma), please mail the request to: karma-request@atnf.csiro.au
This mailing list is VERY important: as bugs are fixed and enhancements made
to Karma, this is your only way of finding out about these changes.
If you have any suggestions for Karma, please mail them to:
karma-suggestions@atnf.csiro.au
Karma is available for anonymous ftp from: ftp.atnf.csiro.au
under the pub/software/karma directory. Both the source code and binary
distributions are kept here. The source code is available free of charge.
There is also a WWW page for the library:
http://wwwatnf.atnf.csiro.au/karma/
In addition, the ATNF visualisation software, which uses the Karma
library, also has a WWW page:
http://wwwatnf.atnf.csiro.au/Software/Analysis/visualisation/
The Karma World Wide Web page is: http://wwwatnf.atnf.csiro.au/karma/
This provides online access to the documentation and ftp site.
You are urged to get the binary distribution if possible, as this will save
you the effort of building from source.
When connecting to the ftp server, check the modification dates on the source
distribution and the binary distribution. If the source distribution
is much newer than the binary distribution you want, this means that
the binary distribution is out of date. Please send an Email request to
karma-suggestions@atnf.csiro.au for a rebuilt version to be made available.
I don't have local access to many machines, so I don't rebuild automatically
for every platform.
Karma modules use the GNU General Public License, version 2 or later.
KarmaLib uses the GNU Library General Public License, version 2 or later.
===============================================================================
KarmaLib
A Structured Library for Signal and Image Processing
Karma is a package for signal and image processing applications. It
contains KarmaLib (the structured library and API) and a large number of
modules (applications) to perform many standard tasks.
KarmaLib provides routines to simplify the interface to the operating system.
This includes process management and a powerful connection package. Using a
Connection Management tool, the applications developer can launch and
connect a number of modules (processes) on a network with ease. The
communications support in KarmaLib forms one of the major components to the
library. Full authentication and encyption support is included, making the
development of secure, network-aware applications trivial.
It also provides a highly extensible, recursive, heirarchical data structure
with extensive library support. This data structure may be accessed in a very
portable, generic fashion by applications and may also be accessed directly
when speed is critical. By supplying powerful library routines, data
structures may be accessed in an abstract way, removing the need for the
applications programmer to write code to deal with complex data structures
while also allowing users to pass increasingly complex data structures to
modules without the need for recompiliation.
The applications programmer is left to concentrate on processing simple
sub-structures (typically 1, 2 or 3 dimensional arrays) without incurring
any processing overhead. Tiling of multi dimensional arrays is supported
transparently, and, using special indexing techniques (also transparent to
the application), incur no performance overhead.
The library also supplies routines to allow the programmer to transfer data
structures as objects to and from named objects (disc files and network
connections) without requiring the programmer to pay any attention to data
formats, byte swapping machines, word sizes, etc. All data transfers are
highly optimised to take advantage of the features of any particular platform
and operating system.
In addition, data structures may be automatically memory mapped from disc
into the process address space, yielding enormous peformance increases when
reading large data structures from disc, and also saving swap space.
Another major component of KarmaLib is the display support. The display
system both provides an abstract interface to the underlying graphics system
(ie. the X window system), and also provides much higher level functionality
than many graphics libraries. As well as supporting simple geometric
primitives and text display, a powerful and flexible image display system is
included. This allows the direct mapping of application data structures
(ie. 2-D and 3-D arrays) to display windows (canvases). These images may be
animated at high speed (such as in a movie tool). The complex machinery
required to handle window resize and refresh events, as well as other events
(ie. mouse events) is built into the display system.
Other facilities such as graphics overlay lists (which are easily networked
and shared amongst processes), image editing (a simple painting mechanism,
also newtork shareable) and axes display are also supplied.
KarmaLib is structured into many "packages", which are collections of
routines. All the routines in each package have a designated prefix.
For example, the data structure manipulation routines all have the prefix:
ds_
The include file needed for each package is based on the common prefix.
For example: karma_ds.h
The packages are also layered. Level 1 packages are the lowest level, and
depend directly on the operating system. Higher level packages are
dependent on one or more packages at lower levels. A package at one level is
not dependent on any other package at the same or higher level.
The number of letters in a package's prefix indicates the level of the
package. So, for example, the data structure manipulation routines are a
level 2 package.
In many cases, certain functionality is provided in packages at various
levels. With few exceptions, the highest level packages are recommended for
use, as these provide the greatest flexibility, ease of use and are also more
highly optimised.
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2i
iQCVAwUBMRkiBIQRll5MupLRAQEz/QQArbvproMKO7vvdQh/6I1eedR+Q86coF17
Zdjq9mVI/NyiY6elmtEFQVP+QahTx7tfGPVz58yhCTAqAYXJWxqnVOiH6tgz8HBp
MOztkSPVp7QmTR9LPQfmBpy2rj146sZnLhm3fdIZ0Ous18nYK4aZPWNT5M7ACs4A
V+iKmWCt7AA=
=27vp
-----END PGP SIGNATURE-----
--
This article has been digitally signed by the moderator, using PGP.
Finger wirzeniu@kruuna.helsinki.fi for PGP key needed for validating signature.
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember a short description of the software and the LOCATION.