Woolz Image Processing
Version 1.7.5

▼ export  
▼ data0  
▼ bill  
▼ MouseAtlas  
▼ Build  
▼ src  
▼ Woolz  
► binWlz  
Wlz3DWarpMQ.c  Automatically produce a tetrahedron mesh from a woolz object 
WlzAffineTransformDiff.c  Compares two given affine transforms 
WlzAffineTransformLSq.c  Computes an affine transform from a list of vertices and vertex displacements 
WlzAffineTransformObj.c  General affine transform toolkit 
WlzAffineTransformVertices.c  Affine transforms vertices 
WlzArea.c  Calculates the area of 2D domain objects 
WlzAutoCorrelate.c  Computes the autocorrelation of the given object 
WlzAutoTrackUpDown.c  
WlzBasisFnTransformObj.c  Computes and applies Woolz basis function transforms 
WlzBasisFnTransformVertices.c  Applies a basis function to vertices 
WlzBlobsToMarkers.c  Creates a new domain object with a marker at the location of each separate part of the given domain object 
WlzBoundaryToObj.c  Converts boundary lists to domain objects 
WlzBoundaryVertices.c  Extracts boundary vertex positions from an object 
WlzBoundingBox.c  Calculates the bounding box of an object 
WlzBuildContour.c  Builds a contour from input simplices 
WlzCannyDeriche.c  Implements a Canny/Deriche edge detection filter 
WlzCentralityObj.c  Computes the centrality of a feature object's domain with respect to a reference object's domain 
WlzCentreOfMass.c  Calculates the mass and centre of mass of domain objects 
WlzChangeEMAPProperty.c  Changes the EMAP property of a woolz object 
WlzClassifyRCC.c  Classifies an ordered pair of domain objects using a region connected calculus 
WlzClipObjToBox.c  Clips the given object so that it lies within the given box 
WlzClosestVertices.c  Finds the closest vertices in an object to those in a list 
WlzCMeshCurvToImage.c  Creates a 2D domain object (image) in which the values are the curvature of the 2D5 CMesh. The given CMesh must have displacements that will flatten the mesh already computed 
WlzCMeshDeleteUnusedNodes.c  Deletes unused nodes, ie those with no edge use from the given mesh 
WlzCMeshDispToField.c  Creates a displacement field object from the given conforming mesh object. object 
WlzCMeshDistance.c  Constructs a 2D or 3D domain object the values of which are the minimum distance from the seeds in a conforming mesh 
WlzCMeshExtrapolate.c  Extrapolate values within a conforming mesh 
WlzCMeshFromContour.c  Constructs a conforming simplical mesh from a contour with a geometric model 
WlzCMeshGen.c  Constructs a 2D or 3D conforming simplical mesh from a domain object 
WlzCMeshIntersectDom.c  Creates a 2D domain object (image) in which the values are the curvature of the 2D5 CMesh. The given CMesh must have displacements that will flatten the mesh already computed 
WlzCMeshSetDispFromField.c  Creates a conforming mesh object with indexed values set using the given displacement field object 
WlzCMeshSurfaceMap.c  Computes a conforming mesh transform which maps a surface in 3D to a plane 
WlzCMeshToContour.c  Creates a contour from a conforming mesh 
WlzCMeshToSpatialDomain.c  Constructs a 2D or 3D spatial domain without any values, but which corresponds to the given conforming mesh 
WlzCMeshTransformInvert.c  Inverts a constrained mesh transform 
WlzCMeshTransformObj.c  Transforms an object using a constrained mesh transform 
WlzCMeshTransformVtx.c  Transforms vertices using a constrained mesh transform 
WlzCMeshTrExpansion.c  Creates a conforming mesh with a a normalised expansion scalar attached to each element from the given conforming mesh transform 
WlzCMeshTrStrainTensor.c  Creates a conforming mesh with a strain tensor attached to each element from the given conforming mesh transform 
WlzCMeshValueTransfer.c  Transfers the values of one CMesh object to another within the intersection of their (mesh) domains 
WlzCompDispIncGrey.c  Computes a displacement field as a compound array object from two given objects. The displacements are between pixels/voxels with the same grey value 
WlzCompound.c  Generates a Woolz compound object from objects 
WlzCompoundArrayToScalar.c  Reduces a compound array to a scalar valued object 
WlzCompThresh.c  Computes a threshold value from a Woolz histogram object 
WlzConComThreholdObj.c  Connected component thresholding.WlzConComThreholdObj 
WlzConstruct3D.c  Constructs a 3D domain object from 2D domain objects 
WlzContourCut.c  Creates a new contour from the two given contours in which no simplices of the given model contour which intersect the given knife contour are included 
WlzContourFlipOrient.c  Flips orientation of edges and faces in contour models 
WlzContourFromPoints.c  Computes a contour object from point sets 
WlzContourGeomFilter.c  Filters a contour model 
WlzContourObj.c  Computes edge and surface based contour models from domain objects 
WlzContourSpxStats.c  Calculates simplex statistics for contour models 
WlzContourSzSelect.c  Filter to remove small shells from contours 
WlzConvertPix.c  Converts the pixel type of a greylevel woolz object 
WlzConvexHull.c  Computes convex hulls 
WlzConvexPoly.c  Computes the convex polygon (hull) enclosing a domain 
WlzCopyObj.c  Reads an object and writes it out again. Useful for moving to a new file format 
WlzCopyToTiledObj.c  Sets values in a tiled object using the values from another object 
WlzCreateSpecialSE.c  Creates a "special" structuring element object 
WlzCrossCorValue.c  Computes the cross correlation value of two objects 
WlzCutObjToBox.c  Cuts out a filled box from the given object 
WlzDefGrdTensorFeatures.c  Functions to extract features from deformation gradient tensor fields 
WlzDiffDomain.c  Computes the difference between two domains 
WlzDilation.c  Dilates a domain 
WlzDistanceMetric.c  Computes distance metrics between contour objects 
WlzDistanceTransform.c  Computes distance transform objects 
WlzDitherPoints.c  Creates a domain with a marker located at the position of each point vertex using a points object 
WlzDomain.c  Extracts the domain of an object 
WlzDomainFill.c  Fills the domain of a woolz object 
WlzErosion.c  Morphological erosion of a woolz domain object 
WlzExplode.c  Explodes objects into component objects 
WlzFacts.c  Gives information about Woolz objects 
WlzFile.c  Identifies the type of object in a file 
WlzFilterNObjsValues.c  Filters the values of multiple domain objects to construct a new domainn object in which each value is formed by filtering the values of all input objects at the same position as the values of the resulting object 
WlzFitPlane.c  Computes a best fit plane to given vertices 
WlzFourierTransform.c  Computes the Fourier transform (or the inverse transform) of an object 
WlzGauss.c  Applies a Gaussian filter to an objects grey values 
WlzGaussNoise.c  Adds Gaussian noise to the grey values of an object 
WlzGeometryTrackUpAndDown.c  Interpolates tiepoint bibfiles 
WlzGetSubSectionFromObj.c  Cuts a section from an object with the domain of a given object 
WlzGreyCrossing.c  Detects grey value crossings 
WlzGreyGradient.c  Computes a grey gradient object from the input object 
WlzGreyInvert.c  Inverts the greyrange of a greylevel object 
WlzGreyMask.c  Sets all object values within a mask domain to a mask value 
WlzGreyNormalise.c  Normalise the greyrange of a greylevel object 
WlzGreyRange.c  Outputs the greyrange of a greylevel object 
WlzGreySetIncValues.c  Sets incrementing (and hence unique) values in scan order throughout a domain object 
WlzGreySetRange.c  Sets the greyrange of a greylevel woolz object 
WlzGreySetValue.c  Sets the grey values of the object to a specified value 
WlzGreyStats.c  Calculates simple statistics for a domain object's grey values 
WlzGreyTemplate.c  Applies a template to an object's values 
WlzGreyTransfer.c  Copies grey values from a source object to a destination object within the intersection of the object's domains 
WlzGreyValue.c  Gets a single grey value in an object 
WlzGreyValueMixing.c  
WlzGreyVarianceObj.c  Variance filters domain objects with values 
WlzHasIntersect.c  Tests whether a pair of objects intersect 
WlzHistogramData.c  Reads a histogram object and writes it as ascii data 
WlzHistogramEqualiseObj.c  Histogram equalises a Woolz domain object 
WlzHistogramFindPeaks.c  Finds histogram peak positions 
WlzHistogramFitPeaks.c  Fits a series of Gaussian distributions to a histogram 
WlzHistogramGauss.c  Convolves the bin values of a histogram object with a Gaussian's 0th, 1st or nd derivative 
WlzHistogramMatchObj.c  Histogram matches a domain object 
WlzHistogramObj.c  Computes a histogram from a 2D or 3D domain object 
WlzHistogramRebin.c  Rebins a histogram 
WlzHistogramSmooth.c  Lowpass filters a histogram object 
WlzImageArithmetic.c  Binary image arithmetic on a pair of domain objects 
WlzIndexObjFromCompound.c  Creates an grey value index object from the given compound array object 
WlzIndexObjToCompound.c  Creates an grey value index object from the given compound array object 
WlzInsideDomain.c  Determines whether a vertex is within an object's domain 
WlzInteriority.c  Computes interiority scores for object domains 
WlzIntersect.c  Computes the intersection of the input objects 
WlzIntRescaleObj.c  Rescales an object using an integer scale factor 
WlzIsEmpty.c  Determines whether objects are empty 
WlzLabel.c  Labels (segments) the input objects 
WlzLaplacian.c  Applies a Laplacian edge enhancement filter 
WlzLUTGreyTransformFromTxt.c  Creates a grey LUT transform from text input to form a grey LUT transform object 
WlzLUTGreyTransformMerge.c  Merges integer look up table grey transforms to form a RGB \(\alpha\) grey transform 
WlzLUTGreyTransformObj.c  Applies an look up table grey transform 
WlzMakeEmpty.c  Makes an empty woolz object 
WlzMakeRect.c  Makes a rectangular or cuboid domain 
WlzMarkerLatticeFromDomain.c  Covers a spatial domain with a lattice of markers 
WlzMarkersToDomain.c  Creates a domain with a marker located at the position of each vertex read from a file 
WlzMatchICPObj.c  Object matching using ICP based registration to find corresponding points 
WlzMeshTransformObj.c  Applies a mesh transform to an object 
WlzMinWidthRectAngle.c  Computes the angle of the minimum width rectangle which encloses the given 2D object 
WlzNearbyDomain.c  Computes a domain which is newarby some some location in a reference domain. "" 
WlzNObjsGreyStats.c  Computes basic grey value statistics across multiple objects 
WlzObjToBoundary.c  Converts a domain object to a boundary to a boundary list 
WlzOffsetDistance.c  Computes an equidistant object between a pair of doimain objects. "" 
WlzPerturbLandmarks.c  Perturbs a set of landmark vertices using a random displacement, while constraining the landmarks to lie within a given domain 
WlzPointsFromDomain.c  Outputs a point object given a 2 or 3D spatial domain. "" 
WlzPointsToMarkers.c  Creates a domain with a marker located at the position of each point vertex using a points object 
WlzPointsToText.c  Writes out a Woolz points object as text 
WlzPolarSample.c  Polar resampling of domain objects 
WlzPolygonToObj.c  Converts a polygon object to a domain object 
WlzPrinicipalAngle.c  Calculates the mass, centre of mass and principal angle of domain objects 
WlzRandomAffineTransform.c  Creates an affine transform with random transfrom primatives 
WlzRankObj.c  Rank filters domain objects with values 
WlzRasterObj.c  Rasterizes geometric objects into domain objects 
WlzRBFContourObj.c  Uses radial basis function to approximate a contour from point clouds 
WlzRegisterCCor.c  Registers a pair of 2D domain objects with grey values using frequency domain crosscorrelation 
WlzRegisterICP.c  Registers two objects using an iterative closest point algorithm 
WlzRegisterICPWSD.c  Computes a 3D grey valued object in which the values are the weighted sums of distances as used for ICP registration 
WlzRGBAConvert.c  Colour conversion for an RGBA colour object 
WlzRGBChannelRatio.c  Computes log ratio of RGB channels in a RGBA object 
WlzRGBCombine.c  Combines upto three domain objects with values to make a single RGBA domain object in which the input objects are used for the RGB components 
WlzRmDirBleed.c  Removes directional bleed from a Woolz image object. "" 
WlzRMSDiff.c  Computes the RMS difference between the grey values of objects 
WlzRsvFilterObj.c  Recursive filter for domain objects with grey values 
WlzSampleObj.c  Efficient subsampling of domain objects 
WlzScalarBinaryOp.c  Apply a scalar operation to a woolz object 
WlzScalarDivide.c  Divides the pixel values of a greylevel object by a scalar value 
WlzScalarFeatures.c  Extracts scalar features from Woolz domain objects 
WlzScalarFnObj.c  
WlzScalarScale.c  Creates an object with a tiled value table from an object with a valid spatial domain 
WlzSelect1InN.c  Selects planes 1 in n from a 3D object 
WlzSepFilterObj.c  Seperable spatial convolution kernel base filters for 2 and 3D objects 
WlzSetBackground.c  Sets the background value of a domain object with grey values 
WlzSetVoxelSize.c  Sets the voxel size of a 3D domain object 
WlzShadeCorrect.c  Shade corrects a domain object with values 
WlzShiftObj.c  Shifts objects using an integer translation 
WlzSkeleton.c  Computes the skeleton of the a domain object 
WlzSnapFitObjs.c  Finds a set of correspondences between two objects based on closest points 
WlzSobel.c  A 3x3 Sobel edge detection filter 
WlzStripProperties.c  Strips the property list from an object 
WlzStructDilation.c  Dilates an object using a structuring element object 
WlzStructErosion.c  Erodes a domain object using a structuring element object 
WlzTensorComponent.c  Extract tensor component values. "" 
WlzThinObjToPoints.c  Outputs a point object given a 2 or 3D spatial domain with the points computed by thinning the spatial domain object.. "" 
WlzThreshold.c  Thresholds a greylevel object 
WlzTiledObjFromDomain.c  Creates an object with a tiled value table from an object with a valid spatial domain 
WlzTransformProduct.c  Computes the product of a pair of transforms 
WlzTransposeObj.c  Transposes a 2D object 
WlzTransposePlanes.c  Transposes the planes of 3D objects 
WlzUnion.c  Computes the union of domain objects 
WlzValuesFromCoords.c  Adds coordinate values to the domain of the input object 
WlzVerifyObj.c  Checks objects and fixes them if possible 
WlzVolume.c  Computes the volume of 3D objects 
WlzWindow.c  Applies a window function to a Woolz 2D domain object 
WlzXORObj.c  Morphological set exclusive or operation on a pair of Woolz objects. 
► binWlzApp  
Wlz3DGetProjection.c  Command line binary to project a Woolz object using a view transform 
Wlz3DGetSection.c  Gets an arbitrary slice from a 3D object 
Wlz3DViewTransformBitmap.c  Transform a bitmap on a section view to a 3D object 
Wlz3DViewTransformObj.c  Transforms a section view to a 3D object 
WlzApplyTileFunction.c  Apply a function for each tile to the associated image and output a vector of values 
WlzBibToMeshTrans.c  Generates a mesh transform from an MAPaint bibfiile of basis function parameters and tiepoints 
WlzBibTransAbsRel.c  Reads a reconstruction bibfile and writes it back out with either absolute or relative transforms 
WlzCelCmpFeatures.c  Extracts domains for clumps and cells within clumps both from within the given image. The cells and clumps are used to compute numerical features and these are output together with "colorised" images showing the segmentation 
WlzClassMap.c  Generate a class image from a set of probability images, setting colours from a standard list 
WlzCreateRandomDomain.c  Generate a set of random domains to cover a given model domain 
WlzDisplacement.c  Computes displacement object 
WlzDisplacementToVtk.c  Computes VTK visualisation of displacements 
WlzDomainAdjacencyMatrix.c  Calculate the adjacency profiles for a given domain with respect to a set of domains. Each profile is output as a row in a matrix. The first row in the matrix indicates the adjacency distance 
WlzDomainMatch.c  Calculate a similarity value for a pair or set of woolz domains. This has been developed for the purposes of analysing the EMAGE geneexpression data 
WlzDomainMatchMatrix.c  Calculate a similarity value for a pair or set of woolz domains. This has been developed for the purposes of analysing the EMAGE geneexpression data 
WlzDomainOccupancy.c  Computes the occupancy of a domain with respect to it's planes 
WlzDomainToTiles.c  Cut a woolz domain object into tiles or chips of equal size. With the tifftile option the object is reset to origin (0,0) and each tile has origin (0,0) and the tiles are ordered in the tifftile sequence 
WlzDrawDomainObj.c  Reads a string of drawing commands and from them draws a 3D domain object. All drawing commands are on a section plane which is defined by the view transform 
WlzEMAP.h  Special defines for the EMAP extension to the Woolz library 
WlzEMAPDomainTransform.c  Apply a warp transform to an EMAP model domain to convert to a linked model 
WlzEMAPTransformUtils.c  Utilities to transform between standard EMAP models 
WlzEuclidDistanceMap.c  Calculate the Euclidean distance from the input vertex to all parts of the domain 
WlzExtractTransform.c  Finds the affine transforms from a reconstruction bibfile 
WlzFixDomains.c  Fixes flying pixels and small holes in domains 
WlzFixedPlaneAlign.c  Reset the transforms in a bibfile so that fixed planes are fixed 
WlzIndexBoundaries.c  Calculate the boundaries for a set of threshold levels 
WlzInterpolateSectionViewerBibFiles.c  Automatically interpolates bib files 
WlzMatchICPPlane.c  Compute tie points for a computed plane of section in a reference object and a 2D object, where these are read from an 'MAPaint 2D warp input parameters' bibfile 
WlzObjCompareSpecial_01.c  Compares a pair of objects and prints some statistics 
WlzOccupancy.c  Calculate the occupancy of each pixel with respect to a series of domains 
WlzPatchObjRegister.c  Registers patch objects and outputs a single object 
WlzPosterProcessForStackupKeep3StraitLines.c  Compute transforms to stack sections keeping verticals 
WlzProductTransform.c  Computes the product transform for bibfiles 
WlzProjectDomain.c  Projects a 3D domain onto a single section 3D projection as used for EMAGE wholemounts 
WlzRadialDistribution.c  Outputs the radial distribution of components of the input image 
WlzRawToWlz.c  Converts raw data to a Woolz object 
WlzReconstruct.c  Reconstructs a 3D object using the information a Reconstruct bibfile 
WlzSizeSelect.c  Selects components of an object's domain on the basis of area 
WlzSplitImage.c  Splits an object that is composed of several components seperated by background into seperate objects 
WlzSplitMontage.c  Splits a montage object  one that is composed of several components separated by a gap 
WlzTiffStackToPatches.c  Converts a TIFF stack to a compound object representing the set of patches or mosiac tiles 
WlzTiffStackToShade.c  Converts a TIFF stack to a shade object 
WlzVTKTensor.c  Converts a Woolz conforming mesh object with tensor values to a VTK polydata file with tensor dataset attributes 
WlzVtxDistance.c  Calculate distance between two vertices 
WlzVtxToObj.c  Builds a Woolz domain object from a vertex 
► binWlzExtFF  
WlzExtFFAffineTrFitBox.c  Computes the Woolz affine transform which makes the bounding box of the first object equal to that of the second 
WlzExtFFConstruct3D.c  Constructs a 3D image from 2D images, assuming perfect alignment 
WlzExtFFContourObj.c  A program to extract boundary, maximal gradient and isosurface contours from 2 or 3D Woolz and saving them in VTK format files 
WlzExtFFConvert.c  Woolz binary which uses the external file formats extension to convert object data file formats 
WlzExtFFDefGrdExportVTK.c  Exports tensor deformation features as computed by WlzDGTensorFeatures(3) to a legacy ASCII VTK format file 
WlzExtFFImportITKSnapSeg.c  Imports an ITKSnap segmentation to Woolz 
WlzExtFFWlzToXYZ.c  Converts a set of woolz domain files (3D binary) with associated ID file to GW XYZ format. The ID file holds a set of ids unique for each domain 
WlzSAToWlz.c  Convert the Smart Atlas polygons to a Woolz boundaries 
WlzTiff2Wlz.c  Convert TIFF images file to Woolz format 
► libAlc  
Alc.h  Main (toplevel) header file for the Woolz type allocation library 
AlcAlloc.c  Provides functions for basic storage allocation. In their most basic form are simple wrappers for the ANSI functions malloc(3), calloc(3), realloc(3) and free(3) but they may be used to encapsulate more complex allocation such as for persistant storage 
AlcArray.c  Provides functions for the allocation of 1, 2 and 3D arrays of types char, short, int, float and double. Extension to other types (including user defined types) should be straight formward through templates defined in AlcTemplates.h 
AlcBlockStack.c  A general purpose memory block allocator. Blocks are allocated and stored in on a stack 
AlcCPQueue.c  An \(O(1)\) priority queue based on algorithms from: Brown R, 1988. Calendar Queues: A Fast {O}(1)Priority Queue Implementation for the Simulation Event Set Problem. Communications of the ACM 31(10), 12201227. The priority queue has an \(O(1)\) time for insertion unlinking and holding of queue items with a favorable constant when compared to tree based priority queue data structures such as splay trees. Results presented by Brown show that this data structure outperforms tree based implementations and that simple ordered linked lists with \(O(n)\) operations outperform both calendar queues and tree based queues when there are less than ten items in the queue 
AlcDLPList.c  A general purpose doubly linked circular list of pointers 
AlcFreeStack.c  A general purpose free stack which allows a single pointer to be used to keep a list of data to be free'd 
AlcHashTable.c  A general purpose hash table 
AlcHeap.c  A basic heap data structure which uses an array 
AlcKDTree.c  A general purpose, arbitrary dimension, integer/floating point binary space partition tree (kDtree) 
AlcLRUCache.c  A cache allowing rank and key access to it's entries. The cache is maintained using a maximum number of items and maximum total entry size 
AlcString.c  Provides functions for string duplication 
AlcTemplates.h  Templates used by the 'C' preprocessor to generate the body of the Woolz array allocation functions and the associated freeing functions 
AlcType.h  Type definitions for the Woolz type allocation library 
AlcUFTree.c  A general purpose union tree based on Sedgewick's Weighted Quick Union Find, see Robert Sedgewick, Kevin Wayne "Algorithms (4th Edition)". There is very little parameter checking in these functions and all given parameters must be valid 
AlcVector.c  A general purpose 1D vector (extensible array) 
► libAlg  
Alg.h  Main (toplevel) header file for the Woolz numerical algorithms library 
AlgAutoCorr.c  Frequency domain auto correlation functions 
AlgBits.c  Provides bit fiddling functions 
AlgComplexUtils.c  Provides basic complex number utilities 
AlgConvolve.c  Provides functions for convolving data arrays 
AlgCrossCorr.c  Frequency domain cross correlation functions 
AlgDebug.c  Provides debug output 
AlgDPSearch.c  A 1D dynamic programming search procedure assuming a rectangular search region and a given nonlocal cost function 
AlgFourier.c  Fast Fourier and Hartley transform functions 
AlgGamma.c  Functions for computing gamma and incomplete gamma functions 
AlgGrayCode.c  Provides functions for computing Gray codes and their inverse. See Christopher H. Hamilton. "Range Searching Data Structures with Cache Locality" PhD Thesis, Dalhousie University, March 20011. The code within this file is derived from this thesis and the software it refers to 
AlgHeapSort.c  General purpose heap sort algorithms 
AlgHilbertIndex.c  Provides functions for Hilbert indices and their inverse. See J. K. Lawder "Calculation of Mappings Between One an ndimensional Values Using the Hilbert Spacefilling Curve", Birkbeck, University of London Research Report BBKCS0001, 2000. The code in this technical report has been modifiied to support ndimensions and variable bit orders without recompilation 
AlgLinearFit.c  Provides functions for fitting linear models to data, ie linear regression 
AlgMatrix.c  Matrix allocation and maintenance functions 
AlgMatrixCG.c  Conjugate Gradient iterative method with preconditioning for the solution of linear systems with the form \(\mathbf{A} \mathbf{x} = \mathbf{b}\). A must be a symmetric postive definite matrix, i.e. \({\mathbf{x}}^T \mathbf{A} \mathbf{x} < 0\), \(\forall \mathbf{x} \not= \mathbf{0}\), \(\mathbf{x} \in R^n\) 
AlgMatrixGauss.c  Provides a function for solving matrix equations of the form: A.x = b for x using Gaussian elimination with partial pivoting 
AlgMatrixLSQR.c  Provides functions for solving matrix equations using LSQR. This software is based on lsqr.c, a C version of LSQR derived by James W. Howse jhows.nosp@m.e@la.nosp@m.nl.go.nosp@m.v from the Fortran 77 implementation of C. C. Paige and M. A. Saunders. In most cases the extensive comments from Howse's lsqr.c have been preserved with little change 
AlgMatrixLU.c  Provides functions for solving matrix equations of the form: A.x = b for x, inverting a matrix, calculating the determinant of a matrix and performing LU decomposition 
AlgMatrixMath.c  Functions for basic arithmatic with matricies 
AlgMatrixRSEigen.c  Functions to find the eigenvalues and eigenvectors of a real symmetric matrix 
AlgMatrixRSTDiag.c  Reduces a real symmetric matrix to symmetric tridiagonal form by orthogonal similarity transformation and construction of the right operator of the reduction 
AlgMatrixSV.c  Provides functions for singular value decomposition 
AlgMatrixTDiagQLI.c  Determines the eigenvalues and eigenvectors of a real symmetric tridiagonal matrix using implicit shifts 
AlgMixture.c  Provides a function for computing the maximum liklihood parameters of a mixture of distributions which fit the given data 
AlgPolyLSQ.c  Provides functions for fitting a polynomial using least squares 
AlgQSort.c  Specialized implementation of quick sort based on "Engineering a Sort Function" J.L. Bentley and M.D. McIlroy, Software Practice and Experience 23 (1993) 12491265 
AlgRand.c  Provides functions which produce pseudorandom values 
AlgRandZig.c  The Gaussian distribution random number generator is based on the Ziggurat method for generating random variables as used in the GNU scientific library. For details of the Ziggurat method see: George Marsaglia, Wai Wan Tsang The Ziggurat Method for Generating Random Variables, Journal of Statistical Software, vol. 5 (2000), no. 8 (http://www.jstatsoft.org/v05/i08/) 
AlgRange.c  Provides functions for computing the range of values within a given array 
AlgRank.c  Rank selection algorithms which provide fast rank selection from an array of values. This is the general case of mimimum, median and maximum value rank selection 
AlgShuffle.c  Functions for randomly permuting data 
AlgSort.c  Basic sorting functions 
AlgType.h  Type definitions for the Woolz numerical algorithm library 
AlgVectorMath.c  Basic vector arithmatic 
► libbibfile  
bibFile.h  Types and constants for the bibtex based file syntax used for serial section data, ... 
bibFileAlloc.c  Functions for allocation and freeing of the bibtex based record and field data structures 
bibFileIO.c  File I/O functions to parse the bibtex based file syntax used for serial section data, ... 
bibFileParse.c  Functions to parse the bibtex based file syntax 
► libhguDlpList  
HGUDlpList.c  Data structures and functions for doubly linked lists of pointers 
HGUDlpList.h  Data structures and functions for doubly linked lists linked lists of pointers 
► libWlz  
Wlz.h  Main (toplevel) Woolz header file which includes all other header files required by Woolz 
Wlz2DContains.c  Takes a WLZ_2D_DOMAINOBJ, calls WlzLabel to split the domain and returns the one containing point(x,y) 
Wlz3DProjection.c  Generates the projection or backprojection of a domain object from 3D to 2D and visa versa 
Wlz3DSection.c  Functions for cutting 2D sections from 3D objects 
Wlz3DSectionFromGeoModel.c  Functions to cut a 2D geometric model from a 3D geometric model 
Wlz3DSectionSegmentObject.c  Segments a 3D object into 2 parts determined by the input section plane. The parts are the domains on either side of the plane 
Wlz3DSubSection.c  Return a subregion of a 3D section via a 3D section transform 
Wlz3DViewStructUtils.c  Utility functions associated with 3D views 
Wlz3DViewTransformObj.c  View transformation functions 
Wlz3DWarpMQ_S.c  Generates a regular tetrahedral mesh for a 3D domain 
WlzAffineTransform.c  Functions for computing affine transforms and applying them to objects 
WlzAffineTransformLSq.c  Functions for computing Woolz affine transforms that give the best fit, in a least squares sense, when used to transform one set of vertices to another 
WlzArea.c  Computes the area of an object 
WlzArray.c  Functions for converting between domain objects and arrays 
WlzAssign.c  Woolz objects domains and values maintain a linkcount, which records it's usage by other objects, domains or values. To increment a linkcount the appropriate assignment function should be used 
WlzAutoCor.c  Functions to compute the autocorrelation of an object 
WlzBackground.c  Functions to get and set the background value of objects 
WlzBasisFn.c  Functions for creating and manipulating basis functions 
WlzBasisFnTransform.c  Functions for computing and applying basis function transforms 
WlzBoundaryUtils.c  Simple functions that operate on boundary lists 
WlzBoundingBox.c  Functions for computing the axis aligned bounding box of objects 
WlzBoundToObj.c  Functions to convert a boundary object or domain to a domain object 
WlzBuildObj.c  Functions to allow spatial domain objects with values to be built incrementally 
WlzCannyDeriche.c  A CannyDeriche edge detection filter 
WlzCbThreshold.c  Threshold an object using a callback function to determine if the pixel value satifies the threshold criteria 
WlzCCor.c  Computes the cross correlation of two objects 
WlzCentrality.c  Functions for computing the centrality of a feature domain with respect to a boundary domain. See WlzCentrality() 
WlzCentreOfMass.c  Computes the centre of mass of objects 
WlzClipObjToBox.c  Functions for clipping the domain of either 2D or 3D domain objects so that they lie within the given axis aligned biunding box 
WlzCMeshCurvature.c  Functions to compute curvatures on conforming simplical meshes 
WlzCMeshDispField.c  Functions transferring displacements between meshes and displacement fields 
WlzCMeshExtrapolate.c  Functions to extrapolate values within conforming meshes 
WlzCMeshFMar.c  Fast marching methods within conforming meshes 
WlzCMeshIntersect.c  Functions for computing the intersection with conforming meshes 
WlzCMeshScan.c  Iterators for scanning through CMesh based objects and domains 
WlzCMeshSMReg.c  
WlzCMeshSurfMap.c  Functions for computing surface mappings that are based on conformal transformations and other mappings between surfaces and planes 
WlzCMeshTransform.c  Functions for creating and applying 2D and 3D conforming mesh transforms 
WlzCMeshUtils.c  Utility functions for 2D and 3D graph based conforming simplical meshes 
WlzCMeshValueTransfer.c  Functions for transfering values from one mesh to another 
WlzCompDispIncGrey.c  Functions to compute vector displacement maps from two warps of domain objects which originate from a common object with incrementing integer grey values 
WlzCompoundArrayToScalar.c  Functions to convert vector values held in a compound array to scalar values in a domain object 
WlzCompThresh.c  Functions for computing a threshold value from a histogram object 
WlzConComThreshold.c  Functions to perform connected component thresholding 
WlzConstruct3D.c  Functions to construct 3D domain objects from 2D domain objects 
WlzContour.c  Functions for extracting contours from objects 
WlzConvertPix.c  Conversion of values 
WlzConvexHull.c  Functions for computing the convex hull of objects 
WlzConvexHull3D.c  Functions for computing 3D convex hull domains 
WlzConvexHullClarkson.c  Functions to compute convex hulls using the Clarkson's algorithm 
WlzConvolve.c  Functions for convolving the values of domain objects 
WlzCopy.c  Functions to make 'deep' copies of objects 
WlzCutObjToBox.c  Functions for creating new domain objects with rectangular value tables 
WlzDebug.c  Default debugging text and object output functions for the Woolz library flag based debugging system 
WlzDebug.h  Defines the Woolz debug masks and function prototypes 
WlzDiffDomain.c  Functions for computing the domain difference between objects 
WlzDiffDomain3d.c  Functions for computing the domain difference between 3D objects 
WlzDilation.c  Functions for dilating objects with spatial domains 
WlzDistMetric.c  Functions to compute the Hausdorff distance, mean nearest neighbour and the median nearest neighbour distances between two datasets 
WlzDistTransform.c  Distance transform functions which calculate the distance of every pixel/voxel in a foreground object from a reference object 
WlzDomainFill.c  Functions to fill holes in domain objects 
WlzDomainFill3D.c  Functions to fill holes in 3D voxel domain objects 
WlzDomainNearby.c  Functions for computing the portion of a domain which is nearby (all pixels/voxels less than a given distance from) given locations 
WlzDomainUtils.c  Utility functions for domains 
WlzDrawDomain.c  Functions for composing a domain from simple drawing commands 
WlzEmpty.c  Convenience functions to check empty status of objects 
WlzErosion.c  Morphological erosion of domain objects 
WlzErosion4.c  Performs 4connected erosion on domain objects 
WlzError.c  Error related functions for the Woolz library 
WlzError.h  Definitions of Woolz error codes 
WlzExplode3D.c  Explodes a 3D domain object into 2D domain objects 
WlzFacts.c  Text description (facts) of Woolz objects 
WlzFillBlankPlanes.c  Fills blank planes of a 3D object. Originally this was used by MAPaint to allow painting of intermediate planes 
WlzFilterNObjValues.c  Computes a domain object in which the values are the filtered values of the input objects at the same positions 
WlzFitPlane.c  Functions for computing best fit planes 
WlzFourier.c  Functions for computing Fourier transforms and their inverse 
WlzFreeSpace.c  Functions for freeing objects and their components 
WlzGauss.c  Gaussian filter fo 2D objects with values. Uses WlzSepTrans() and for colour images can only do smoothing correctly (i.e. derivative zero) 
WlzGaussNoise.c  Functions for making Gaussian noise filled objects 
WlzGeometry.c  Geometric utility functions 
WlzGeometryTrackUpAndDown_s.c  Tracks contours forming surface patches 
WlzGeoModel.c  Basic operators for manipulating Woolz geometric models. These can be either planar graphs or 3D surfaces, with the surfaces being either manifold or nonmanifold 
WlzGeoModelCellGridWSp.c  Functions to create and free geometric models cell grid work spaces 
WlzGeoModelCut.c  Functions to cut geometric models (GM's) 
WlzGeoModelFilters.c  Filters for geometric models (GM's) 
WlzGeoModelStats.c  Functions to compute statistics about geometric models 
WlzGreyCrossing.c  Computes a domain object with grey values in which the values encode the direction at each pixel of a grey value transition. If the given grey value is zero then this is the zero crossing direction 
WlzGreyDitherObj.c  Makes a dithered object from the given greylevel object 
WlzGreyGradient.c  Computes objects in which the grey values are the gradient of the gray values in the original image 
WlzGreyInvertMinMax.c  Grey value inversion 
WlzGreyMask.c  Functions to set the value within the domain of a object 
WlzGreyModGradient.c  Functions to calculate the modulus of the greylevel gradient of Woolz objects 
WlzGreyNormalise.c  Normalises the greyvalues of an object to the range [0  255]. Colour images have each channel independently normalised. For proportional normalisation of colour use WlzGreySetRange directly. To determine the modulus range use WlzRGBAModulusRange() 
WlzGreyRange.c  Computes the grey range of an object. Note that the colour range returned is the independent max and min values for each channel 
WlzGreyScan.c  Object grey value scanning functions 
WlzGreySetHilbert.c  Functions for creating objects with integral grey values that are related to their Hilbert indices 
WlzGreySetIncValues.c  Functions for creating objects with integer grey values that increment 
WlzGreySetRange.c  Sets the new grey range for an object using simple linear interpolation 
WlzGreySetRangeLut.c  Transforms the greyvalues of a greylevel object using a lookuptable 
WlzGreySetValue.c  Sets the grey values of objects 
WlzGreyStats.c  Calculates simple statistics about an object's grey values 
WlzGreyTemplate.c  Attach a grey table to a template object 
WlzGreyTransfer.c  Transfers grey values from a source to a destination object. The source object grey values are set in the intersection domain between source and destination. Destination domain and the destination values outside of the intersection are unchanged 
WlzGreyValue.c  Provides functions for random access to the grey values of 2D and 3D domain objects 
WlzGreyValueMixing_s.c  Functions to mix the grey values of two woolz object and produce a new object using \[ o = (1  x) o_1 + x o_2 \] 
WlzGreyVariance.c  Applies variance filters of domain objects with values 
WlzHasIntersect.c  Determines whether two objects have an intersection 
WlzHistogram.c  Functions for computing and transforming Woolz histograms domains 
WlzHyThreshold.c  A hysteresis threshold filter 
WlzImageArithmetic.c  Functions for performing arithmetic on a pair of domain objects with grey values 
WlzImageBlend.c  Functions for blending images 
WlzIndexObj.c  Functions for creating and manipulating objects in which 2 or 3D spatial domains are represented as index grey values within in a single domain object. Such objects are frequently refered to as index objects 
WlzInline.h  Woolz inline functions 
WlzInsideDomain.c  Functions which check whether a given vertex lies within an object's domain 
WlzInteriority.c  Functions to compute an interiority scores 
WlzIntersect2.c  Calculates the intersection between two domain objects 
WlzIntersect3d.c  Intersection (set intersection) routines for domain objects 
WlzIntersectN.c  Intersection of N woolz domain objects 
WlzIntervalCount.c  Counts the number of intervals (or equivalent) in an object's domain 
WlzIntervalDomScan.c  Functions for scanning through an object's interval domain 
WlzIntRescaleObj.c  Rescales a Woolz object using an integral scale 
WlzIterate.c  Functions for iteration through Woolz objects 
WlzKrig.c  Functions for interpolation based on kriging 
WlzLabel.c  Segments a domain object into disconnected regions 
WlzLabel3D.c  3D labeling (segmention) 
WlzLaplacian.c  Implements a Laplacian edge enhancement filter 
WlzLBTDomain.c  Functions for creating and manipulating linear binary tree domains 
WlzLineArea.c  Computes the line area of an object 
WlzLUT.c  Look up tables for value transformations 
WlzMacro.h  Woolz C preprocessor directives, eg macros 
WlzMakeAffineTransform.c  Allocation and freeing of affine transforms 
WlzMakeCompound.c  Makes compound objects 
WlzMakeIntervalValues.c  Makes an interval values table 
WlzMakeProperties.c  Allocation and freeing routines of properties 
WlzMakeStructs.c  Functions for allocating woolz structures 
WlzMatchICP.c  Functions to match objects using ICP based registration, providing a set of corresponding points 
WlzMeshGen.c  Functions for 2D and 3D conforming simplical mesh generation. Meshes generated by these functions will conform approximately to an objects boundaries 
WlzMeshTransform.c  Functions for computing mesh transforms 
WlzMeshUtils.c  Utility functions for manipulating Woolz mesh transforms 
WlzMwrAngle.c  Computes the minimum width rectangle from a convex hull. This code has been extensively rewritten for the new convex hull domains, so that only the original interface and algorithm remain 
WlzNMSuppress.c  A nonmaximal supression filter, which constructs a new domain object using a Cannylike nonmaximal suppression algorithm. The domain is the nonmaximally suppressed domain and the values are the encoded gradient direction 
WlzNObjGreyStats.c  Calculates statistics for grey values across the objects of the given compound object 
WlzObjToBoundary.c  Computes a boundary list from a Woolz object 
WlzOccupancy.c  Functions for computing the occupancy of domains 
WlzOffsetDist.c  Functions to compute offset distance objects 
WlzPoints.c  Functions for handling point domains 
WlzPolarSample.c  A rectangular to polar image resampling filter 
WlzPolyDecimate.c  Functions to decimate polyline and boundary domains The functions remove vertices that are parts of straight lines as defined by a maximum distance. The algorithm starts at vertex 1, walks along the line until at least one vertex between the start and current position is more than maxdist from the straight line between vertex 1 and current. All vertices between position 1 and current1 are removed and position 1 is incremented (to what was current1). The process is then repeated 
WlzPolyEquispace.c  Builds a new polygon domain with equispaced vertices 
WlzPolyReverse.c  Functions to reverse the vertex ordering in a polygon domain 
WlzPolySmooth.c  Smoothing operations for polylines 
WlzPolyToObj.c  Makes a domain object from a polygon 
WlzPolyUtils.c  Functions for manipulating polygon domains 
WlzPrinicipalAngle.c  Calculates the angle which the long principal axis makes with the given object. The functions are based on a combination of methods by Rees and Hibbard. (D.W.A. Rees, Mechanics of Solids and Structures) 
WlzProj3DToSection.c  Functions for projecting 3D domains onto sections 
WlzRank.c  Rank filters for woolz objects, these are the generalization of minimum, maximum and median value filters 
WlzRaster.c  Functions to rasterize geometric Woolz objects into 2D or 3D domain objects 
WlzReadObj.c  Reads a Woolz object from a file stream 
WlzRegCCor.c  Functions to register two objects using frequency domain cross correlation 
WlzRegConCalc.c  Computes region connected calculus spatial classifications 
WlzRegICP.c  Functions for the registration of two objects using an implementation of the iterative closest point algorithm. See 
WlzRGBAConvert.c  Conversion routines for RGBA data including conversion to modulus 
WlzRGBAGreyStats.c  Calculates simple quick statistics for a domain object with RGBA values 
WlzRGBAImageArithmetic.c  Performs image arithmetic on RGBA data. Both input files must be RGBA value type 
WlzRGBAModGradient.c  Calculates the modulus of the gradient of a RGBA object. The gradient is defined as the modulus of the "modulus" vector, i.e. the modulus for each colour 
WlzRGBAPixelUtils.c  Utility functions for pixel and RGBA values 
WlzRGBARange.c  Finds the range of values in a RGBA type image 
WlzRGBAScalarBinaryOp.c  Apply a scalar binary operation to an RGBA image 
WlzRGBAThreshold.c  Threshold functions for RGBA objects 
WlzRGBChanRatio.c  Computes log ratio of RGB channels in a RGBA object 
WlzRsvFilter.c  Recursive filters for Woolz, these are also known as Deriche and infinite impulse responce (IIR) filters 
WlzSampleObj.c  Subsamples objects using an integer sampling factor and a convolution kernel 
WlzSampleValuesAndCoords.c  Extracts values and coordinates from a Woolz object with grey values using a sampoling function 
WlzScalarArithmeticOp.c  Functions which apply scalar arithmetic operations to domain objects 
WlzScalarBinaryOp.c  Applies scalar binary operators to objects 
WlzScalarFeatures.c  Functions for extracting scalar features from objects 
WlzScalarFn.c  Code to apply scalar functions to scalar image values in Woolz objects 
WlzSepFilter.c  A 2/3D implementation of seperable spatial kernel based convolution functions 
WlzSepTrans.c  Execute a separable transform on a 2D domain object 
WlzSeqPar.c  Performs sequential or local transformation of an object. Jim Piper derived the original seqpar.c from Fortran code by Marshall Presser 
WlzShadeCorrect.c  Shade correction 
WlzShift.c  Functions for shifting (applying efficient integer translations) to objects, domains and values 
WlzSkeleton.c  Performs a proper intervaldomain skeletonisation Hilditch's method 
WlzSnapFit.c  Functions to compute correspondences between a pair of objects using closest points 
WlzSobel.c  Implements a Sobel edge detection filter 
WlzSplitObj.c  Functions to split a single object into component objects 
WlzStdStructElements.c  Standard structuring elements in 2D and 3D 
WlzStringTypes.c  Functions for converting between Woolz data types and string representations (names) of the types 
WlzStringUtils.c  Miscellaneous string handling functions 
WlzStructDilation.c  Performs dilation using a structuring element 
WlzStructErosion.c  Performs erosion using a structuring element 
WlzTensor.c  Functions which derive and manipulate tensor quantities 
WlzThinToPoints.c  Functions for extracting point locations by thinnning 
WlzThreshold.c  Thresholds 2D or 3D domain objects with values 
WlzTiledValues.c  Functions construct and convert tiled objects 
WlzTransform.c  Functions operating on Woolz transform unions 
WlzTransposeObj.c  Transposes objects (ie interchanges row and column coordinates) 
WlzTransRANSAC.c  Code based on RANSAC (Random Sample Consensus) for computing transforms from paired correspondences 
WlzType.h  Defines the Woolz types. These are enumerations and structures which have been typedef'd 
WlzUnion2.c  Convenience function to calculate the union of two domain objects 
WlzUnion3d.c  Computes the set union of 3D objects 
WlzUnionN.c  Computes the set union of N objects 
WlzValuesFromCoords.c  Creates a new object with the values set to the coordinate values 
WlzValueTableUtils.c  Functions for computing value amd value table types 
WlzValueUtils.c  Many small functions for setting, copying and converting values 
WlzVerifyObj.c  Functions for verifying and fixing objects 
WlzVersion.c  Simple Woolz versioning 
WlzVerticies.c  Functions for extracting vertices from objects represented by vertices, eg polylines, boundlists and contours 
WlzVolume.c  Computes the volume of domain objects 
WlzWindow.c  Weights the grey values of domain objects according to their spatial distribution using a weighting function 
WlzWriteObj.c  Functions for writing Woolz objects 
WlzXOR.c  Functions for computing the set exclusive or of objects 
► libWlzExtFF  
WlzExtFF.c  Functions for reading and writting Woolz objects to and from external data formats 
WlzExtFF.h  Main header file for external data file format support for the MRC Human Genetics Unit Woolz library 
WlzExtFFAm.c  Functions for reading and writting Woolz objects to the Amira lattice file format 
WlzExtFFAnl.c  Functions for reading and writting Woolz objects to the ANALYZE 7.5 format file 
WlzExtFFBibUtils.c  Woolz IO bibfile utility functions to write and parse records written in bibfile format 
WlzExtFFBmp.c  Functions for reading and writting Woolz objects to and from the portable anymap '.pnm' data format 
WlzExtFFDen.c  Functions for reading and writting Woolz objects to and from the Stanford University '.den' data format 
WlzExtFFEMT.c  Functions for reading and writting Woolz objects to and from the the Netgen neutral (tetrahedral) mesh file format 
WlzExtFFGif.c  Functions for reading Woolz objects from Graphics Interchange Format (GIF) images 
WlzExtFFIcs.c  Functions for reading and writting Woolz objects to and from the International Cytometry Standard '.ics'/'.ids' data format 
WlzExtFFIPL.c  Functions for reading and writing IPLab image formats 
WlzExtFFJpeg.c  Read and write procedures for Joint Expert Group image format JPEG 
WlzExtFFMesh.c  Functions for reading and writting Woolz objects to and from the the tetrahedral mesh file format used by Pascal Frey's medit. See the INRIA technical report 0253 for a detailed explaination of the fromat. This file format is also used by the tetrhedral mesh generator tetgen 
WlzExtFFNifti.c  Functions for reading and writting Woolz objects to the NIfTI format 
WlzExtFFNodeEle.c  Functions for reading and writting Woolz objects to and from the the two part .node/.ele tetrahedral mesh file format used by Jonathan Shewchuk in Stellar 
WlzExtFFNrrd.c  Functions for reading and writting Woolz objects to and from the Utah nearly raw raster data (NRRD) '.nrrd' single file data format 
WlzExtFFObj.c  Functions for reading and writting Woolz objects to and from the the OBJ Wavefront geometry file format 
WlzExtFFPic.c  Functions for reading and writting Woolz objects to and from the Biorad '.pic' data format 
WlzExtFFPly2.c  Functions for reading and writting Woolz objects to and from the the Riken PLY2 file format 
WlzExtFFPnm.c  Functions for reading and writting Woolz objects to and from the portable anymap '.pnm' data format 
WlzExtFFPvl.c  Functions for reading and writting Woolz objects to the Drishti pvl.nc file format 
WlzExtFFRaw.c  Read/write raw image data 
WlzExtFFSlc.c  Functions for reading and writting Woolz objects to and from the '.slc' data format 
WlzExtFFSMesh.c  Functions for reading and writting Woolz objects to and from the the GRUMMP surface mesh (smesh) file format 
WlzExtFFStack.c  Functions for reading and writting Woolz objects to and from a stack of 2D files 
WlzExtFFStl.c  Functions for reading and writting Woolz objects to and from the the stereolithography stl surface file sormat 
WlzExtFFTiff.c  I/O functions for tiff format images 
WlzExtFFTxt.c  Functions for writing Woolz objects to a simple text '.txt' data format 
WlzExtFFType.h  Header file with data types for external data file format support for the MRC Human Genetics Unit Woolz library 
WlzExtFFVff.c  Functions for reading and writting Woolz objects to and from the Sunvision '.vff' data format 
WlzExtFFVMesh.c  Functions for reading and writting Woolz objects to and from the the GRUMMP VMESH tetrahedral mesh file format 
WlzExtFFVtk.c  Functions for reading and writting Woolz objects to and from the VTK '.vtk' data format 