public abstract class Subband
extends java.lang.Object
The element can be either a node or a leaf of the tree. If it is a node then ther are 4 descendants (LL, HL, LH and HH). If it is a leaf ther are no descendants.
The tree is bidirectional. Each element in the tree structure has a "parent", which is the subband from which the element was obtained by decomposition. The only exception is the root element which has no parent (i.e.it's null), for obvious reasons.
SubbandAn, 
SubbandSyn| Modifier and Type | Field and Description | 
|---|---|
| int | anGainExpThe base 2 exponent of the analysis gain of the subband. | 
| int | hThe height of the subband | 
| boolean | isNodeTrue if it is a node in the tree, false if it is a leaf. | 
| int | levelThe level in the tree to which this subband belongs, which is the
 number of wavelet decompositions performed to produce this subband. | 
| int | nomCBlkHThe nominal code-block height | 
| int | nomCBlkWThe nominal code-block width | 
| java.awt.Point | numCbThe number of code-blocks (in both directions) contained in this
 subband. | 
| int | orientationThe orientation of this subband (WT_ORIENT_LL, WT_ORIENT_HL,
 WT_ORIENT_LH, WT_ORIENT_HH). | 
| int | resLvlThe resolution level to which this subband contributes. | 
| int | sbandIdxThe subband index within its resolution level. | 
| int | ulcxThe horizontal coordinate of the upper-left corner of the subband, with
 respect to the canvas origin, in the component's grid and subband's
 decomposition level. | 
| int | ulcyThe vertical coordinate of the upper-left corner of the subband, with
 respect to the canvas origin, in the component's grid and subband's
 decomposition level. | 
| int | ulxThe horizontal coordinate of the upper-left corner of the subband | 
| int | ulyThe vertical coordinate of the upper-left corner of the subband | 
| int | wThe width of the subband | 
| static int | WT_ORIENT_HHThe ID for the HH orientation | 
| static int | WT_ORIENT_HLThe ID for the HL (horizontal high-pass) orientation | 
| static int | WT_ORIENT_LHThe ID for the LH (vertical high-pass) orientation | 
| static int | WT_ORIENT_LLThe ID for the LL orientation | 
| Constructor and Description | 
|---|
| Subband()Creates a Subband element with all the default values. | 
| Subband(int w,
       int h,
       int ulcx,
       int ulcy,
       int lvls,
       WaveletFilter[] hfilters,
       WaveletFilter[] vfilters)Creates the top-level node and the entire subband tree, with the
 top-level dimensions, the number of decompositions, and the
 decomposition tree as specified. | 
| Modifier and Type | Method and Description | 
|---|---|
| abstract Subband | getHH()Returns the HH child subband of this subband. | 
| abstract Subband | getHL()Returns the HL (horizontal high-pass) child subband of this subband. | 
| abstract WaveletFilter | getHorWFilter()This function returns the horizontal wavelet filter relevant to this
 subband | 
| abstract Subband | getLH()Returns the LH (vertical high-pass) child subband of this subband. | 
| abstract Subband | getLL()Returns the LL child subband of this subband. | 
| Subband | getNextResLevel()Returns the first leaf subband element in the next higher resolution
 level. | 
| abstract Subband | getParent()Returns the parent of this subband. | 
| Subband | getSubband(int x,
          int y)Returns a reference to the Subband element to which the specified point
 belongs. | 
| Subband | getSubbandByIdx(int rl,
               int sbi)Returns a subband element in the tree, given its resolution level and
 subband index. | 
| abstract WaveletFilter | getVerWFilter()This function returns the vertical wavelet filter relevant to this
 subband | 
| protected void | initChilds()Initializes the childs of this node with the correct values. | 
| Subband | nextSubband()Returns the next subband in the same resolution level, following the
 subband index order. | 
| protected abstract Subband | split(WaveletFilter hfilter,
     WaveletFilter vfilter)Splits the current subband in its four subbands. | 
| java.lang.String | toString()Returns subband informations in a string. | 
public static final int WT_ORIENT_LL
public static final int WT_ORIENT_HL
public static final int WT_ORIENT_LH
public static final int WT_ORIENT_HH
public boolean isNode
public int orientation
public int level
public int resLvl
public java.awt.Point numCb
public int anGainExp
Using the base 2 exponent of the value contrains the possible gains to powers of 2. However this is perfectly compatible to the filter normalization policy assumed here. See the split() method for more details.
public int sbandIdx
It is defined recursively. The root node gets a value of 0. For a given node, with a subband index 'b', its LL descendant gets 4*b, its HL descendant 4*b+1, its LH descendant 4*b+2, and its HH descendant 4*b+3, for their subband indexes.
public int ulcx
public int ulcy
public int ulx
public int uly
public int w
public int h
public int nomCBlkW
public int nomCBlkH
public Subband()
public Subband(int w,
       int h,
       int ulcx,
       int ulcy,
       int lvls,
       WaveletFilter[] hfilters,
       WaveletFilter[] vfilters)
For the analysis subband gain calculation it is assumed that analysis filters are normalized with a DC gain of 1 and a Nyquist gain of 2.
This constructor does not initialize the value of the magBits member variable. This variable is normally initialized by the quantizer, on the encoder side, or the bit stream reader, on the decoder side.
w - The top-level widthh - The top-level heightulcx - The horizontal coordinate of the upper-left corner with
 respect to the canvas origin, in the component grid.ulcy - The vertical coordinate of the upper-left corner with
 respect to the canvas origin, in the component grid.lvls - The number of levels (or LL decompositions) in the tree.hfilters - The horizontal wavelet filters (analysis or synthesis)
 for each resolution level, starting at resolution level 0. If there are
 less elements in the array than there are resolution levels, the last
 element is used for the remaining resolution levels.vfilters - The vertical wavelet filters (analysis or synthesis)
 for each resolution level, starting at resolution level 0. If there are
 less elements in the array than there are resolution levels, the last
 element is used for the remaining resolution levels.WaveletTransformpublic abstract Subband getParent()
public abstract Subband getLL()
public abstract Subband getHL()
public abstract Subband getLH()
public abstract Subband getHH()
protected abstract Subband split(WaveletFilter hfilter, WaveletFilter vfilter)
hfilter - The horizontal wavelet filter used to decompose this
 subband.vfilter - The vertical wavelet filter used to decompose this
 subband.protected void initChilds()
For the analysis subband gain calculation it is assumed that analysis filters are normalized with a DC gain of 1 and a Nyquist gain of 2.
public Subband nextSubband()
public Subband getNextResLevel()
public Subband getSubbandByIdx(int rl, int sbi)
rl - The resolution level.sbi - The subband index, within the resolution level.public Subband getSubband(int x, int y)
x - horizontal coordinate of the specified point.y - horizontal coordinate of the specified point.public java.lang.String toString()
toString in class java.lang.Objectpublic abstract WaveletFilter getHorWFilter()
public abstract WaveletFilter getVerWFilter()
Copyright © 2014 Open Microscopy Environment