Subject: [ANNOUNCE] Version 1.1 of Karma is now available

From: [email-masked] (Richard Gooch)
Date: Tue, 23 Nov 1993 14:05:52 GMT

Version 1.1 (the second official public release) of the Karma library
is now available for ftp.

	Karma is available on anonymous ftp from:  ftp.atnf.csiro.au
  under the  pub/karma  directory.

  Binary distributions for:
	SunSparc, SunOS 4.1.3
	i386, Linux 0.99pl13
	Convex C2, ConvexOS 10.1.2
	dec-mips, Ultrix V4.3
  are available in addition to the source distribution.

Notable changes since 1.0:

1)  Creation of the  panel_  package. This is the command line user
interface package. Many existing modules have been moved over to this
package, and hence source is now available for those modules (the old
user interface code was not public domain).

2)  A new  doc/howto  directory explaining how some of the major
sections of the Karma library work, complete with example code.
Explained:
 -  "Intelligent Arrays": the easy interface to the Karma data format
 -  Network/ Communication support minus the heartache
 -  Dynamic PseudoColourmap support with networking in a flash
 -  Canvases, image display and fast animation made trivial
 -  Simpler ways to write image editing/ painting/ shared canvas applications

3)  Various extra features, bugfixes, etc.

See the release notes for more details. Below are README extracts:

===============================================================================
				Karma

	A Structured Package for Signal and Image Processing

	Karma is a package for signal and image processing applications. It
  contains KarmaLib (the structured libraries and API) and a large number of
  modules (applications) to perform many standard tasks.

	Please mail any bug reports to:  [email-masked]
  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:  [email-masked]
  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:
  [email-masked]

	Karma is available on anonymous ftp from:  ftp.atnf.csiro.au
  under the  pub/karma  directory. Both the source code and binary
  distributions are kept here. The source code is available free of charge,
  although donations are gratefully accepted (means I can spend more time
  developing Karma). Donations can be sent to:

	Richard Gooch, c/o ATNF, P. O. Box 76, Epping, N.S.W., 2121, Australia.

  You are urged to get the binary distribution if possible, as this will save
  you the effort of building from source.

  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.

  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 or 2 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.

	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.