it.geosolutions.imageio.plugins.jp2k.box
Class ChannelDefinitionBox

java.lang.Object
  extended by javax.swing.tree.DefaultMutableTreeNode
      extended by it.geosolutions.imageio.plugins.jp2k.box.BaseJP2KBox
          extended by it.geosolutions.imageio.plugins.jp2k.box.ChannelDefinitionBox
All Implemented Interfaces:
JP2KBox, JP2KBoxMetadata, Serializable, Cloneable, MutableTreeNode, TreeNode

public class ChannelDefinitionBox
extends BaseJP2KBox

This class is designed to represent a Channel Definition Box of JPEG JP2 file format. A Channel Definition Box has a length, and a fixed type of "cdef". Its content defines the type of the image channels: color channel, alpha channel or premultiplied alpha channel.

Author:
Simone Giannecchini, GeoSolutions, Daniele Romagnoli, GeoSolutions
See Also:
Serialized Form

Field Summary
static int BOX_TYPE
           
static String JP2K_MD_NAME
           
static String NAME
           
 
Fields inherited from class javax.swing.tree.DefaultMutableTreeNode
allowsChildren, children, EMPTY_ENUMERATION, parent, userObject
 
Constructor Summary
ChannelDefinitionBox(byte[] data)
          Constructs a ChannelDefinitionBox based on the provided content in byte array.
ChannelDefinitionBox(ColorModel colorModel)
          Constructs a ChannelDefinitionBox based on the provided ColorModel.
ChannelDefinitionBox(Node node)
          Constructs a ChannelDefinitionBox based on the provided org.w3c.dom.Node.
ChannelDefinitionBox(short[] channel, int[] types, short[] associations)
          Constructs a ChannelDefinitionBox based on the provided channel definitions.
 
Method Summary
protected  byte[] compose()
          Composes the content byte array from the data elements.
static void fillBasedOnBands(int numComps, boolean isPremultiplied, short[] c, int[] t, short[] a)
          Fills the channel definitions into the arrays based on the number of components and isPremultiplied.
 short[] getAssociation()
          Returns the association which associates a color channel to a color component in the color space of the image.
 short[] getChannel()
          Returns the defined channels.
 IIOMetadataNode getNativeNode()
          Creates an IIOMetadataNode from this channel definition box.
 short getNum()
           
 int[] getTypes()
          Returns the channel types.
protected  void parse(byte[] data)
          Parse the channel definitions from the content data array.
 
Methods inherited from class it.geosolutions.imageio.plugins.jp2k.box.BaseJP2KBox
clone, getContent, getExtraLength, getLength, getNativeNodeForSimpleBox, getType, setDefaultAttributes, setExtraLength, setLength, setType, toString
 
Methods inherited from class javax.swing.tree.DefaultMutableTreeNode
add, breadthFirstEnumeration, children, depthFirstEnumeration, getAllowsChildren, getChildAfter, getChildAt, getChildBefore, getChildCount, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getParent, getPath, getPathToRoot, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObject, getUserObjectPath, insert, isLeaf, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, setUserObject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.swing.tree.MutableTreeNode
insert, remove, remove, removeFromParent, setParent, setUserObject
 
Methods inherited from interface javax.swing.tree.TreeNode
children, getAllowsChildren, getChildAt, getChildCount, getIndex, getParent, isLeaf
 

Field Detail

BOX_TYPE

public static final int BOX_TYPE
See Also:
Constant Field Values

NAME

public static final String NAME
See Also:
Constant Field Values

JP2K_MD_NAME

public static final String JP2K_MD_NAME
See Also:
Constant Field Values
Constructor Detail

ChannelDefinitionBox

public ChannelDefinitionBox(ColorModel colorModel)
Constructs a ChannelDefinitionBox based on the provided ColorModel.


ChannelDefinitionBox

public ChannelDefinitionBox(byte[] data)
Constructs a ChannelDefinitionBox based on the provided content in byte array.


ChannelDefinitionBox

public ChannelDefinitionBox(short[] channel,
                            int[] types,
                            short[] associations)
Constructs a ChannelDefinitionBox based on the provided channel definitions.


ChannelDefinitionBox

public ChannelDefinitionBox(Node node)
                     throws IIOInvalidTreeException
Constructs a ChannelDefinitionBox based on the provided org.w3c.dom.Node.

Throws:
IIOInvalidTreeException
Method Detail

fillBasedOnBands

public static void fillBasedOnBands(int numComps,
                                    boolean isPremultiplied,
                                    short[] c,
                                    int[] t,
                                    short[] a)
Fills the channel definitions into the arrays based on the number of components and isPremultiplied.


parse

protected void parse(byte[] data)
Parse the channel definitions from the content data array.

Specified by:
parse in class BaseJP2KBox

getChannel

public short[] getChannel()
Returns the defined channels.


getTypes

public int[] getTypes()
Returns the channel types.


getAssociation

public short[] getAssociation()
Returns the association which associates a color channel to a color component in the color space of the image.


getNativeNode

public IIOMetadataNode getNativeNode()
Creates an IIOMetadataNode from this channel definition box. The format of this node is defined in the XML dtd and xsd for the JP2 image file.

Specified by:
getNativeNode in interface JP2KBoxMetadata
Overrides:
getNativeNode in class BaseJP2KBox

compose

protected byte[] compose()
Description copied from class: BaseJP2KBox
Composes the content byte array from the data elements.

Specified by:
compose in class BaseJP2KBox

getNum

public short getNum()


Copyright © 2006–2013 GeoSolutions. All rights reserved.