SourceForge Home | About me | Download | API


Signal Feature Extractor Toolkit

AuthorJohn Talbot
InstitutionPhysics Dept.,
University of Ottawa
Latest version0.3 pre-alpha, progress  30% 
DescriptionFeature extraction toolkit based on a wavelet multiscale vision model. Includes 1D signal processing sample application for line identification and classification of astronomical spectra.
  • Provide highly extensible toolkit for signal feature extraction
  • Emphasis is placed on usability rather than efficiency
  • JExtractor is not a wavelet toolkit, focus is on feature extraction, not wavelets
  • The trous discrete wavelet transform (DWT) is the implementation of choice.
  • There are no plans to implement other kinds of wavelet transforms.
  • The toolkit will conform to the Java Data Mining API version 1.0, JSR-73 and the JDMAPI 2.0, JSR-247 when the final draft is published
LicenseGPL version 2
Source CodeLocated on SourceForge
API DocumentationJavaDoc API and hyperlinked source code
Programming LanguageJava 5.0 required
  • Input : Text, FITS and GIF, XML for database (JAXB)
  • Output : XML for database, signal and features
ReliabilityUnit testing
  • Input
    1. Signal containing features to extract
    2. Non-uniform noise for each pixel in the signal
  • Output
    1. A set of individual features contained in the signal
    2. A graphical display of features
    3. A set of metrics for peak-like features
  1. Detection : find wavelet coefficients which exceed threshold
  2. Separation : artifacts are grouped and seperated into objects
  3. Reconstruction : each object is iteratively reconstructed
  4. Measurement : certain objects such as peaks are measured
  5. Display : graphical display of the signal and features
Detection 80%
Separation 30%
Reconstruction 20%
Measurement 70%
Display 20%
Interpretion 25%
Classification 20%

Procedure Summary

Click on titles for more details.

1. Detection

The first step in the Multiscale Vision Model for feature extraction is to transform the signal using a discrete wavelet transform based on the trous with a B3-spline smoothing function. (see Starck, 2002). This produces the wavelet coefficients in several scales and the 1-sigma threshold. Each above threshold artifact is associated with a structure. Each wavelet scale contains a structure which is a set of contiguous wavelet coefficients which exceed a noise threshold. A structure is defined in a scale with a noise threshold. A structure optionally contains a reference to its parent structure and a list children structures via interscale relationships. A structure may be a part of an object. A structure may be due noise if it posseses very few pixels (the upper limit of which is application specific) and it is not connected to any other structure via an InterscaleRelationship or it is located near the boundary of the signal, in which case it might be due to boundary effects.
More ... .

2. Separation

The next step in the Multiscale Vision Model involves an attempt to associate structures into an object tree which corresponds to a kind of feature in the original signal. An object contains a set of connected interscale relationships representing a tree of structures spanning multiple scales and usually restricted to a small subset of positions in the original signal. Each interscale relationship share one structure in common with another interscale relationship instance in the same object. An object is composed of zero or more sub-objects represented by a subset of the interscale relationship of the parent object. Separation into sub- objects is based on the local-maxima contained in each object.

3. Reconstruction

The final step in the Multiscale Vision Model is to accurately reconstruct each object using an iterative conjugate gradient matrix solver. All objects are extracted, irrespective of shape or extend.
More ... .

4. Measurement

The various features in a signal can be measured. For instance in 1D signals some features resemble peaks which can be measured by fitting them using a Levenberg Marquardt non-linear least-square-fit to obtain the width, height and center of a gaussian function. This type of measurement is but one example, many other kinds of features could be measured such as discontinuities.

5. Display

A Java GUI for viewing original signal and overlays of its extracted features.

Procedure Details

The following sections go into greater detail for each step :

Step 1 : Detection using  trous Discrete Wavelet Transform




  1. c(0) = signal
  2. j = 1
  3. c(j) = convolution of c(j-1) with kernel
  4. w(j) = c(j) - c(j-1)
  5. insert 2j - 1 zero(s) between convolution kernel filter coefficients (holes). (i.e. the filter expands by a factor of 2 at every iteration)
  6. j = j + 1
  7. goto step 3 until the desired number of wavelet scales are obtained


  1. Signal of any size; no power of two restriction
  2. Can be extended to a signal of any number of dimensions
  3. Compact scaling function (B3 spline)
  4. Any boundary condition can be used : (a) mirror (b) periodic (c) continuous etc...
  5. Translation invariant
  6. Trivial reconstruction : c(0) = c(p) + Σ w(j), where c(p) is the smoothed array at the last scale p
  7. Evolution of the transform from one scale to the next can be followed easily because :


Step 3: Reconstruction using Multiscale Vision Models


The multiscale vision model that we use is based on Starck (2002), p.102-103. Basically it involves iterative reconstruction of each object using a conjugate gradient matrix method :

Operators and Variables

W Wavelet transform operator
Pw Projection onto Oi structures operator
A = Pw o WComposition of the two previously defined operators
A-1Adjoint of A operator
W-1Inverse transform of W operator
Oi Signal corresponding to object with index i
Wi Wavelet space signal restricted to Oi structures, zero elsewhere
n Reconstruction iteration
Oi(n) Object with index i at iteration n
wr(n) Wavelet residual signal at iteration n
R(n) Residual signal at iteration n
α(n)Convergence parameter at iteration n
β(n) Convergence parameter at iteration n
threshold Threshold for wavelet residual (constant)


1IntializationOi(0) = W-1Wi
wr(0) = Wi    AOi(0)
R(0) = A-1wr(0)
2Convergence parameterα(n) = | A-1wr(n) | 2 /  | AR(n) | 2
3CorrectionOi(n+1) = Oi(n) + α(n)R(n)
4Positivity constraintNegative values of Oi(n+1) are set to zero
5Wavelet residualwr(n+1) = Wi    AOi(n+1)
6Convergence testif  | wr(n+1) |  <  threshold  then STOP
7Convergence parameterβ(n+1) = | A-1wr(n+1) | 2 /  | A-1wr(n) | 2
8Residual imageR(n+1) = A-1wr(n+1) + β(n+1)R(n)
9Return to step 2


Reference and Data Sources

  1. Meinel et al. 1975, Catalog of emission lines in astrophysical objects. Frequently observed emission lines from the litterature (1930 and 1966)
  2. Sloan Digital Sky Survey Data Release 3
  3. Hewitt, A. and Burbidge, G.: 1993, Astrophys. J.S. 87, 451
  4. Starck, J.-L., Siebenmorgen, R., Gredel, R. 1997, Astrophys J. 482, 1011. Spectral Analysis Using the Wavelet Transform
  5. Starck,J.-L., Murtagh, F.: 2002, Astronomical Image Processing and Data Analysis, ISBN 3540428852 Springer-Verlag.
Support This Project Logo