Skip to content

Python API V 2.0 Nitro

dj-snyder edited this page Jun 3, 2015 · 4 revisions
<title>Python: package nitf</title>


nitf

* This file is part of NITRO
* =========================================================================
*
* (C) Copyright 2004 - 2008, General Dynamics - Advanced Information Systems
*
* NITRO is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, If not,
* see <http://www.gnu.org/licenses/>.
*
*


Package Contents
_nitropy
nitropy


Classes
ComponentInfo
DataSource
BandSource
FileBandSource
MemoryBandSource
DownSampler
MaxDownSampler
PixelSkipDownSampler
Extensions
Field
FieldHeader
FileSecurity
Header
DESubheader
FileHeader
GraphicSubheader
ImageSubheader
LabelSubheader
RESubheader
TextSubheader
IOHandle
ImageReader
ImageSource
ImageWriter
PluginRegistry
Reader
Record
RecordSegment
DESegment
GraphicSegment
ImageSegment
LabelSegment
RESegment
TextSegment
SegmentReader
SegmentSource
FileSegmentSource
MemorySegmentSource
SegmentWriter
SubWindow
TRE
Writer


class BandSource(DataSource)
Base BandSource class
Methods defined here:
__del__(self)
__init__(self, ref)

Methods inherited from DataSource:
read(self, size)


class ComponentInfo
Methods defined here:
__init__(self, ref)
__str__(self)
getDataLength(self)
getHeaderLength(self)


class DESegment(RecordSegment)
#NITF DESegment class
Methods defined here:
__init__(self, ref)

Methods inherited from RecordSegment:
__getitem__(self, key)
Forward to the SubHeader
__str__(self)
Forward to the SubHeader


class DESubheader(Header)
#NITF DESubheader class
Method resolution order:
DESubheader
Header
FieldHeader

Methods inherited from Header:
__init__(self, ref, field_list=None)
__iter__(self)

Methods inherited from FieldHeader:
__contains__(self, key)
__getitem__(self, key)
Provide container get
__setitem__(self, key, value)
Provide the container 'set' functionality
__str__(self)


class DataSource
Base DataSource class
Methods defined here:
__del__(self)
__init__(self, ref)
read(self, size)


class DownSampler
Base DownSampler class
Methods defined here:
__del__(self)
__init__(self, ref)


class Extensions
TRE Extensions
Methods defined here:
__call__(self)
__getitem__(self, key)
__init__(self, ref)
__iter__(self)
__len__(self)
append(self, tre)
appends the given TRE to this Extensions object
removeTREsByName(self, tag)
removes all TREs with the given name


class Field
#NITF Field object
Methods defined here:
__init__(self, ref)
__int__(self)
__str__(self)
getLength(self)
getString(self)
intValue(self)
setString(self, data)


class FieldHeader
Base class for any Header that has fields

This provides list-based get access to the fields

e.g.
>>> numImages = header['numImages']
Methods defined here:
__contains__(self, key)
__getitem__(self, key)
Provide container get
__init__(self, ref, field_list=None)
__iter__(self)
__setitem__(self, key, value)
Provide the container 'set' functionality
__str__(self)


class FileBandSource(BandSource)
BandSource derived from an IOHandle
Method resolution order:
FileBandSource
BandSource
DataSource

Methods defined here:
__init__(self, handle, start=0, nbpp=1, pixelskip=0)

Methods inherited from BandSource:
__del__(self)

Methods inherited from DataSource:
read(self, size)


class FileHeader(Header)
The FileHeader class

Besides having list-based access to its fields, this class
also provides list-based access to its componentInfos.

Supported keys are (case-insensitive):
imageInfo, graphicInfo, textInfo, labelInfo, dataExtensionInfo, reservedExtensionInfo

e.g.
>>> infoList = header['imageinfo']
>>> #print the first component info object
>>> print infoList[0]
Method resolution order:
FileHeader
Header
FieldHeader

Methods defined here:
__getitem__(self, key)
__init__(self, ref)
__iter__(self)
getComponentInfo(self, type, index)
getComponentInfos(self, type)
getUDHD(self)
getXHD(self)

Methods inherited from FieldHeader:
__contains__(self, key)
__setitem__(self, key, value)
Provide the container 'set' functionality
__str__(self)


class FileSecurity(FieldHeader)
#NITF FileSecurity class
Methods defined here:
__iter__(self)

Methods inherited from FieldHeader:
__contains__(self, key)
__getitem__(self, key)
Provide container get
__init__(self, ref, field_list=None)
__setitem__(self, key, value)
Provide the container 'set' functionality
__str__(self)


class FileSegmentSource(SegmentSource)
SegmentSource derived from an IOHandle
Methods defined here:
__init__(self, handle, start=0, byteSkip=0)

Methods inherited from SegmentSource:
__del__(self)


class GraphicSegment(RecordSegment)
#NITF GraphicSegment class
Methods defined here:
__init__(self, ref)

Methods inherited from RecordSegment:
__getitem__(self, key)
Forward to the SubHeader
__str__(self)
Forward to the SubHeader


class GraphicSubheader(Header)
#NITF GraphicSubheader class
Method resolution order:
GraphicSubheader
Header
FieldHeader

Methods defined here:
getXHD(self)

Methods inherited from Header:
__init__(self, ref, field_list=None)
__iter__(self)

Methods inherited from FieldHeader:
__contains__(self, key)
__getitem__(self, key)
Provide container get
__setitem__(self, key, value)
Provide the container 'set' functionality
__str__(self)


class Header(FieldHeader)
#base class for actual NITF headers
Methods defined here:
__init__(self, ref, field_list=None)
__iter__(self)

Methods inherited from FieldHeader:
__contains__(self, key)
__getitem__(self, key)
Provide container get
__setitem__(self, key, value)
Provide the container 'set' functionality
__str__(self)


class IOHandle
The IOHandle class.
Methods defined here:
__del__(self)
#close the handle
__init__(self, filename, accessFlags=1, createFlags=13)
close(self)
getSize(self)
read(self, size)
seek(self, offset, whence=1)
tell(self)
write(self, data, size=-1)

Data and other attributes defined here:
ACCESS_READONLY = 1
ACCESS_READWRITE = 3
ACCESS_WRITEONLY = 2
CREATE = 1
OPEN_EXISTING = 13
SEEK_CUR = 1
SEEK_END = 3
SEEK_SET = 2
TRUNCATE = 12


class ImageReader
The ImageReader object

This is created by calling Reader.newImageReader()
Methods defined here:
__del__(self)
__init__(self, ref, nbpp)
read(self, window, downsampler=None)


class ImageSegment(RecordSegment)
#NITF ImageSegment class
Methods defined here:
__init__(self, ref)
addBands(self, num=1)
adds the specified number of bands to the image

Methods inherited from RecordSegment:
__getitem__(self, key)
Forward to the SubHeader
__str__(self)
Forward to the SubHeader


class ImageSource
Methods defined here:
__call__(self)
__del__(self)
__init__(self)
__iter__(self)
addBand(self, band)
getBand(self, index)


class ImageSubheader(Header)
#NITF ImageSubheader class
Method resolution order:
ImageSubheader
Header
FieldHeader

Methods defined here:
__init__(self, ref)
__iter__(self)
getBandCount(self)
getComments(self)
getUDHD(self)
getXHD(self)
insertComment(self, comment, index=-1)
Inserts a comment. By default, adds it to the end
removeComment(self, index)
Removes the comment at the specified index. If index is out of bounds, nothing is done

Methods inherited from FieldHeader:
__contains__(self, key)
__getitem__(self, key)
Provide container get
__setitem__(self, key, value)
Provide the container 'set' functionality
__str__(self)


class ImageWriter
Methods defined here:
__del__(self)
__init__(self, ref)
attachSource(self, imagesource)


class LabelSegment(RecordSegment)
#NITF LabelSegment class
Methods defined here:
__init__(self, ref)

Methods inherited from RecordSegment:
__getitem__(self, key)
Forward to the SubHeader
__str__(self)
Forward to the SubHeader


class LabelSubheader(Header)
#NITF LabelSubheader class
Method resolution order:
LabelSubheader
Header
FieldHeader

Methods inherited from Header:
__init__(self, ref, field_list=None)
__iter__(self)

Methods inherited from FieldHeader:
__contains__(self, key)
__getitem__(self, key)
Provide container get
__setitem__(self, key, value)
Provide the container 'set' functionality
__str__(self)


class MaxDownSampler(DownSampler)
Max DownSampler class
Methods defined here:
__init__(self, rowSkip=1, colSkip=1)
Default row and column skips are 1, meaning no downsampling

Methods inherited from DownSampler:
__del__(self)


class MemoryBandSource(BandSource)
BandSource derived from memory
Method resolution order:
MemoryBandSource
BandSource
DataSource

Methods defined here:
__init__(self, data, size=-1, start=0, nbpp=1, pixelskip=0)

Methods inherited from BandSource:
__del__(self)

Methods inherited from DataSource:
read(self, size)


class MemorySegmentSource(SegmentSource)
SegmentSource derived from memory
Methods defined here:
__init__(self, data, size=-1, start=0, byteSkip=0)

Methods inherited from SegmentSource:
__del__(self)


class PixelSkipDownSampler(DownSampler)
PixelSkip DownSampler class
Methods defined here:
__init__(self, rowSkip=1, colSkip=1)
Default row and column skips are 1, meaning no downsampling

Methods inherited from DownSampler:
__del__(self)


class PluginRegistry
Methods defined here:
__init__(self)
canHandleTRE(self, tre_name)

Static methods defined here:
instance()
loadDir(dirname)
Loads any plugins in the given directory


class RESegment(RecordSegment)
#NITF RESegment class
Methods defined here:
__init__(self, ref)

Methods inherited from RecordSegment:
__getitem__(self, key)
Forward to the SubHeader
__str__(self)
Forward to the SubHeader


class RESubheader(Header)
#NITF RESubheader class
Method resolution order:
RESubheader
Header
FieldHeader

Methods inherited from Header:
__init__(self, ref, field_list=None)
__iter__(self)

Methods inherited from FieldHeader:
__contains__(self, key)
__getitem__(self, key)
Provide container get
__setitem__(self, key, value)
Provide the container 'set' functionality
__str__(self)


class Reader
The Reader class.

Construct a Reader if you need to read a NITF
Methods defined here:
__del__(self)
__init__(self)
newGraphicReader(self, num)
newImageReader(self, num)
read(self, handle)

Static methods defined here:
getNITFVersion(filename)


class Record
The Record class.

The NITF Record is the top-level container of the NITF contents.
This object contains all of the sub-components of the NITF.
Methods defined here:
__del__(self)
__init__(self, ref=None, version=101)
getDataExtensions(self)
getGraphics(self)
getImages(self)
getLabels(self)
getReservedExtensions(self)
getTexts(self)
newGraphicSegment(self)
Creates a new graphic segment, and updates the numGraphics value
newImageSegment(self)
Creates a new image segment, and updates the numImages value


class RecordSegment
Abstract class for Segments
Not intended to be instantiated itself
Methods defined here:
__getitem__(self, key)
Forward to the SubHeader
__init__(self, ref)
__str__(self)
Forward to the SubHeader


class SegmentReader
The SegmentReader object
Methods defined here:
__del__(self)
__init__(self, ref)
getSize(self)
read(self, size)
tell(self)


class SegmentSource
Base SegmentSource class
Methods defined here:
__del__(self)
__init__(self, ref)


class SegmentWriter
Methods defined here:
__del__(self)
__init__(self, ref)
attachSource(self, source)


class SubWindow
The SubWindow class

This is used to specify a subwindow into the image
Methods defined here:
__init__(self, image_subheader=None)
__str__(self)


class TRE
Tagged Record Extension
Methods defined here:
__contains__(self, field)
__getitem__(self, field)
__init__(self, ref, size=0)
Create either a new TRE or refer to an existing underlying TRE
The ref parameter is checked
__iter__(self)
__str__(self)
getCurrentSize(self)
getField(self, name)
getTag(self)

Data and other attributes defined here:
DEFAULT_LENGTH = 0


class TextSegment(RecordSegment)
#NITF TextSegment class
Methods defined here:
__init__(self, ref)

Methods inherited from RecordSegment:
__getitem__(self, key)
Forward to the SubHeader
__str__(self)
Forward to the SubHeader


class TextSubheader(Header)
#NITF TextSubheader class
Method resolution order:
TextSubheader
Header
FieldHeader

Methods defined here:
__iter__(self)
getXHD(self)

Methods inherited from Header:
__init__(self, ref, field_list=None)

Methods inherited from FieldHeader:
__contains__(self, key)
__getitem__(self, key)
Provide container get
__setitem__(self, key, value)
Provide the container 'set' functionality
__str__(self)


class Writer
Methods defined here:
__del__(self)
__init__(self)
newGraphicWriter(self, num)
newImageWriter(self, imagenum)
prepare(self, record, handle)
write(self)


Data
FILE_HEADER_FIELDS = [{'id': 'FHDR', 'name': 'fileHeader'}, {'id': 'FVER', 'name': 'fileVersion'}, {'id': 'CLEVEL', 'name': 'complianceLevel'}, {'id': 'STYPE', 'name': 'systemType'}, {'id': 'OSTAID', 'name': 'originStationID'}, {'id': 'FDT', 'name': 'fileDateTime'}, {'id': 'FTITLE', 'name': 'fileTitle'}, {'id': 'FSCLAS', 'name': 'classification'}, {'id': 'FSCOP', 'name': 'messageCopyNum'}, {'id': 'FSCPYS', 'name': 'messageNumCopies'}, {'id': 'ENCRYP', 'name': 'encrypted'}, {'id': 'FBKGC', 'name': 'backgroundColor'}, {'id': 'ONAME', 'name': 'originatorName'}, {'id': 'OPHONE', 'name': 'originatorPhone'}, {'id': 'FL', 'name': 'fileLength'}, {'id': 'HL', 'name': 'headerLength'}, {'id': 'NUMI', 'name': 'numImages'}, {'id': 'NUMS', 'name': 'numGraphics'}, {'id': 'NUMX', 'name': 'numLabels'}, {'id': 'NUMT', 'name': 'numTexts'}, ...]
IMAGE_SUBHEADER_FIELDS = [{'id': 'IM', 'name': 'filePartType'}, {'id': 'IID1', 'name': 'imageId'}, {'id': 'IDATIM', 'name': 'imageDateAndTime'}, {'id': 'TGTID', 'name': 'targetId'}, {'id': 'IID2', 'name': 'imageTitle'}, {'id': 'ISCLAS', 'name': 'imageSecurityClass'}, {'id': 'ISORCE', 'name': 'imageSource'}, {'id': 'NROWS', 'name': 'numRows'}, {'id': 'NCOLS', 'name': 'numCols'}, {'id': 'PVTYPE', 'name': 'pixelValueType'}, {'id': 'IREP', 'name': 'imageRepresentation'}, {'id': 'ICAT', 'name': 'imageCategory'}, {'id': 'ABPP', 'name': 'actualBitsPerPixel'}, {'id': 'PJUST', 'name': 'pixelJustification'}, {'id': 'ICORDS', 'name': 'imageCoordinateSystem'}, {'id': 'IGEOLO', 'name': 'cornerCoordinates'}, {'id': 'NICOM', 'name': 'numImageComments'}, {'id': 'IC', 'name': 'imageCompression'}, {'id': 'COMRAT', 'name': 'compressionRate'}, {'id': 'NBANDS', 'name': 'numImageBands'}, ...]
NITF_VER_20 = 100
NITF_VER_21 = 101
NITF_VER_UNKNOWN = 102
Clone this wiki locally