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

Object
  extended by DefaultMutableTreeNode
      extended by BaseJP2KBox
          extended by ImageHeaderBox
All Implemented Interfaces:
JP2KBox, JP2KBoxMetadata, Serializable, Cloneable, MutableTreeNode, TreeNode

public class ImageHeaderBox
extends BaseJP2KBox

This class is defined to represent an Image Header Box of JPEG JP2 file format. An Image Header Box has a length, and a fixed type of "ihdr". The content of an image header box contains the width/height, number of image components, the bit depth (coded with sign/unsign information), the compression type (7 for JP2 file), the flag to indicate the color space is known or not, and a flag to indicate whether the intellectual property information included in this file.

See Also:
Serialized Form

Field Summary
static int BOX_TYPE
           
static int COMPRESSION_TYPE
           
static String JP2K_MD_NAME
           
static String NAME
           
 
Fields inherited from class DefaultMutableTreeNode
allowsChildren, children, EMPTY_ENUMERATION, parent, userObject
 
Constructor Summary
ImageHeaderBox(byte[] data)
          Create an Image Header Box using the content data.
ImageHeaderBox(int height, int width, int numComp, int bitDepth, int compressionType, int unknownColor, int intelProp)
          Create an Image Header Box from the element values.
 
Method Summary
protected  byte[] compose()
          Composes the content byte array from the data elements.
 byte getBitDepth()
          Returns the bit depth for all the image components.
 byte getBitDepthInterpretation()
           
 byte getCompressionType()
          Returns the compression type.
static String[] getElementNames()
          This method will be called by the getNativeNodeForSimpleBox of the class Box to get the element names.
 int getHeight()
          Returns the height of the image.
 byte getIntellectualProperty()
          Returns the IntellectualProperty flag.
 int getLength()
          Returns the box length.
 IIOMetadataNode getNativeNode()
          Creates an IIOMetadataNode from this image header box.
 short getNumComponents()
          Returns the number of image components.
 byte getUnknownColorspace()
          Returns the UnknowColorspace flag.
 int getWidth()
          Returns the width of the image.
protected  void parse(byte[] data)
          Parse the data elements from the byte array of the content.
 void setLength(int length)
          Sets the box length to the provided value.
 
Methods inherited from class BaseJP2KBox
clone, getContent, getExtraLength, getNativeNodeForSimpleBox, getType, setDefaultAttributes, setExtraLength, setType, toString
 
Methods inherited from class 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 Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface MutableTreeNode
insert, remove, remove, removeFromParent, setParent, setUserObject
 
Methods inherited from interface 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

COMPRESSION_TYPE

public static final int COMPRESSION_TYPE
See Also:
Constant Field Values
Constructor Detail

ImageHeaderBox

public ImageHeaderBox(int height,
                      int width,
                      int numComp,
                      int bitDepth,
                      int compressionType,
                      int unknownColor,
                      int intelProp)
Create an Image Header Box from the element values.


ImageHeaderBox

public ImageHeaderBox(byte[] data)
Create an Image Header Box using the content data.

Method Detail

getElementNames

public static String[] getElementNames()
This method will be called by the getNativeNodeForSimpleBox of the class Box to get the element names.

UML property:
name="elementNames"

parse

protected void parse(byte[] data)
Parse the data elements from the byte array of the content.

Specified by:
parse in class BaseJP2KBox

getHeight

public int getHeight()
Returns the height of the image.

UML property:
name="height"

getWidth

public int getWidth()
Returns the width of the image.

UML property:
name="width"

getNumComponents

public short getNumComponents()
Returns the number of image components.


getCompressionType

public byte getCompressionType()
Returns the compression type.

UML property:
name="compressionType"

getBitDepth

public byte getBitDepth()
Returns the bit depth for all the image components.

UML property:
name="bitDepth"

getUnknownColorspace

public byte getUnknownColorspace()
Returns the UnknowColorspace flag.


getIntellectualProperty

public byte getIntellectualProperty()
Returns the IntellectualProperty flag.


getNativeNode

public IIOMetadataNode getNativeNode()
Creates an IIOMetadataNode from this image header 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

getLength

public int getLength()
Description copied from interface: JP2KBox
Returns the box length.

Specified by:
getLength in interface JP2KBox
Overrides:
getLength in class BaseJP2KBox
See Also:
it.geosolutions.imageio.plugins.jp2k.box.JPEG2000SimpleBox#getLength()

setLength

public void setLength(int length)
Description copied from class: BaseJP2KBox
Sets the box length to the provided value.

Overrides:
setLength in class BaseJP2KBox

getBitDepthInterpretation

public byte getBitDepthInterpretation()


Copyright © 2006-2010 GeoSolutions. All Rights Reserved.