The Biaram Programs

Biaram is a collection of 141 separate programs for doing specific image processes such as deconvolution, image rotation, colour separation, etc. Each is a pre-compiled executable for MS Windows 9x/2000/NT/XP.

User's Manual 
Click to download
 Download the second edition of the Biaram User's Manual (February 2008, 562 Kb PDF file).

Referencing
If you use any of these programs to generate results which you later publish, please reference the use of that program as follows (taking care to replace PROGRAM_NAME with the actual program name and replace ## with the actual version number):
Tadrous PJ. PROGRAM_NAME (Biaram image processing software) version ##, 2008, URL http://www.bialith.com

List of Programs

Alignlist

Version: 2.62. Linked to BiaQIm (Registration) Use alignlist together with autoreg and geomlist to automatically register (align) a list of images. Alignlist takes in a text file list of image names and calls autoreg repeatedly for each image in the list in a manner specified by you. The result is another text file which is a list of transform parameters for aligning each image in the list. Geomlist performs the actual transformations.

Areflect

Version: 1.1. Linked to BiaQIm (Instant process) Performs my variant of anti-reflective image boundary treatment. See also DeconLS, Bcontinue, Bcontmirr and Bmerge, Areflect3d.

Areflect3d

Version: 1.0. Performs my variant of anti-reflective image boundary treatment on image stacks (i.e. 3D images). See also Areflect.

Autoreg

Version: 2.62. Linked to BiaQIm (Registration) Use autoreg alone or together with alignlist (v2.62) and geomlist (v2.62) to automatically register a pair or a list of images. Autoreg takes in two images and searches for the best registration parameters. The output is either a text file containing the registration parameters (rotation, x,y translation and x,y, scaling) and / or actual transformation of the second image (to fit the first) according to these parameters. The text file may be appended to form a transform list suitable for input into geomlist. Pre-processing with Fourier filtering and convolutions are in-built as are all the image warping (transformation) routines and RGB / HSV channel separation for registration of full colour images. Registration may be performed to sub-pixel accuracy. There is a choice of matching algorithms including the entropy-based normalised mutual information method. See also Comreg, Tfmcombi.

Bcontinue

Version: 1.0. Bcontinue extends an image by continuing the grey levels at the boundaries for <dim> number of pixels in all directions. See also Areflect, Bcontmirr and Bmerge.

Bcontmirr

Version: 1.0. BcontMirr extends an image by reflecting the grey levels at the boundaries for <dim> number of pixels in all directions. See also Areflect, Bcontinue and Bmerge.

Bgcorr

Version: 2.0. Linked to BiaQIm (Enhancement) Bgcorr performs background (shading) correction on an image given the image and an image of the plain background which contains the shading or defects. It is a 1-step divisional procedure where the background image is first treated to eliminate problems with divide-by-zero. An optional Gaussian smoothing step for the background image is also part of the pre-treatment. Use Bgcorr when you only have one or two images to correct. If you want to correct many images, it is more time-efficient to use Bgprep and Divbg. See also Listbgcorr

Bgprep

Version: 2.0. Linked to BiaQIm (Enhancement) Use Bgprep in conjunction with Divbg to perform divisional background (shading) correction to a list of images. This is most conveniently done as a batch process via BiaQIm. If many images are to be corrected by one background image, the background image is prepared for divisional correction by running Bgprep on it. Bgprep eliminates any zeros and offers the option of performing a Gaussian smoothing step. The prepared background image can then be used in the program Divbg to perform the divisional correction with the input image.

Bmerge

Version: 1.1. Bmerge merges one image with another with a smooth cosine weighted transition, over a rectangular band starting at <dim1>,<dim1> and ending at <dim2>,<dim2>. See also Areflect, Bcontinue and Bcontmirr.

Bmptoc

Version: 1.0. Linked to BiaQIm (Conversions) Bmptoc converts a 24bpp BMP image into its red, green and blue components. See RgbtoBMP and Ppmtorgb.

Bmptohsv

Version: 1.0. Linked to BiaQIm (Conversions) Bmptohsv splits a 24bpp BMP image into its Hue, Saturation and Value (intensity) components. See Hsvtorgb.

BmptoPNG

Version: 1.0. This converts 8bpp or 24bpp BMP images into the PNG format with full alpha (opacity) support. Use this program on its own or via the FATCAM graphical interface to build semitransparent 3D models in VRML from serial sections. See also: FATCAM, zBMPtovrml, zslice, zgeom, zstdise, zstretch, zsubsample.

Border

Version: 1.1. Linked to BiaQIm (Geometric) Border sets an external or internal border (or an internal rectangular 'box' region) in an image to a given value. An external border extends the dimensions of the image. There are a number of variant modes of operation. See also Ewin and Enlarge.

Camber

Version: 2.0.

Camber reduces the intensity of pixels at the boundaries of an image according to a PSF and can perform the inverse operation. It may be useful as a pre-process for certain types of deconvolution. See also Convolve, Deconvolve and the Decon** series of programs.

CCDcalib

Version: 1.0. Linked to BiaQIm (Image Arithmetic) Use CCDcalib to perform photometric calibration of CCD images.

Ceilevel

Version: 1.0. Ceilevel generates a grey level scaling image of coefficients. When multiplied, pixel-by-pixel, with the input image the scaling image makes the output a constant value (= the ceiling). See also Formula.

Cepstrate

Version: 2.0. Linked to BiaQIm (PSF Estimation) Cepstrate allows you to generate an average power cepstrum of an image (typically used to estimate the PSF as part of a blind deconvolution procedure). See also Mkwin.

Circulate

Version: 1.0. Circulate takes in a 1D signal and makes it into a circularly symmetric 2D image by using this signal as the radius profile and sweeping it through 360 degrees using bilinear interpolation. See also Symmetricise.

Cmdlist

Version: 1.0 - Released: 20/08/2002 - (Download size: 69.7 Kb) - Linked to BiaQIm: No Cmdlist takes in a text file which is a list of commands and passes these, one at a time, to the system command processor for execution. It is an alternative way to do batch processing when ordinary .bat files can't cope. See also MkBatch

Colreg

Version: 1.0. Colreg performs correction for chromatic aberrations in 24bpp images by performing sub-pixel registration of the red, green and blue components. The program requires the following Biaram programs for full functionality: Autoreg, BMPtoc and RGBtoBMP (which see).

Combine

Version: 1.0. Combines two images according to some weighted basis function that may be derived from or independent of the image intensity / colour values. See also Formula, Leveljoin, Levelsplit, Zintegral and Stdise.

Comrc

Version: 1.0. comrc calculates the centre of 'mass' of an image (the 'mass' being the pixel values - of the whole image or under an optional mask). The output is the row and col position of the centre of mass which are appended to the <out_textfile>. See also Comreg.

Comreg

Version: 1.0. comreg registers two images by calculating (or reading in from a text file) the centre of 'mass' (CoM) of the index image (= image1) then calculating the CoM of the image to be registered (= image2) then outputting the x,y shifts that will make image2 have the same CoM as the index image (and optionally shifting image2 by that amount. In suitable images this gives sub-pixel shift registration MUCH faster than using autoreg. 'Suitable' images are those that contain similar features, similarly distributed and away from the boundaries of the field and in a zero-valued background. No scale differences (in size or grey levels) or rotation differences should exist. Examples include astronomical scenes where no objects run off the boundaries of the field in any of the images. See also Comrc and Autoreg.

Conved

Version: 1.1. Linked to BiaQIm (Edge Detection) Use conved to perform convolutional edge detection. There is a choice of operators: Sobel, Prewitt, Robinson, Kirsch, Laplace or inverse Laplace. See also Gened.

Convolve

Version: 2.0. Linked to BiaQIm (Filters) Convolve allows you to perform general convolution in spatial of Fourier domain with a kernel of your choosing and in 1D, 2D or 3D. See also Deconvolve, Conved and Camber.

ConvolVP

Version: 1.0. ConvolVP performs general spatially-variant PSF convolution in the spatial domain with Fourier-type boundary treatment. See also DeconVP.

Cxcoeff

Version: 1.0. Cxcoeff multiples the real and imaginary parts of a complex array (pixel-by-pixel) by coefficients supplied as two raw doubles arrays (one for real and one for imaginary). See also Cxconj & Cxformula.

Cxconj

Version: 1.0 - Released: 26/12/2004 - (Download size: 68 Kb) - Linked to BiaQIm: No Cxconj computes the complex conjugate of the input image. See also Cxcoeff & Cxformula.

Cxformula

Version: 1.0. Linked to BiaQIm (Image Arithmetic) Cxformula performs complex arithmetic between two complex arrays (of doubles). See also Formula, Cxconj, Cxcoeff, Singleop and Setpix.

Cxsep

Version: 1.0. Linked to BiaQIm (Conversions) Cxsep splits a complex array (of doubles) into its real and imaginary components. See also Cxsynth & Synthcx.

Cxsynth

Version: 1.0. Cxsynth takes two raw doubles arrays and knits them into a complex array. See also Cxsep & Synthcx.

Cxwavgen

Version: 2.0. Cxwavgen lets you create a complex array with one real and one complex value (all others zero). If back-DFTed the result is a pure 2D sinusoid. See also Cxsep, Cxsynth and Synthcx.

Cxweight

Version: 1.0. Cxweight multiplies the real and imaginary components of a complex array, pixel-by-pixel with two raw doubles arrays (one for real and one for imaginary). If the raw doubles arrays are in diffraction pattern order you should set the <cyclic?> argument to 1. See also the other programs in the ‘Cx’ series.

Cyclise

Version: 2.0. Linked to BiaQIm (Geometric) Cyclise performs image cyclisation (converts the image into the form of a cyclic matrix) in 1D, 2D or 3D. Both forward and reverse transformations are supported. See also Fourier, Convolve and the 'Cx...' series of programs.

Decimate

Version: 1.0. Decimate chops an image up into (possibly overlapping) square sub-images of dimensions <block_dim> x <block_dim>. The top left corner of the first sub-image will start at [0,0] of the input image and this start point will increment by <stepsize> columns until it cant go any further to the right, then by <stepsize> rows starting at the left again (i.e. a raster scan in <stepsize> steps).

DeconBL

Version: 1.0. DeconBL performs iterative blind image deconvolution by the Biggs-Lucy algorithm. See also DeconIB, DeconMB and DeconNR.

DeconCN

Version: 1.0. DeconCN performs image deconvolution using my variant of the Hogbom CLEAN algorithm. See also Deconvolve.

DeconIB

Version: 1.0. DeconBL performs iterative blind image deconvolution by the Ayers & Dainty algorithm. See also DeconBL, DeconMB and DeconNR.

DeconLS

Version: 2.0. Linked to BiaQIm (Deconvolution) DeconLS performs image deconvolution in 1D, 2D or 3D using either the 1-step least squares method (with adjustable gamma) or the Weiner filter (either simplified or full Weiner filtration may be performed depending on the available amount of prior information about the noise). See also Deconvolve and WeinSNR.

DeconMB

Version: 1.0. DeconBL performs iterative blind image deconvolution by a multi-frame algorithm. See also DeconBL, DeconIB and DeconNR.

DeconME

Version: 2.0. Linked to BiaQIm (Deconvolution) DeconME performs image deconvolution in 1D, 2D or 3D using the Maximum Entropy method as implemented in the MaxEnt algorithms of Jan Myrheim and Haavard Rue (New Algorithms for Maximum Entropy Image Restoration, Computer Vision, graphics and Image Processing: Graphical Models and Image Processing; 54(3):223-238, May 1992) which they released under the terms of the GNU General Public Licence. See also Deconvolve.

DeconNN

Version: 1.1. DeconNN performs 3-dimensional image restoration (sometimes considered 'deconvolution') using the Nearest-neighbours algorithm. This technique is one method used in the art of optical sectioning microscopy.

DeconNR

Version: 1.1. DeconNR performs blind deconvolution using the Non-negativity And Support constrained Recursive Inverse Filtering (NAS-RIF) method of Kundur (see IEEE Tran Signal Proc. (1998); 46(2):375-390) with the option of Ong enhancement (see IEEE Trans Image Proc (1999); 8(7):988-992). See also DeconBL, DeconIB and DeconMB.

Deconvovle

Version: 2.0. Linked to BiaQIm (Deconvolution) Deconvolve performs iterative deconvolution in 1D, 2D or 3D using a variety of algorithms (Lucy-Richardson, Landweber, maximum entropy of Gull and Daniell, Van Cittert and super-resolution). This is non-blind deconvolution. See also the Deon** series of programs and see Convolve.

DeconVP

Version: 1.0. This performs spatially variant PSF deconvolution via a spatial domain Landweber iterative method. See also ConvolVP.

Digest

Version: 1.0. This is a utility which allows you to split up large files (of any type, not necessarily related to images) into smaller chunks. This is useful if you want to spread a large file over many storage media (e.g. diskettes) or split up a large file to make it easier for people to download over the Internet. The program also provides the means to reconstitute the chunks into the original file.

Divbg

Version: 1.0. Linked to BiaQIm (Enhancement) Use Divbg in conjunction with Bgprep to perform divisional background (shading) correction to a list of images. This is most conveniently done as a batch process via BiaQIm. Divbg divides the input image with a co-efficient image derived by preparing a background image via Bgprep. See also Singleop and Formula.

Dtvfilt1d

Version: 1.0. This is a digital TV filter implemented for 1D signals. See: Dtvfilter for more details. See also Conv1d.

Dtvfilter

Version: 2.0. Linked to BiaQIm (Enhancement) Dtvfilter performs de-noising by the method of digital Total Variation filtering described in Tony F. Chan, Stanley Osher, and Jianhong Shen, IEEE Trans. Image Proc.10(2):231-241 February 2001. In Jan. 2003 this download was extended to include batch-processing enhanced versions of the program.

Enlarge

Version: 2.0. Linked to BiaQIm (Geometric) Enlarge doubles the dimensions of an image using Fourier transform interpolation. Any size or dimensions image may be used as input (i.e. not restricted to powers of 2). See also Halve, Scale and Border.

Ewin

Version: 1.0. Linked to BiaQIm (Geometric) Ewin extracts a sub-window from an image and outputs this sub-window as a separate image. See also Border.

Extend

Version: 1.1. Linked to BiaQIm (Geometric) Extend performs reflective image extension according to the algorithm of Aghdasi F & Ward RK in IEEE Transactions on Image Processing (1996); 5(4):611-618. This dramatically reduces image boundary artefacts in frequency domain image restorations / manipulations. See also Mkwin.

Exterlace

Version: 1.0. Linked to BiaQIm (Enhancement) Exterlace perform precision de-interlacing of video stills. Un-like similar 'tools' offered in certain photo re-touching packages, exterlace offers a choice of precision behaviours for quantitative analysis such as deconvolution or super-resolution reconstruction. You may extract the odd and even frames as two half-sized images, two full-sized images with alternate lines blank or two full-sized images with alternate lines interpolated to produce two properly registered frames. These may be averaged within the program to produce a single full-sized frame. Other options are also available.

Extractval

Version: 2.0. Use this to extract all pixels of a certain value from an image into another image. See also Levelsplit and Formula.

Formula

Version: 1.2. Linked to BiaQIm (Image Arithmetic) Formula performs arithmetic between two images. Each image is first pre-multiplied by user specified coefficients (which may be set to 1.0 for no effect). Operations available are the usual addition, subtraction, multiplication and division as well as some others: power (image1 raised to the power of image2), root (the image2th root of image1) and atan2 (arctangent of the ratio of the two images). See also Cxformula, Singleop, Combine, Extractval, Ceilevel and Setpix.

Fourier

Version: 2.0. Linked to BiaQIm (Transforms) Fourier performs a general Fourier transform on images of any dimensions (not just powers of 2) and in 1D, 2D or 3D. See also Mkwin, Symmetricise.

Genav

Version: 1.1. Linked to BiaQIm (Enhancement) Genav is a general image list averaging program. It outputs one image from a list of many images. The output image is the average of all the inputs. This program has a number of options such as whether to produce a mean or median average and whether to use single pixels or neighbourhood weighted values. It also can output a variance image which may be used e.g. as input to maximum entropy deconvolution with pixel-depended noise variance estimation. See also Groupav.

Gened

Version: 1.1. Linked to BiaQIm (Edge Detection) Gened is a general implementation of my powerful edge detector. See: Tadrous PJ, 'A Simple and Sensitive Method for Directional Edge Detection in Noisy Images', Pattern Recognition 1995; 28(10):1575-1586. See also Conved.

Geomlist

Version: 2.62. Linked to BiaQIm (Registration) Use geomlist together with autoreg and alignlist to automatically register (align) a list of images. Alignlist takes in a text file list of image names and calls autoreg repeatedly for each image in the list in a manner specified by you. The result is another text file which is a list of transform parameters for aligning each image in the list. Geomlist performs the actual transformations according to this list of transform parameters. See also Geomrts, Tfmcombi.

Geomrts

Version: 1.2. Use Geomrts to perform a rotation, translation and scaling (RTS) transform to a single image. You can use it to apply RTS transform information output by Autoreg to an image which was not originally used in the registration process (useful if you want to align two stacks of images to each other where the images within in each stack are already registered). See also Autoreg and Geomlist.

Groupav

Version: 1.0. Use Groupav to perform multi-image mean averaging in groups. The input is a list of images and the idea is to average N images at a time from the input list where N is the group size. The first N images in the input list contribute to the first averaged output image, the next N to the second, etc. See also Genav.

Halve

Version: 1.1. Linked to BiaQIm (Geometric) Halve halves the size of an image by 2x2 pixel binning (averaging). See also Enlarge and Scale.

Hequalise

Version: 1.0. Linked to BiaQIm (Enhancement) Use Hequalise to perform histogram equalisation (HE) by either the usual Full Frame method (FFHE), the powerful Local Area method (LAHE) or the even more powerful Adaptive Neighbourhood method (ANHE). See Paranjape RB, Morrow WM and Rangayyan RM. "Adaptive-Neighbourhood Histogram Equalization for Image Enhancement", CVGIP: Graphical Models and Image Processing (1992); 54(3):259-267.

Hsvtorgb

Version: 1.0. Linked to BiaQIm (Conversions) Hsvtorgb takes in a triplet set of images (hue, saturation and value) and converts them into either one 24bpp BMP image or three 8bpp images (red, green and blue components). See Bmptohsv.

Impulse

Version: 1.0 - Released: 29/12/2005 - (Download size: 286Kb) - Linked to BiaQIm: No Use this to modify a single pixel in an image. See also Setpix, Mkplain, Mkrect, Mkdisc and Mkdotgrid.

Integral

Version: 1.0 - Released: 27/12/2004 - (Download size: 70 Kb) - Linked to BiaQIm: No Use this to get an integral value for all pixels in an image (also gives the mean, variance and SD). See also Stats.

Invert

Version: 1.0. Linked to BiaQIm (Binary) Although linked to the Binary process menu of BiaQIm, Invert can be used as a stand-alone program to invert (the pixel values of) images of other data types including raw floating point and double precision arrays, FITS files 8bpp grey level and 24bpp BMP files. See also Singleop and Formula.

Jhist

Version: 1.0. Jhist takes in two images and generates a joint histogram as well as entropic measurements including the normalised mutual information Y. See Studholm C. et al. in Pattern Recognition 32(1999):71-86.

Kime

Version: 1.0. Kime performs minimal error thresholding of an image according to the algorithm of J. Kittler & J. Illingworth (Pattern Recognition 19(1):41-47 1986). The image histogram is scanned from a lower_p_tile to an upper_p_tile specified by the user. Colour images are also supported. See also Extractval.

Labav

Version: 1.0. Linked to BiaQIm (Enhancement) Labav performs statistics on pixels within defined regions of a single image. The regions are defined by a labelled mask. A further exclusion mask can be used to define a homogenous background field. Statistics available are mean, median, SD, variance and interquartile range (IQR). The histogram bin size for the calculations is user-definable. Labav can be useful for quantitative analysis of very noisy images and is superior to the main alternative method (binning) in that spatial information content can be utilised fully. See also Stats.

Leveljoin

Version: 1.0. Leveljoin combines two images according to: image1 += (level - image2) at each pixel. See also Levelsplit, Combine and Zintegral.

Levelsplit

Version: 1.0. Levesplit separates an image into two images - one containing all pixels above a certain intensity and the other all those below it. The second image is then grey-level inverted. See also Leveljoin and Formula.

Listbgcorr

Version: 1.0. This provides for an efficient method of background shading correction of a list of many images. It requires Bgcorr for full functionality. See also Bgcorr.

Listceiling

Version: 1.0. Use this to perform a ceiling operation on a list of files. See also Ceiling.

Listphotobleach

Version: 1.0. This requires the program 'photobleach' to work. It is the list version of photobleach (q.v.) and should be used when you have measurements to make on a whole stack of images rather than just one or two.

Listremove

Version: 1.0. This allows you to delete a whole list of images (or any files) from your hard disc at once - there is no 'undo' facility.

Listwdenoise

Version: 1.0. Linked to BiaQIm (Enhance) This is the list version of Wdenoise (q.v.) and requires Wdenoise to be installed in order to work. Listwdenoise is also required by BiaQIm for full functionality of the Enhance menu options. An alternative version with some enhancements for batch processing was added to the distribution in Jan 2003.

Mkball

Version: 1.0. Mkball generates a 3D ball which may be used (e.g.) as a PSF or synthetic object for 3D (de)convolution. See also Mksphere.

Mkbatch

Version: 1.0. Mkbatch allows you to create a batch file (to run under MSDOS) for the purposes of batch processing of images. See also Cmdlist.

Mkbessel

Version: 1.0. Linked to BiaQIm (PSF Estimation) Mkbessel generates a 2D discretised Bessel function of the first order, first kind. It may be used for convolution / deconvolution experiments. See also Mkgauss, Mkdisc, Mksinc.

Mkdisc

Version: 1.0. Linked to BiaQIm (PSF Estimation) Mkdisc generates a discretised disc function which may be used for de-convolution experiments. See also Impulse. See also Mkgauss, Mkrect, Mkbessel.

Mkdotgrid

Version: 1.0. Generates a grid of pixel dots. See also Mklinegrid and Impulse.

Mkgauss

Version: 1.1. Linked to BiaQIm (PSF Estimation) Mkgauss generates a 2D discretised Gaussian approximation function which may be used for de-convolution experiments. See also Mkdisc, Mkbessel, Mkgeom.

Mkgeom

Version: 1.0. Mkgeom generates a 2D discretised function where the pixel values change in a geometrical progression from the centre. It may be used to generate test PSFs. See also Mkdisc, Mkbessel, Mkgauss.

Mklinegrid

Version: 1.0. Generates a grid of pixel lines. See also Mkdotgrid.

Mklsif

Version: 2.0. Generates a complex inverse filter based on the least squares algorithm. See also DeconLS and DeconNR.

Mkplain

Version: 1.0. Generates a plain images where all pixels are of the same (user-defined) value. See also Impulse.

Mkrect

Version: 1.0. Generates a rectangular object. See also Impulse, Mkdisc, Mkgeom.

Mkring

Version: 1.0. Generates an image of a ring of variable diameter and thickness. See also Mkdisc, Mksphere.

Mksinc

Version: 1.0. Linked to BiaQIm (PSF Estimation) Mksinc generates both 1D and 2D discretised sinc functions which may be used for deconvolution experiments. See also Mkbessel, Mkgauss, Mkdisc.

Mksphere

Version: 1.0. Generates a 3D hollow shell of variable radius and thickness. See also Mkball, Mkring.

Mkwin

Version: 1.1. Linked to BiaQIm (Instant process) Mkwin generates 2D data windowing functions: Hann, Bartlett and Welch. These are raw arrays of doubles which can be used to pre-multiply images (using the Biaram program formula) before performing Fourier transforms or deconvolution to lessen boundary artefacts. Can be especially useful when calculating power spectra or cepstra. See also Fourier, Formula, Cepstrate and Extend.

Mlogic

Version: 1.0. Linked to BiaQIm (Binary) Mlogic takes in two 8bpp BMP files whose pixel values are either 0 or 255. It then combines them by means of binary operators.

Montage

Version: 1.0. Montage reads in a sequence of images whose names are listed in a text file. It then stitches them together into a horizontal strip single composite image with <gap> pixels between each image and the gap pixels being of colour <val> <valG> <valB>.

Normalise

Version: 1.0. Normalises an image so that its integral value equals 1.0.

Photobleach

Version: 1.1. Use Photobleach to quantify the amount of photobleaching that has occurred in a fluorescence system by comparing a before and after image. See also Listphotobleach.

Ppmtorgb

Version: 2.0. Linked to BiaQIm (Conversions) Ppmtorgb splits a P6 24bpp PPM image into three 8bpp images (red, green and blue components). Version 2.0 can also handle 48bpp PPM images (this feature is not linked to BiaQIm). See also Bmptoc and RgbtoBMP.

PSNR

Version: 1.0. PSNR measures the Peak Signal to Noise Ratio and the root mean square error of an image (given a reference image). It also outputs a difference image. See also Stats.

Ptilehgm

Version: 1.0. This calculates and outputs the pixel value of an image corresponding to the desired percentile and also generates a histogram to a user-specified number of bins. See also Stats.

Qrmsep

Version: 1.0. Linked to BiaQIm (Binary) QRMsep extracts either or both of the two masks contained in a qrm file or the labelled imaged contained therein. A qrm file is a custom BiaQIm-related file format (qrm stands for QI Rich Mask) which can be generated by BiaQIm to store not only the masks and labelled image but also the distance transform, boundary data and measurement information on objects. The current version of qrmsep only addresses the masks or labelled image and not the other information.

Rankfilt

Version: 1.0. Linked to BiaQIm (Filter) A rank filter is a general form of the more familiar median filter. In a median filter the rank is 50.0%. This general rank filter allows any percentile rank to be used. This can effect a grey-level (or colour) erosion or dilation. You can also have arbitrarily-shaped local windows to allow custom rank filters (e.g. a line- or corner-preserving median filter)

RgbtoBMP

Version: 1.1. Linked to BiaQIm (Conversions) RgbtoBMP recombines three 8bpp images (representing the red, green and blue components) into one 24bpp BMP image. See Bmptoc.

Rotate

Version: 1.2. Linked to BiaQIm (Geometric) Rotate rotates an image. Fractional (non-integer) and negative angles are supported and the centre of rotation may be arbitrarily chosen or central. Angles may be interpreted in degrees or radians. Bilinear interpolation is used. See also Trishear, Sincshear, Rotate180, Rotate90.

Rotate180

Version: 1.0. Linked to BiaQIm (Geometric) Rotates an image through 180 degrees. See also Rotate.

Rotate90

Version: 1.0. Linked to BiaQIm (Geometric) Rotates an image through 90 degrees in clockwise or anticlockwise direction. See also Rotate.

Scale

Version: 1.2. Linked to BiaQIm (Geometric) Scale performs independent x,y scaling of an image including the option of using fractional and negative scales (a scale of -1.0 is equivalent to a 'flip' operation. The flip algorithm is improved in v1.1). Cubic interpolation is used. See also Halve and Enlarge.

Setpix

Version: 1.1. Linked to BiaQIm (Image Arithmetic) Setpix allows you to set a specific pixel's value to a value of your choice. An optional mask may be specified in which case all pixels under the mask will be set rather that a single pixel. See also Impulse.

Setpixlist

Version: 1.0. setpixlist sets the value of pixel [row,col] in an image using a list of images as input and a text file containing a list of row,col values - one pair for each image in the list. The text file contains the row number followed by a tab or space then the col number followed by a newline.

Shift3d

Version: 1.0. Shift3d takes in a 3D image (as a stack of 2D images listed in an ASCII list file) and shifts the volume in x, y and z by trilinear interpolation. The input data type may be any of the standard types. The <cyclic> argument must be 1 or 0.

Shiftim

Version: 1.2. Linked to BiaQIm (Geometric) Shiftim performs independent x,y, translation of an image to sub-pixel accuracy using linear interpolation. See also Sincshift.

Sincshear

Version: 1.1. Linked to BiaQIm (Geometric) Sincshear performs independent x,y shear warpings using sinc interpolation, Upto three shears can be performed at once such that tri-shear rotation can be carried out. A special option is included which lets you use Sincshear as a one-step rotation program - you supply the rotation angle and the shears are automatically calculated to achieve this rotation. See also Trishear and Rotate.

Sincshift

Version: 1.1. Linked to BiaQIm (Geometric) Sincshift performs independent x,y translation to sub-pixel accuracy using sinc interpolation. See also Shiftim.

Singleop

Version: 1.3. Linked to BiaQIm (Image Arithmetic) Singleop allows a range of mathematical operations to be performed on a single image. These include addition, multiplication, subtraction and division by a constant, exponential, logarithmic and power operations (e.g. raising the image to a constant power or raising a constant number to the power of the image), finding a difference map (from the mean), clipping, linear transforms, integration, averaging and other statistical operations and forward and inverse trigonometric transforms. See also Setpix, Invert, Divbg, Formula and Cxformula.

Sortlist

Version: 1.0. Sortlist reads in a list of images and outputs them in order of the value of some measure of the images properties e.g. in descending order of entropy (the image with the most entropy at the top of the list). Entropy is the only measure implemented in v1.0, other measures to follow in later versions.

Stats

Version: 1.2. Stats takes in an image and produces two tsv files. One containing an image histogram and the other a series of image statistics: range, mean, min, max, inter-quartile-range, median, 25th and 75th percentile, SD, variance and sample size. Like many other Biaram programs this one can also be restricted to specific regions of the image if a concurrent mask file is supplied. Version 1.1 has an important bug fixed that affected percentile calculations. See also Zstats, Integral, Ptilehgm, Jhist and Labav.

Stdise

Version: 1.0. This is analogous to Zstdise (q.v.) but is designed for just 2 images. See also Formula and Combine.

Subshift

Version: 1.2. Linked to BiaQIm (Geometric) Subshift performs independent x,y, translation to sub-pixel accuracy using cubic interpolation. See also Shiftim and Sincshift.

Symmetricise

Version: 1.0. Linked to BiaQIm (Instant process) Symmetricise makes an image symmetric by replacing values about the midline with the average or repeats of themselves. All the standard input data types are accepted with the exception of true colour BMP. There are two intended uses for this program. One is to symmetricise a recorded PSF which is supposed to be symmetric but is corrupted by noise. The other is in the generation of a Fourier mask for manual Fourier editing. See also Circulate and Fourier.

Synthcx

Version: 2.0. Linked to BiaQIm (Conversions) Synthcx synthesizes a single complex array (of doubles) from two input arrays (real and imaginary components). The component inputs may be raw arrays of doubles or (unlike Cxsynth) ASCII lists. See also Cxsep and Cxsynth.

Tfmcombi

Version: 1.0. TfmCombi combines the geometric transform parameters in two transform lists into one transform list. Each transform list (such as that generated by Autoreg) is an ASCII list of numbers, the numbers on each line specify - in this order - the rotation (degrees), y-translation, x-translation (pixels), x-scale and y-scale (as proportions) for the image. The first of the two lists to be combined must have no scaling (i.e. both x-scale and y-scale must be 1.0) in this version. The resulting combine transform list can be used to transform a set of images with just one rotation, translation and scaling operation to give the same effect as if the image was transformed by the RTS of the first transform list followed by the RTS of the second. This is useful if you perform registration in two stages to refine & simplify the registration process. See also Autoreg, Geomlist.

Timecmd

Version: 1.2. Use Timecmd to see how long a command line task takes (including any of the image processes listed here).

Trishear

Version: 1.4. Linked to BiaQIm (Geometric) Trishear performs independent x,y shear warpings using cubic interpolation, Upto three shears can be performed at once such that tri-shear rotation can be carried out. A special option is included which lets you use Sincshear as a one-step rotation program - you supply the rotation angle and the shears are automatically calculated to achieve this rotation. See also Sincshear and Rotate

Txtod

Version: 1.0. Use Txtod to convert an ASCII file of numbers into a raw doubles array. See also Synthcx, Xtotxt and Xtox.

Txtract

Version: 1.1. Use Txtract to extract columns or lines from an ASCII file of numbers. See also Xtotxt and Txtod.

Watrous

Version: 1.0. Linked to BiaQIm (Transforms) This program performs a forward wavelet transform via the 'a trous' algorithm described in Pantin E and Starck JL. Deconvolution of astronomical images using the multiscale maximum entropy method. Astron. Astrophys. Suppl. Ser.118:575-585 (1996). See also Zintegral (performs the back-transform).

Wdenoise

Version: 1.1. Linked to BiaQIm (Enhancement) Wdenoise performs wavelet-based de-noising / de-speckling according to a novel algorithm.

WeinSNR

Version: 1.0. WeinSNR generates a SNR file suitable for use with the true Weiner option of DeconLS or the input SNR files for DeconIB and DeconMB. It uses two input images: ones is a model image of the noiseless solution and the other is an image of the nose. As explained in the comments in DeconLS, the output is actually an NSR file rather than a SNR file because I use it in a reciprocal manner in DeconLS. So, if you actually want it to be the SNR, then set the optional [no_reciprocal] flag to 1. See also DeconLS.

Wmerge

Version: 1.0. Wmerge performs gradual merging of an image into a background value <bval> according to a proportion (weight) that varies across the image as defined by a separate input file <weights> which must be a raw array of doubles of same dimensions as the input image where each pixel of the weights is a number between 0.0 and 1.0. When that number is 1.0 the result will be 100% of the input image. When that weight number is 0.0 the result will be 100% <bgval>.

Xscale

Version: 1.0. xscale magnifies / reduces each horizontal line in an image whilst keeping each line central relative to each other. The scaling is done according to the values present in a text file that contains a scale factor on each (in ASCII) each line of the text file - one for each horizontal line of the input image starting at the top line and left column.

Xtotxt

Version: 1.1. Xtotxt converts any of the Biaram / BiaQIm standard data types into an ASCII text file in TSV format. See also Txtract and Txtod.

Xtox

Version: 1.1. Linked to BiaQIm (Conversions) Xtox converts any of the Biaram / BiaQIm standard data types into any other excluding colour conversions and real <-> complex conversions. The two exceptions are covered by separate Biaram programs. See also Txtod and Xtotxt.

Zarbislice

Version: 1.0. This program allows you to take a slice through a 3D stack of images at any angular orientation and offset. See also zarbiwarp, zslice and zgeom.

Zarbiwarp

Version: 1.1. This program allows you to take a 3D stack of images and arbitrarily warp it in XZ or YZ. See also zarbislice, zslice and zgeom.

ZBMPtovrml

Version: 1.0. This program allows you to make semi-transparent 3D VRML models from serial image sections. It requires the program BmptoPNG (q.v.) in order to be fully functional. ZBMPtovrml is required by the FATCAM windows program. See also FATCAM, BMPtoPNG, zslice, zgeom, zstdise, zstretch, zsubsample.

Zgeom

Version: 1.7. Zgeom takes as input a list of images and transforms (rotation, scale, shear or curvature warp) the stack in the x-z and y-z planes. This can be used to manually register one 3-d stack of images to another 3-d stack. Although not linked to the current version of BiaQIm, you may use BiaQIm to visualise the 3-d image stacks transformed by Zgeom. Zgeom is linked to the FATCAM graphical interface. See also: FATCAM, BMPtoPNG, zBMPtovrml, zslice, zstdise, zstretch, zsubsample and zarbislice.

Zintegral

Version: 2.0. Linked to BiaQIm (Transforms) This program takes a stack of images and integrates them into one image. It can be used as an inverse wavelet transform for the output of the Watrous program. See also: Watrous, Genav and Integral.

Zslice

Version: 1.0. Use Zslice to take an XZ or YZ slice through a stack of images or to slice the whole stack in the XZ or YZ planes. This program is linked to the FATCAM graphical interface. See also: FATCAM, BMPtoPNG, zBMPtovrml, zgeom, zstdise, zstretch, zsubsample and zarbislice.

Zstats

Version: 1.0. Use Zstats to calculate statistics of pixels in a stack of images. You select a single pixel position or arbitrary region via a mask and all the pixels in the images of the stack under this mask are grouped into one sample and stats calculated. See also Stats.

Zstdise

Version: 1.0. Use this program to make all images in a stack conform in some way to an index image. For example you could make all the images have the same mean and SD grey level for evening out intensity and contrast fluctuations from image to image in the stack. This is useful when preparing images of serial sections for 3D reconstruction. This program is linked to the FATCAM graphical interface. See also: FATCAM, BMPtoPNG, zBMPtovrml, zslice, zgeom, zstretch, zsubsample.

Zstretch

Version: 1.0. Stretch the contrast of a whole stack of images. This program is linked to the FATCAM graphical interface. See also: FATCAM, BMPtoPNG, zBMPtovrml, zslice, zgeom, zstdise, zsubsample.

Zsubsample

Version: 1.0. Lets say you have an OCT data set of 30 depth slices through a piece of tissue. You then process the tissue and serially section it to compare to the OCT data. However your tissue sections are 5micron thick whereas the OCT sections are 20micron thick. This means you have 120 serial sections of the histologically processed tissue which correspond to your 30 OCT sections (over the same depth range). Use Zsubsample to reduce your 120 sections to 30 so that the depth (Z) resolution and structures are more comparable between the OCT and histology data sets. This program is linked to the FATCAM graphical interface. See also: FATCAM, BMPtoPNG, zBMPtovrml, zslice, zgeom, zstdise, zstretch.

 house2.png BiAlith Home Index Page

 Copyright Dr P. J. Tadrous 2000-2008