Changes between XITE versions
Pay special attention to the descriptions of
version incompatibilities for each version.
Contents
- Using the scrollbars of the slice tool in xshow now
reflects the change in the color patch.
- XITE can be compiled to force installing image colormap when
pointer is inside image window. This should be taken care of by
the window manager but fails in KDE and gnome (works fine with
FVWM2). When XITE itself handles this it also works with KDE and
gnome.
- Minor bug fixes and documentation updates.
- More XITE routines available in the XITE toolbox for MATLAB.
- Updated xshow to work under Linux 2.6.
- Works on RedHat Enterprise Linux 4.
- Added function regionAnalyse.
- Ported to Red Hat Enterprise Linux WS release 3.
- New programs: biff2png and png2biff.
- The non-display programs have been compiled for Windows XP.
The xite.zip file is available for download.
- Most of the computation routines in XITE can be accessed from
within MATLAB via an XITE toolbox for MATLAB. This is installed
if you choose to install the MATLAB to XITE format converters.
- biff2matlab: Conversion can handle all BIFF pixel
types. Minor changes in generation of array name.
- matlab2biff: Conversion can handle all numeric array
data types. Unsigned 32-bit integers and the 64-bit integers in
in MATLAB are converted to 32-bit signed integers in BIFF.
- loadBiff: Without output arguments, the variables are
loaded into the callers workspace (instead of being assigned to
"ans" and possibly echoed). With one output argument, variables
show up as fields in a struct. Updated for any numeric data
type.
- saveBiff: Updated for any numeric data type.
- tiff2biff: Bug fix for images with one-bit samples and
fillorder LSB2MSB.
- New standard XITE options "-version" for all XITE programs (not
only display programs).
- Adapted for Linux 2.4 under RedHat 7.2.
- Adapted for Solaris 7.
- Avoiding warnings on endian constants.
- Added Image-widget resource XtNrange.
- Renamed type Matrix as xiteMatrix to avoid conflict.
- regionConvexHull: Processing all bands (not only the first one
repeatedly).
- Fixed makefiles for OSF1 to enable building of dynamic libraries.
- Fixed bug which prevented specifying only one of the parameters
for image width or height when running display programs which use
the ImageOverlay widget.
- biff2pnm: Fixed segmentation violation bug. Removed option
-rgb. BIFF images with three bands are automatically
converted to ppm format. The conversions are now performed by functions
which can be linked with other programs. See the function manual page
for biff2pnm.
- pnm2biff: The conversions are now performed by functions
which can be linked with other programs. See the function manual page
for pnm2biff.
- glcmParameter: Various bug fixes in calculating the GLCM
parameters.
- stdev: Fixed bug which showed up with some linkers.
- New programs: xwarp and accompanying script
warpExAnalysis.
- New functions: warp, ioWarpMapping and
warp_resample.
- xmovie: Handles any pixel type.
- xshow: Added option -dialog_defaults to
automatically accept dialog defaults, without popping up any dialog
window.
- Changed name of type
ImageData
to ImageDataReg
in region.h to avoid naming conflict.
- The System Administrator's Manual and the User's Manual are also
supplied in PDF format, to be read e.g. with acroread.
This version is compatible with the previous version, except for the
arguments of the function scatter.
- Dynamic shared libraries (dynamic-link libraries on Windows NT/95) are
created by default for some platforms.
This, in addition to other compilation changes, greatly reduces
required disk space for the executable binaries. Typically only
one sixth of the space is needed.
- MATLAB- and TIFF-dependent functions are put in separate libraries.
- Removed all dependencies on csh.
- Adapted for Windows NT/95, when installation is run under UNIX.
Compilation and linking must of course be run under NT, but makefiles
etc can be created under UNIX.
- Separate installation for precompiled NT/95 distribution.
Updated manuals for NT/95. Various other updates and extensions to the
reference manual.
mkMorph
mkMorph can be used to create a structuring element for
morphological operations. It is included in the menu hierarchy for
xshow.
All programs
- Fixed bug which made histograms and cumulative histograms of very
large images get a very coarse appearance (a quantization of
the correct curves). The maximum histogram value now touches the top
of the display area.
- The Image Information entry in the Tools menu of the Image
Widget works also for images with pixel type complex and double complex.
- Zooming in on a complex-valued image will show the numerical pixel
values.
- Fixed floating exception error on Dec alpha and Linux.
- Avoiding some unnecessary resizing and exposure calls.
- The histogram and slice tools in the Image widget don't crash
on complex-valued images.
xfilter
- Added difference widget.
- New option: -wdiff.
- Obsolete option: -wall.
- Added application resources.
- All options have their application resource counterpart.
xhistogram
Removed the possibility of giving an <outimage> command-line
argument. The functionality is provided by xshow and various
command-line based histogram programs.
xshow
- Reading/copying a subset of bands from a memory-intensive image is
much more efficient, using only the memory necessary for the requested
bands.
- The control widget will display pixel values also for complex-valued
images.
- Added mkMorph to menu hierarchy.
- Removed image_minmax from menu hierarchy. statistics
covers this functionality.
- Fixed the macro function for the case when no menu-file could be
edited (no private file and no writable public file). Expanding tilde
in menu-file names.
All programs
Using the environment variable MESSAGEPROG now works. Did it ever work?
The environment variable can now also take options and arguments.
biff2matlab, matlab2biff, loadBiff, saveBiff
Converted to MATLAB 5.1.
biff2sunraster
- Accepts three-band rgb images, converting to 24-bit Sun rasterfiles.
- Accepts standard XITE filenames ("-", "-0", "-1").
biffcopy
Extracting a subset of bands from a memory-intensive image is
much more efficient, using only the memory necessary for the requested
bands.
biffinfo
- Will handle more than one stdin input argument.
- Will handle band specification also when appended to stdin input
argument.
- Band specification on file name can be mixed with option -n.
- Options can not any longer be grouped, they must be space separated.
glRunLength
- Fixed bug which required exactly two command-line arguments in addition
to options.
- Improved output appearance.
glcm
- Initialized output band (GLCM matrix) properly to zeros, to avoid
uninitialized output pixels for input pixel values greater than
num_greylevels.
- Avoid processing remaining bands only if there is a real error
condition in glcm(), not for a warning condition.
glcmParameter
- Avoids scaling error when the GLCM matrix contains only zeros.
- Initializing the GLCM matrix if the -mkglcm option is used.
houghCircle
Function drawCircle() made public.
houghLine
- Function drawLine() made public.
- Giving special treatment to the case of theta=90 degrees.
imag
Removed "Bus error" when input pixeltype is dcomplex and output pixel-type
is double.
morphDilate
Fixed bug in calculating maximum values.
scatter
Function scatter() requires an additional argument.
statistics
- Can also handle complex-valued images (added function
cstatistic()).
- Fixed the calculation of mean value for unsigned byte images to avoid
integer overflow (and thus negative mean).
- Fixed the calculation of minimum and maximum value when only these
two parameters were requested in the call to the statistic()
function.
- Options can not any longer be grouped, they must be space separated.
sunraster2biff
- Handles images with odd width correctly.
- Handles 24-bit BGR and RGB as well as 32-bit XBGR and XRGB rasterfiles,
all converted to three-band rgb BIFF images.
- Handles depth-1 rasterfiles correctly.
- Accepts old-format Sun rasterfiles.
- Accepts standard XITE filenames ("-", "-0", "-1").
BIFF library
- Added functions Iread_image_bands, Idel_band_pix,
Iparse_band_spec, Ifilename_part,
Iparse_filename, IpixPrintFormat.
- Improved the handling of input pipes.
- Using ";" as band specification separator under Windows NT/95.
- Iopen_image can now handle file names with band specification
appended.
ximage toolkit
- The ximageInit function now processes both the standard
ximage application resources and those described by the
resources argument (instead of processing only the latter when they
are supplied). The options table argument should be the
concatenation of options tables for standard ximage options and
any new options corresponding to the additional application resources.
- Added functions ximage_app_resources() and
ximage_app_options().
- Applications written without accompanying X resource files get
reasonable appearances.
- Label widgets can now be from the Xaw or Xfwf widget set.
cxite compilation/linking tool
- Added option -R.
- Added platform-dependent compile- and link-flags. This takes care
of using whatever definitions and libraries XITE is built with when
you build your own XITE-dependent application. An example is to
use Unix BSD definitions and libraries under SunOS5.
This version is compatible with the previous version.
A number of new man pages are available, e.g. for the Image and
ImageOverlay widgets. Several man pages have been extended, e.g. the
one for the ximage toolkit, and numerous pages have been revised.
Improved the html descriptions. Hopefully not as many dead-end links.
xfilter
An X based visual program for filter design. The input image, filter
and output image are displayed simultaneously along with their Fourier
transform magnitudes. The filter type and window function can be
selected from menus.
All the non-visual programs are included in the menu hierarchy for
xshow, the main visual program in XITE.
bandpass
Replaces fftMakeBp (which is retained as a script calling
bandpass). bandpass has more options than
fftMakeBp. The filter can be returned in the spatial
or Fourier domain, the window function can be chosen among several
predefined types, and the pixel type can be chosen among all
non-integral types (i.e. real, double, complex and double complex)
when the filter is returned in the spatial domain.
Refer to the new window program below.
bandstop
Replaces fftMakeBs (which is retained as a script calling
bandstop). See bandpass above.
bdf2biff
Converts a BDF font file to a BIFF image.
biffwrite
Writes text on a BIFF image. Depends on BDF font files.
butterworth
Makes a Butterworth lowpass filter in the spatial or Fourier domain.
exponential
Makes an exponential lowpass filter in the spatial or Fourier domain.
fftMagPhase
2D Fourier transform and conversion into linear/logarithmic magnitude
and/or phase.
highpass
Replaces fftMakeHp (which is retained as a script calling
highpass). See bandpass above.
imag
Replaces fftImag (which is retained as a script calling
imag).
logarithm
- Replaces fftDisplay (which is retained as a script calling
logarithm).
- Changed logarithm() to use log10, not log (which gives ln).
- Output pixel type can be chosen among unsigned byte, real and double.
- Can handle all pixel types directly in the input image, without
converting to complex.
- Improved efficiency for input pixeltypes UNS_BYTE, SIGN_BYTE,
UNS_SHORT and SIGN_SHORT.
lowpass
- Replaces fftMakeLp (which is retained as a script calling
lowpass). See bandpass above.
- Fixed bug when all filter-coefficients were zero (divide by zero in
scaling).
- Major revision of lowpass-generating function which should now work
irrespective of odd/even filter size and odd/even band size.
lowpassIdeal
Makes an ideal lowpass filter in the spatial or Fourier domain.
phase
- Replaces fftPhase (which is retained as a script calling
phase).
- Added option -shift.
- Will give a real pixel type output for a complex pixel type input and
a double pixel type output for a double complex pixel type input,
unless option -b is used.
power
- Replaces fftPower (which is retained as a script calling
power).
- Handles all input pixel types.
- Can scale the result.
- Output pixel type will be the same as the input pixel type, unless
option -real is used. This will give a real output type for a
complex input type and a double output type for a double complex input
type.
real
Replaces fftReal (which is retained as a script calling
real).
window
Makes a BIFF image containing a window function for filter design.
zernike
Computes Zernike moments for an image.
General comments
- All the programs are based on the ximage toolkit which is a
part of XITE. See comments about changes to the toolkit further down.
- The images will by default be split from the control buttons. This
enables ordinary resizing of all image widgets in all ximage
based applications.
- The visual class of an image does not need to equal the default visual
class of the display server.
- All the programs handle images displayed with different visual classes.
- Added menubar to Image and ImageOverlay widgets (no
OverlayColors menu button for an Image widget).
- A new entry in the Tools menu can create a colorbar for the presently
active colortable.
- The cursor position in every image can be traced.
- Honors setting of widget width without setting height, and vice
versa, taking aspect ratio (fixed or variable) into consideration.
- The histogram entry in the Tools menu will now calculate the total
histogram for a three-band rgb image if the right mousebutton is used
to select the input image. Previously this would result in three
histograms, one for each band. Using the middle mouse button will still
create the histogram only of band numer one (i.e. the red band).
- Every image widget created via the "Send image" button in the histogram
window will have the correct callback functions installed and thus
behave exactly as other image widgets.
- Replaced some Xaw widgets by Xfwf widgets. Also see the ximage
option -widgetset.
- XPM (X Pixmap) pixmaps and functions are used. XITE supplies the
necessary code and links with its own libxpm library, to avoid problems
with non-existent or old versions of local XPM libraries.
- Renamed and added some options and application resources, including
all the ones which xshow had.
- Fixed segmentation fault when the image display window only consisted
of one screen pixel.
- The applications do not exit when a single image is closed.
xshow
- Also refer to the general comments about changes to visual programs
above and changes to the ximage toolkit, Image and
ImageOverlay widgets described below.
- Improved dialog appearance and input checking when xshow
starts a program from the menu hierarchy.
- If a colortable or overlay table was produced by the same program
which produced an image, this colortable will be used for the image.
Otherwise, the default "Work-map" will be used.
- Fixed bug which sometimes made the main xshow menu disappear
(e.g. when selecting FFT forward).
- Fixed bug where xshow sometimes would not pop up a submenu.
- Fixed old bug which sometimes made xshow crash when one widget
among two or more from the same image was killed with the q
key.
- The menu file format has been changed, but xshow can still
read the old format.
- The XTERMOUT code (<xterm>) in a menu file entry is no longer
removed, but replaced by (-1), the negative of the stdout
filedescriptor. This means that the XTERMOUT code should be used when
a program requires a filename for ascii output.
xfft
- Also refer to to the general comments about changes to visual programs
above and changes to the ximage toolkit, Image and
ImageOverlay widgets described below.
- Changed pixeltype of Fourier-transform band from unsigned byte to
real. The old version could only handle unsigned byte output band,
and the result would be truncated unless a scale-factor was supplied.
This would give a saturated image. Now, the image should always appear
correctly.
- The ROI (Region of interest) changes according to expand, shrink, zoom
and pan.
xhistogram
- Also refer to to the general comments about changes to visual programs
above and changes to the ximage toolkit, Image and
ImageOverlay widgets described below.
- Added option -split to the main program. Default behavior
is to calculate total histogram for all bands of an image.
-split will calcaulate for each band separately.
xmovie
- Also refer to the general comments about changes to visual programs
above and changes to the ximage toolkit, Image and
ImageOverlay widgets described below.
- Removed limitation of maximum 256 bands.
- Added option -f.
xpyramid
- Changed to use the ximage toolkit.
- Also refer to to the general comments about changes to visual programs
above and changes to the ximage toolkit, Image and
ImageOverlay widgets described below.
- Fixed bug so that it will now really use the number of colors chosen.
General comments
- Each pixel type has a string representation which can be used on the
command line of programs which need pixel type input.
- All (hopefully) programs and public functions check that the pixel type
of image bands are correct.
absValue
- Added option -real.
- Changed absolute value of complex from separate absolute value of
real and imaginary parts to length of complex vector.
- Allowing complex input band to result in real output band and
double complex input band to result in double output band.
ascii2biff
Can now also read ascii images which have coordinate system added by
biff2ascii.
average
- The bands in the averaging can now have different pixeltypes.
This could previously give erroneous results, because only the type
of the first band was tested.
- Can now process bands from several input images.
- Changed scale parameter from integer to double.
biff2pnm
Now works correctly with all BIFF pixeltypes (converting to unsigned
byte or unsigned short, though without scaling).
biff2ps
Requiring arguments for input- and output-files (could be "-" variants
as usual).
biff2sunraster
Can now handle all pixeltypes (but without scaling).
biff2tiff
Fixed crash.
biffcopy
Accepts multiple -band options.
binarize
Removed "bus error" for method Ab.
canny
Fixed bug in generation of canny filters.
color2ascii
Changed interpretation of filename argument. Empty filename is no
longer interpreted. Both - and -1 mean stdout.
Removed option -o.
colorquant
Fixed bug in pixelvalue calculation for BIFF colortable file.
crossSection
Fixed functions to really be able to handle any pixeltype.
fht2d
Changed the fht2d function so as not to change the input band. Also fixed
memory read error.
glcmParameter
Avoiding "bus error".
houghCircle
Initializing band correctly.
houghLine
Fixed rounding error.
linearTrans
Fixed addressing which caused "segmentation fault" on some architectures.
matlab2biff
Removed mxFree-statement which caused errors in conversion.
maxarea
Made sure that index does not go outside image bounds.
pnm2biff
Fixed addressing bug in BIFF image band.
pseudo2rgb
Fixed "bus error" bug caused by the color handling using the complete
24-bit pixel-value in a colortable, not only the pseudocolor part.
pyramid
Testing that the number of levels is not too high. This would
generate bands of size 0 which xshow does not like.
rainbow
Requiring <outfile> argument to be given.
rms
Added all pixeltypes.
segmSpannWilson
Avoiding "segmentation fault" error.
statistics
- Fixed bug in calculating standard deviation (at least buggy on
SGI). Now works fine also on e.g. unsigned short pixeltype.
- Can now read from multiple - file arguments.
ximage toolkit
- Also see the general comments about
changes to X-based visual programs.
- The toolkit has been almost completely rewritten.
- Several new toolkit command-line options and application resources.
- Image and ImageOverlay widgets can now be displayed
separately from buttons, sliders etc. The old behavior is still
supported. The options -layout, -panelcontainer
and -adjustwidth can be used to get the desired behavior.
- Displaying images separately from buttons etc. has the advantage that
the images can be resized with the mouse, as usual for images controlled
by the window manager.
- Image menus for Colors, OverlayColors, Tools, Options and Visuals
are available to all applications based on the ximage toolkit.
The OverlayColors menu is only available for ImageOverlay
image widgets.
- Added widgettype "P" (Prompt), "l" (list) and "E" (small ascii).
- The user can choose between using Athena widgets Command and Toggle or
the Free Widget Foundation widgets XfwfButton and XfwfToggle (with a
runtime option).
- A new function ximageLayout can be used as an alternative to
ximage_layout. The new function is more flexible.
- Widget types can now also be specified by descriptive words, not only
one-letter codes.
- Added code to handle passing of callback-function-data to display
functions (e.g. via histogram). This will make image widgets produced
via the "Send image" button in the histogram window behave exactly
like other image widgets.
- Added function close_shell (action function CloseShell) which replaces
several other similar functions defined in some ximage-based
applications.
- Changed resource instance name of image widgets to always be "image"
when the widget is created via the ximage_layout or
ximageLayout functions.
- Removed setting of fallback-resources.
- Moved some of the color-resource checking to the Image and
ImageOverlay widgets (in Initialize and SetValues methods).
Image widget
- Added a manual page comment for the widget.
- Added the readonly resource XtNimageRgb which keeps track of whether
the widget displays one band or a three-band rgb image.
- Added checking of color resources (some code moved in from ximage.c,
formerly Xdisplay.c). Checking is done both for Initialize() and
SetValues() methods.
- Improved the SetValues() method to handle more situations of resource
setting.
- Now only freeing pixmap memory if the pixmap size must change. This
saves allocation time.
- Added WMColormap action-function. This will inform the window manager
about which widgets need their colormap installed when the mouse pointer
is inside the widgets. It was needed especially for the case of
DirectColor visual and "reduced-color" display.
- Added tables tab128_s and tab256_s as default values for the XtNcolorPtr
resource (set by the function deftab()).
- Added functions ImageCopyResources, ImageGetResources and
ImageGetImageResources.
- Added functions ImageScreenToWidth(), ImageScreenToHeight(),
ImageWidthToScreen() and ImageHeightToScreen().
- Made sure widget width or height does not become zero.
ImageOverlay widget
- Added checking of color resources in methods Initialize() and
SetValues().
- Added resource roiZoomPan to enable resizing and panning of
the ROI (Region of interest) along with widget zooming and panning.
- Changed the Redisplay() function (expose method) to take care of a ROI
which should be zoomed and panned (via the resource roiZoomPan).
- Added functions ImageOverlayCopyResources, ImageOverlayGetResources
and ImageOverlayGetImageOverlayResources.
- Made sure widget width or height does not become zero.
InitMessage function
- InitMessage now strips a trailing .bin from the program
name, in order to work properly for the X based applications which
are started via shell scripts.
Code improvements
- Most of the code for the ximage toolkit and the main display
program xshow has been rewritten.
- The header files related to image processing can now be used with C++.
cxite
The compilation/linking script also links with libxiteX.a and libxpm.a.
This version is incompatible with the previous version in the following areas
- Changed parameter list for ximage_layout(). The first
parameter must now always be non-NULL. It should be equal to the
widget reference returned from ximage_init(). Setting this
parameter equal to NULL in previous versions, resulted in a new window
on the screen. This is now instead controlled by the new last parameter
res_inst_name (short for resource_instance_name).
This should supply the X instance name of the new widget (if you don't
understand this, just supply an arbitrary string). If equal to NULL,
there will not be a new window.
- Some widgets have changed class or instance name. If you have set
X resources for these in an X resource file, the behaviour may not be
what you expect. Check the documentation for the program you are running
(if this is supplied with XITE). If you have written the program
yourself, based on the ximage toolkit supplied with XITE, check the
documentation for ximage.
- The widget hierarchies in the XITE display programs have changed.
You may want to adjust any X resource settings you have made.
xshow
- Bug fixes
- Fixed bug which caused crash if path in FileSelector window was
given as a single ~.
- Fixed bug which sometimes caused crash during zooming.
- Removed warning if bits-per-rgb does not equal 8. bits-per-rgb
different from 8 has no influence on the way XITE display programs
behave. The bits-per-rgb characteristic is a measure of the
resolution of the D/A convertor in the display hardware.
- Fixed bug which caused crash if empty directory field was returned
in fileselector widget.
- Changes to main menu hierarchy
- Introduced a permanent separate window for the program menu
hierarchy, not launched by the "Run program" button in the Control
window.
- Submenus in the main menu-window require a mouse click to pop up.
Lower-level submenus may still pop up because of mouse movement.
- Made sure that submenus don't pop up too low or too far to the right
to be visible on the screen.
- Introduced possilibity for saving/sticking submenus on the screen.
- Installed keyboard accelerators/shortcuts in the Control window
for the quit, help and macro buttons as well as for popping up
submenus (temporary and permanent) and executing command entries.
- One may navigate in the permanent submenus with the keyboard
(arrow down/up or ctrl n/p) and command entries can be executed
with the Return key.
- Permanent submenus can be popped down with the q key.
- Added menu items for reading and copying only certain bands from
an image.
- Changes/additions to menu entries
- Made rainbow (in menu entry "Create ihs-based colormap") send output
to a separate xterm window which can be saved with Shift+Btn2.
- Made color2ascii (in menu entry "Colortable --> Ascii") send output
to a separate xterm window which can be saved with Shift+Btn2.
- Added menu entries for reading and copying only specific bands from
an image.
- The menu entry "Rgb --> pseudocolor" is now processed entirely
by colorquant, not by makepseudo.
- Other user-interface changes
- Removed "Run program" button from Control window.
- Changed position of Macro button in Control window.
- Removed macro filename from label in macro button.
- Added confirmation box for stopping macro logging.
- Made the Control window, histogram and slice applications better
at handling user-selected fonts, i.e. label/command
widget widths are determined by chosen font/string.
- Control window now behaves better during a window manager resize.
- Changed width of term widget from 80 times max_bounds for font to
80 times the width of the character m.
- Histogram data are now back in the top label of the histogram
window (accidentally removed).
- A fileselector widget is now used when saving the contents of an
xterm window to file.
- A fileselector widget is now used when sending a colortable from
the histogram application to a file.
- Changes to X resources
- The application resource file is no longer installed in the standard
app-defaults directory by the XITE installation procedure. Instead
xshow sets the environment variable XAPPLRESDIR (and
possibly also
XUSERFILESEARCHPATH) appropriately, so that the resource file is
found in the directory $XITE_HOME/etc/app-defaults. This should not
make any difference to the typical user.
- The Control window is now also the main application shell generated
when the application is initialized.
- Changed the widgets of class Box to class Form in the Control window.
This improves the behaviour when the window is resized.
- Changed instance names of Form widgets (which used to be Box widgets)
in the Control window.
- Added some constraint resources (like XtNfromHoriz and XtNright)
because of the above change of class from Box to Form.
- Instance name of macro button changed to action1Button.
- Main menu hierarchy starts with a widget of class TopLevelShell,
popped up below the top application shell (Control window).
- Changed popup menus in the program menu hierarchy from class
MenuShell to class OverrideShell (to avoid the popup location to
depend on pointer position).
- Changed classes of menu command entry buttons and submenu buttons to
MenuCommand and SubMenuCommand respectively (in order to be able to
set common resources for all the widgets in each class).
- Changed image shell from separate ApplicationShell to a
TopLevelShell which is popped up from the Control window.
- Several Xslice resources removed because of hardcoding in source-code.
- Improved setting of width of stderr widget.
- Changed class of histogram application from ApplicationShell to
TopLevelShell which is popped up from the corresponding image widget
shell.
- Changed some hardcoded resource-settings for the histogram
application.
- Added setting of some constraint resources for the slice application.
- Changed xterm shell widget from ApplicationShell class to
TopLevelShell class which is popped up from the Control window.
- Set font of menu dialog-widget to fixed-width.
- Other changes
- If xshow is used at the end of a pipe, an argument of
- must be given to indicate that it should read from
stdin. Previously this argument was not needed.
xadd, xfft, xhistogram, xmovie, xpyramid, xregion
- The application resource file is no longer installed in the standard
app-defaults directory by the XITE installation procedure. Instead
each program sets the environment variable XAPPLRESDIR (and possibly
also XUSERFILESEARCHPATH) appropriately, so that the resource file is
found in the directory $XITE_HOME/etc/app-defaults. This should not
make any difference to the typical user.
xadd
Using file-selector widget to get filenames.
xfft, xmovie, xshow
- Additional toplevel widgets are now pop-up
widgets of class TopLevelShell, not ApplicationShell.
This means that some X resource specifications have changed.
- Fixed bug which sometimes caused crash during zooming.
xfft
- Fixed info() to report current values, not constants.
- Improved treatment of roixsize and roiysize (independent).
- Using file-selector widget to get filenames.
ximage_example
- Updated since several changes have been made to the ximage toolkit.
- Upgraded to better adhere to XITE standard.
xpyramid
Fixed bug which sometimes caused crash during zooming.
xregion
- Can now produce histogram without crashing.
- Made the "Send colortab" entry in the histogram application sensitive.
- Using file-selector widget to get filenames.
addw
Fixed bug (introduced in version 3.1) when bands were of pixeltype
unsigned-byte.
binarize
Introduced limitation on region size to minimum of xsize and ysize
of image.
color2ascii
- Should now give correct ascii result regardless of byteorder.
- Error message if input file is not BIFF colortable. Earlier versions
also processed BIFF images.
- Removed option -ind.
colorquant
- Implemented option -c (for BIFF colortable output).
- Added options -ct and -t (for colortable and image
titles).
makepseudo
- Fixed usage message.
- Temporary storage area is determined by environment variable TMPDIR.
- Updated because of changes to colorquant.
mct
- Responds with usage message if no argument is given.
- Changed to only store 8 bits from pixel-value, not 3x8 bits.
rainbow
Output pixel-values written as hexadecimal numbers.
regionAnalyse
Added "M" (i.e. mean) as possibility for option -if.
saturmod
- Can now read pixel-values in hexadecimal format.
- Lines in colormap file can start with initial # (for
comments).
ximage toolkit
- Fix to avoid segmentation fault when changing overlay color.
- Changed parameters to ximage_layout().
- Fixed bug in ximage_info().
- Fixed bug which sometimes caused crash during zooming.
- Added widget type MenuButton to the possibilities handled by
ximage_layout().
- Added manual page comments, especially on arguments to callback function
ximage_work_fun.
Image and ImageOverlay widgets
- Changes because image is now a popup child of Control widget.
- Made sure that widget is really resized fully when the window manager
requests a resize.
- Changed SetValues() in terms of how the widget instance variable
"update" is set and to give return-value depending on what instance
variables were changed.
- Moved contents of SetValuesHook() into SetValues() (the hook procedure
is obsolete since X11R4, though called by Xt for compatibility).
- Moved UPDATE_* constants from private header-file to public header-file.
- Fixed bug which sometimes caused crash during zooming.
PrintColortable
- Changed so that printed ascii colortable with hex-format pixelvalues
has leading 0x, not zeros. In this way, the program
mct will determine the correct number base.
- Fixed bug so that it now should give the same output ascii format
for pixelvalues in colortable regardless of host byteorder.
- Removed function argument "ind".
tilde_expand
Fixed bug which caused crash if filename was given as a single ~.
This version is compatible with the previous version.
biff2pnm and pnm2biff
For conversion between BIFF and pbm/pgm/ppm (from the Pbmplus or Netpbm
free software package).
kMeansCluster
Renamed from KmeansCluster.
xshow
Made sure that also the color menus available from the menu-bar will
mark current colormaps (fixed by adding translations to resource file).
xadd, xfft, xmovie, xregion
Enabled marking of current colormap and overlay colormap in Colors
and OverlayColors menus in menubar.
biff2sunraster
Removed segmentation fault and updated menu-file.
src-directory
- biff/biff.h: Added definition of NULL.
- sunraster/biff2sunraster.c: Added colormap-length parameter to
function write_sunraster.
This version is incompatible with the previous version in the following areas
- Added arguments for window name and icon name to functions
InformationBox, ConfirmationBox,
SimpleDialog and CreateDialog.
These arguments determine what appears in the window manager
title field of each window (or icon).
- Extra arguments to function Init_color(). This function
is probably not used by anyone except internally by the XITE
display programs.
New version of User's Manual. Updates to several man-pages (and online
hypertext reference manual html-pages).
xshow
- The file-browser widgets should now work also for Suns running
Solaris 2.x (SunOS 5.x).
- The colortable in use for a particular image window will now be
marked by an x next to the corresponding entry in the
Colors menu. Likewise with the overlay colortable in use for a
particular image window, it will be marked by an x next
to the corresponding entry in the OverlayColors menu.
- The above changes mean that xshow now is able to keep track
of which colortable and which overlay colortable is in use for each
particular image window when more than one window are displayed at
the same time. The behavior was rather confusing in the past.
- Not really a change, just a comment about behavior related to the
handling of colortables and overlay colortables:
All image windows still share the same list of colortables and
overlay colortables. This means that two images with overlays
can not use the same colortable and at the same time different
overlay colortables. This is because the overlay colortables are
installed as part of the ordinary colortables.
Of course, one may add an extra copy of one of the colortables
and use a different overlay colortable with this copy.
- Fixed the behavior of option -overlay. Now, each overlay given
on the command-line will get the specified overlay colortable.
- Enabled reading of overlay colortables when a command-line argument
has a leading + and the remaining argument refers to a
colortable file. This was a documented possibility already, but it
didn't work.
An overlay will get the last overlay colortable specified in front of
it on the command-line.
- The option -p for protection of the overlays has been fixed.
- Fixed the option -i <chan>. This makes it possible to
fork xshow
from inside another program and pipe images along a specified channel.
This was a documented possiblity already, but it didn't work.
- An image overlay will now not disappear when colortable or overlay
colortable is changed.
- Added a "Background" overlay colortable.
- Changed title of Overlay colortable menu, from Overlays to
OverlayColors.
- Changed names of some standard colortables.
xregion
- Removed covar push-button. It didn't do anything anyway.
- Fixed bug which could sometimes result in the error message
"broken pipe" and abortion on Silicon Graphics, when the statistics
pushbutton is used.
- Mask image command-line argument is now checked to see that it is of
type unsigned-byte.
- The option -p for protection of the overlays has been fixed.
- An image overlay will now not disappear when colortable or overlay
colortable is changed.
biffinfo
Changed behaviour so that a usage message is given if no image
is given on the command line (as filename or the special symbols
accepted by Iread_image()). This is standard XITE behaviour.
cdoc
Improvements to LaTeX, troff and html output.
statistics
- Added option -a for user-decision of output format (number of
significant digits) of integer and floating-point results.
- Added option -h for printing horizontal header above results.
- Fixed bugs which sometimes returned incorrect minimum and
maximum values.
- Minor changes to semantics for some options.
- statistics/statistics.c: Fixed bugs in statisticsMask
which sometimes returned incorrect minimum and maximum values
- Added resource XtNoverlaytab to ImageOverlay Widget, to
keep track of the overlay colortable in use.
include-directory
xite_random.h: Changed declarations under IBM AIX.
src-directory
- ximage/xmovie.c: Renamed function usleep to avoid conflict under
IBM AIX.
- xshow/Xdialog.c: Added arguments for window name and icon name to
functions InformationBox, ConfirmationBox, SimpleDialog and
CreateDialog
- xshow/Xcolor.c: Cleaned up in global variables and removed function
Get_color() because keeping track of the colortable in use must be
done by each image widget separately.
- xshow/Xcolor.c: Added functions ColorHook() and OverlayHook() to
handle marking of color menu entries to show present colortable and
overlay colortable in use for each image window.
- xshow/Xcolor.c: Fixed indexing of overlay colortables.
- xshow/Xcolor.c: Added function Color_ovl_max().
- xshow/Xfunc.c: Extra arguments to function Init_color().
- matlab/saveBiff.c: Avoided error message under IBM AIX.
This version is incompatible with the previous version in the following areas
- Function ximage_init() has an additional parameter
warn. You should probably set this equal to zero.
Setting it equal to 1 makes the function check that
the version of the X app-defaults file is synchronized with the
version of XITE.
A reference manual is available in hypertext (html) format. This is
built automatically from the man
pages when you install XITE.
The reference manual reflects the traditional man
grouping into
sections as well as the xshow menu hierarchy.
The reference manual can be read independently with an html reader or be
shown from inside xshow. See the comments on xshow below.
xshow
- Can also display images with signed byte pixels.
- Improved widget geometry negotiation when very narrow images are
displayed.
- Fixed bug which made xshow crash when zooming in on images with
very large pixelvalues (when the pixelvalues would be shown in
ascii).
- There used to be a lower limit on how small subimages one could
choose with the left mouse-button as input to a program. This limit
has now been decreased so that images consisting of more than one
pixel may now be chosen.
- The action of the help-button in the control window can now be chosen
by the user. The action is to start one of a list of chosen help
programs, such as netscape, Mosaic, lynx, man
or xman.
Choosing one of the three WWW browsers will bring up the front page
of the XITE online hypertext reference manual. See man xshow
for more information on this.
- xshow not only compiles and builds but now also runs under
Linux. Tested briefly under Linux 1.2.13 on a Pentium.
addw
Works for all pixeltypes.
cdoc
- Additional markup-codes introduced for manual-page comments.
- Can also handle html format in output-files (for hypertext reference
manual).
convolve
The convolution kernel can also be a BIFF image.
image_minmax
Works also for signed-byte images.
mean
Works for all non-complex pixel-types.
signDiff
Works for all pixeltypes.
statistics
- Works also for signed byte pixeltype.
- Avoids abortion if mask size is different from band size (by checking
for this condition).
- Changed behaviour when no image argument is given, to echo a
usage message (standard XITE behaviour).
ximage_init
This function now has an extra parameter "warn".
makexite
Fixed bug in installation script for Linux.
This version is incompatible with the previous version in the following area
Byte-ordering for images
This version does automatic byte-swapping, as explained below in the section
Architectures/platforms. BIFF images written with a previous
version of XITE may give peculiar results when reading them with
version 3.0 or higher.
This will happen if an image with pixeltype other than unsigned byte or signed
byte was written with a little-endian host. Examples of little-endian
platforms are DecStation and Intel ix86, while most other platforms are
big-endian.
The peculiar results may be an error message like "bus error" or
strange-looking images. Running the XITE program
statistics(1) on such an image
will typically give rather extreme values for Min and Max and the value NaN for
Mean and St.dev.
The solution is to explicitly perform byte-swapping on the images. This is done
with the XITE program byteswap(1). Note that this is only
necessary for multi-byte pixeltypes.
Menus
Architectures/platforms
- XITE also runs on 64-bit architectures (tested on Dec Alpha
under OSF1).
- Architectures tested include: Silicon Graphics Indy under IRIX 5,
Sun Sparc under SunOS 4, Dec Alpha under OSF1, Pentium PC under Linux,
IBM RS 6000 under AIX and DecStation 5000 under ULTRIX 4.
- Automatic byte-swapping when reading BIFF images from a file with
a foreign byte-ordering (little-endian versus big-endian).
Format converters
- Converters between XITE's file format BIFF and TIFF (Tag Image File
Format) are included. See biff2tiff(1), biff2tiff(3),
tiff2biff(1) and tiff2biff(3).
- Converters between XITE's file format BIFF and MATLAB binary files
are included. See matlab2biff(1), matlab2biff(3),
biff2matlab(1), biff2matlab(3) and the MATLAB
functions loadBiff and saveBiff.
- New program color2ascii(1).
Algorithms
- Lots of new thresholding/binarization algorithms, see
binarize(1).
- Routines and programs to extract rows, columns, cross-sections and
lines with arbitrary inclination. See profile(1), profile(3),
crossSection(1), crossSection(3) and
vectorPeak(3).
Colors and such
- All the X11 programs now handle 24-bit color displays of visual types
DirectColor and TrueColor, as well as 8-bit PseudoColor and
GrayScale.
- All the supplied colortables work for both 8-bit and 24-bit pixels.
- New program color2ascii(1).
Other changes to X user interface
- New widgets (file browsers) for selecting input/output files in
xshow(1).
- X11 resources can now be set by each individual user.
- Default X11 application resources files for the programs
xshow, xregion, xmovie, xfft, xadd, xhistogram
and xpyramid.
- All the X11 applications will behave gracefully when the window
manager tries to kill a window.
- Fixed or variable aspect ratio in xshow is now
local to each image, not a global setting. Can be controlled via
menu and xshow option -aspect.
- Each image in xshow may have a menubar attached
above it. Can be controlled via menu and xshow
option -mb.
xshow
- Menus
- Colors and such
- Added the ability to load colortables into the slice tool, from file or
from the corresponding image.
- Can handle displays with 24-bit DirectColor or TrueColor as their
default visual type, as well as 8-bit PseudoColor and GrayScale.
- Made reduced-color the default at startup for 24-bit DirectColor.
- Changed the setting of colormap for text widgets to be the default
colormap of the display. Should rather use Xmu functions which can
give colormaps for available, non-default visuals.
- Checking inclusive or of color-masks when getting the list of
available visuals. Must match what xshow expects (i.e. 0bbbbbb,
where each b denotes 4 consecutive high bits).
- Added a warning if the bits_per_rgb of the display does not match
what xshow expects.
- Denying change of overlay colors when default colormap is in use.
- Fixed a bug so that the line in the histogram widget with red
mode is no longer blue, and vice versa.
- Generates better names for the colortables menu entries referring
to the colortables used by the histogram and slice tools.
- Other changes to X user interface
- Fixed or variable aspect ratio is now local to each image,
not a global setting. Can be controlled individually via menu and
initially via the option -aspect.
- Fixed options for width and height of image window.
- Added scrollbar to feedback widget.
- Added horizontal scrollbar to textual results widget.
- Changed flag menu entry label text form 128 colors to
Reduced colors.
- Changed Histogram widget button name from Hist.spec. to
Piecewise linear.
- Made window name (as displayed by window manager) for the histogram
and slice windows dependent on the particular image name.
- Added trailing ... to submenu entries and the ability to
have menu separators.
- Miscellaneous
- Cleaned up in command-line options and usage message.
- Added warning for "Send image" (in Histogram widget) when image is
not unsigned byte.
- Fixed bug to avoid some crashes when the number of widgets is high.
- Added option -ver to echo XITE version number.
biffswap
- Added byte-swapping for complex and double complex pixel types.
- Fixed bug in byte-swapping for double pixel type.
biff2ps
Fixed gray level option and added more gray level choices.
biff2tiff and tiff2biff
- Added TIFF palette (BIFF pseudocolor) images.
- Added several extra image/pixel type conversions.
histo2ps
- Removed rotation and translation code (better done by e.g.
LaTeX or Framemaker).
- Fixed BoundingBox.
- Added option -ps to choose between EPSF and plain PS.
- Added some PostScript Document Structuring comments.
makepseudo
New name for makergb.
makergb
Changed name to makepseudo.
mct
Made possible the use of -, -0 and -1 for
file names.
pixel_mapper
Standard XITE file naming now works.
pyramid
- The ordering of the levels in the pyramid is changed.
Level one is now the original image.
- Gaussian pyramid is included and a switch for number of levels
wanted.
rainbow
Added the outfile argument.
regionAnalyse
Added option -cursor.
scale
Special treatment for rounding of negative bytes, shorts and ints.
- All the source code has been prototyped to enable type checking of
parameters as described by the ANSI standard. Traditional compilers
(K&R code) can still be used, except for building the TIFF
converters.
- XITE now also runs on 64-bit architectures (tested on Dec Alpha
under OSF1).
- Platform-specific includes are handled by special header files, to
isolate such dependencies.
- XITE has been compiled with different compilers. Some parts
(like the TIFF converters and the file browser widgets) may prefer
an ANSI compiler, like the GNU compiler gcc.
cxite, a script for compiling and linking code
which uses the XITE library and possibly X libraries.
- An improved installation procedure in general.
- Script for rebuilding XITE (makexite).
- Utiltiy scripts to get a more automatic and robust installation
procedure.
Updated by Svein Bøe.