|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcz.cuni.jagrlib.DefaultProperty
cz.cuni.jagrlib.Piece
cz.cuni.jagrlib.DefaultFileFormat
cz.cuni.jagrlib.DefaultRasterFileFormat
cz.cuni.jagrlib.piece.FractalCompressionQtree
public class FractalCompressionQtree
Fractal image compression module. Uses adaptive Quad-tree partitioning.
Nested Class Summary | |
---|---|
protected class |
FractalCompressionQtree.ImageBlock
Decoded image block, acts as Q-tree node as well. |
Field Summary | |
---|---|
protected HDRImage |
actIm
Target image for fractal transform (PIFS). |
protected int |
bands
Number of image bands (1 for RasterGraphics.MODE_GRAY ). |
protected boolean |
bestCodeOnly
Encode the best blocks only (non-redundant code)? |
protected double[] |
bingo
Global array for block-search results. |
protected int |
blockOrderBits
Number of bits to encode block order# (for progressive [= redundant] mode only). |
protected EntropyCodec |
codec
Accelerator: entropy codec. |
protected static int |
CTRL_FAIL
Control alphabet: failed leaf node. |
protected static int |
CTRL_NODE
Control alphabet: inner node (with block data). |
protected static int |
CTRL_ORI0
Control alphabet: 1st code assigned for orientation (marking the leaf node). |
protected static int |
CTRL_REC
Control alphabet: recursion (inner node w/o block data). |
protected static int |
CTX_COORD
Entropy-codec context: coordinates. |
protected static int |
CTX_CTRL
Entropy-codec context: control, orientation. |
protected static int |
CTX_O
Entropy-codec context: o-coefficient. |
protected static int |
CTX_S
Entropy-codec context: s-coefficient. |
static java.lang.String |
ERROR_LIMIT
|
protected double |
errorLimit
RMSE error limit for Q-tree adaptive subdivision. |
protected java.util.TreeSet<FractalCompressionQtree.ImageBlock> |
heap
Heap of unfinished Q-tree nodes (encoder only). |
protected int |
height
Image height in pixels. |
protected RasterGraphics |
log
Log-image. |
protected static double[][] |
LOG_COLOR
Log-image frame colors. |
protected boolean |
logging
Log intermediate results? |
static java.lang.String |
LOGGING
|
static int |
MAGIC
16-bit magic number (used at the file beginning). |
static java.lang.String |
MAX_BLOCK_SIZE
|
protected static int |
MAX_ITERATIONS
Maximal number of transforms steps in image reconstruction. |
protected int |
maxBlockSize
Maximal block size in pixels. |
static java.lang.String |
MIN_BLOCK_SIZE
|
protected int |
minBlockSize
Minimal block size in pixels. |
protected int |
minNodeOrder
Reconstruction: only nodes with order == 0 or order >= minNodeOrder . |
static java.lang.String |
O_VALUES
|
static java.lang.String |
ONLY_BEST
|
protected int |
oValues
Number of quantized values of o. |
protected HDRImage |
prevIm
Source image for fractal transform (PIFS). |
protected ScalarQuantizer |
qO
Accelerator: [linear] quantizer for 'o'. |
protected ScalarQuantizer |
qS
Accelerator: [dead-zone] quantizer for 's'. |
static RegPiece |
reg
Static registration instance for this class. |
static java.lang.String |
S_MAX
|
static java.lang.String |
S_VALUES
|
protected RasterSearch |
search
Accelerator: searchable object. |
protected double |
sMax
Maximal amplitude of s. |
protected int |
sValues
Number of quantized values of s. |
protected static java.lang.String |
TEMPLATE_NAME
Object template identifier. |
protected int |
totalSize
Size of the smallest rectangle containing the whole image. |
protected int |
width
Image width in pixels. |
Fields inherited from class cz.cuni.jagrlib.DefaultRasterFileFormat |
---|
CATEGORY |
Fields inherited from class cz.cuni.jagrlib.Piece |
---|
channels, info, pl, plugs, TEMPLATE_TYPE, userBreak |
Fields inherited from interface cz.cuni.jagrlib.iface.DataFileFormat |
---|
DOUBLE_STREAM |
Fields inherited from interface cz.cuni.jagrlib.iface.Property |
---|
STATISTICS, TEXT_DESCRIPTION |
Constructor Summary | |
---|---|
FractalCompressionQtree()
|
Method Summary | |
---|---|
protected FractalCompressionQtree.ImageBlock |
buildInitialTree(RasterGraphics g,
int x0,
int y0,
int size)
Builds one branch of a Q-tree, returns its root. |
protected void |
commonLoad(BitStream stream,
RasterGraphics g)
Common load code. |
protected void |
commonSave(BitStream stream,
RasterGraphics g)
Common save code. |
java.lang.String[] |
fileNameMasks()
Returns file-name masks associated with the file-format type. |
java.lang.Object |
get(java.lang.String key)
Gets the given property. |
int |
headerLength()
Length of file-format header (number of bytes which is necessary for file-format matching). |
protected FractalCompressionQtree.ImageBlock |
loadTree(int x0,
int y0,
int size)
Loads Q-tree from attached EntropyCodec , returns its root. |
double |
match(byte[] header,
java.lang.String fileName)
File-format match test. |
void |
set(java.lang.String key,
java.lang.Object value)
Sets the given property. |
static int |
setTemplate(Template t,
int ord)
General-purpose registration routine. |
Methods inherited from class cz.cuni.jagrlib.DefaultRasterFileFormat |
---|
loadFile, loadFile, saveFile, saveFile |
Methods inherited from class cz.cuni.jagrlib.DefaultFileFormat |
---|
closeFile, init, readFloat, readLine, readParameters, readToken, readUnsigned16, readUnsigned16, readUnsigned32, writeFloat, writeLine, writeParameters, writeUnsigned16, writeUnsigned16, writeUnsigned32 |
Methods inherited from class cz.cuni.jagrlib.Piece |
---|
className, connect, findPlug, findPlug, getInfo, getInterface, getInterface, getPlug, getReg, isCompatible, isCompatible, isConnected, logError, logWarning, myInterface, newInputPlug, newOptOutputPlug, newOutputPlug, newPlug, noTemplates, propBegin, propBounds, propDefault, propEnd, propEnum, propManipulator, propManipulator, setProgressListener, setRegStrings, setTemplateDynamic, stop |
Methods inherited from class cz.cuni.jagrlib.DefaultProperty |
---|
booleanProperty, booleanProperty, colorDoubleProperty, colorProperty, commit, doubleProperty, doubleProperty, doubleProperty, enumProperty, floatProperty, floatProperty, floatProperty, intProperty, intProperty, intProperty, longProperty, longProperty, longProperty, set, stringProperty |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface cz.cuni.jagrlib.iface.Property |
---|
commit |
Methods inherited from interface cz.cuni.jagrlib.Breakable |
---|
setProgressListener, stop |
Field Detail |
---|
protected java.util.TreeSet<FractalCompressionQtree.ImageBlock> heap
protected int maxBlockSize
protected int minBlockSize
protected double errorLimit
protected boolean bestCodeOnly
protected boolean logging
protected int sValues
protected int oValues
protected double sMax
protected int blockOrderBits
protected static final int CTX_CTRL
protected static final int CTX_COORD
protected static final int CTX_S
protected static final int CTX_O
protected static final int CTRL_REC
protected static final int CTRL_NODE
protected static final int CTRL_FAIL
protected static final int CTRL_ORI0
protected static final int MAX_ITERATIONS
protected RasterSearch search
protected EntropyCodec codec
protected ScalarQuantizer qS
protected ScalarQuantizer qO
protected int width
protected int height
protected int totalSize
protected int bands
RasterGraphics.MODE_GRAY
).
protected int minNodeOrder
order == 0
or order >= minNodeOrder
.
protected HDRImage actIm
protected HDRImage prevIm
protected double[] bingo
protected static final double[][] LOG_COLOR
protected RasterGraphics log
public static final int MAGIC
public static final java.lang.String MAX_BLOCK_SIZE
public static final java.lang.String MIN_BLOCK_SIZE
public static final java.lang.String ERROR_LIMIT
public static final java.lang.String S_VALUES
public static final java.lang.String S_MAX
public static final java.lang.String O_VALUES
public static final java.lang.String ONLY_BEST
public static final java.lang.String LOGGING
protected static final java.lang.String TEMPLATE_NAME
public static final RegPiece reg
Constructor Detail |
---|
public FractalCompressionQtree()
Method Detail |
---|
protected FractalCompressionQtree.ImageBlock buildInitialTree(RasterGraphics g, int x0, int y0, int size)
maxBlockSize
will go to the heap
.
protected FractalCompressionQtree.ImageBlock loadTree(int x0, int y0, int size) throws java.io.IOException
EntropyCodec
, returns its root.
java.io.IOException
protected void commonLoad(BitStream stream, RasterGraphics g) throws java.io.IOException
commonLoad
in class DefaultRasterFileFormat
stream
- Opened input bit-stream.g
- Checked raster-graphics object.
java.io.IOException
protected void commonSave(BitStream stream, RasterGraphics g) throws java.io.IOException
commonSave
in class DefaultRasterFileFormat
stream
- Opened output bit-stream.g
- Checked raster-graphics object.
java.io.IOException
public int headerLength()
headerLength
in interface DataFileFormat
headerLength
in class DefaultFileFormat
match(byte[], java.lang.String)
public double match(byte[] header, java.lang.String fileName)
match
in interface DataFileFormat
match
in class DefaultFileFormat
header
- Bytes from beginning of the file.fileName
- Optional file-name string.
0.0
.. no way,
0.5
.. maybe, 0.9
.. almost sure, 1.0
..
absolutely - no need to check another formats).headerLength()
,
fileNameMasks()
public java.lang.String[] fileNameMasks()
fileNameMasks
in interface DataFileFormat
fileNameMasks
in class DefaultFileFormat
null
.match(byte[], java.lang.String)
public void set(java.lang.String key, java.lang.Object value)
set
in interface Property
set
in class DefaultProperty
key
- Key string.value
- The new value.Property.commit()
public java.lang.Object get(java.lang.String key)
get
in interface Property
get
in class DefaultProperty
key
- Key string.
null
.public static int setTemplate(Template t, int ord)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |