NITF Input Transformer

Summary:

Currently, imaging-nitf appears to be the only pure java implementation of a NITF parser.  Brad Hards has contributed it to the Codice Foundation and has written a prototype NITF Input Transformer using the library.  After some investigation, it appears to be a viable option to parse NITF 2.10 and NSIF 1.0 files.  This Input Transformer would make an excellent addition to default set of Input Transformers available in DDF.  Below are the findings.

Updates to imaging-nitf:

https://github.com/codice/imaging-nitf/pull/2

Forked InputTransformer:

https://github.com/kcwire/ddf-nitfinputtransformer

Desired Improvements:

NITF Input Transformer

  • Security Dates should be handled as dates rather than strings
  • Dynamically handle TRE's such that they are added as attributes to the MetacardType, to allow for better user awareness.
  • Better GeoLocation parsing support (handle Points, Multi-Geometries, etc)
  • Update metadata generation. (Different format, xml streaming library, etc).
  • Create thumbnails from the pixel data

Imaging Nitf

  • The Attributes should be accessible from the Nitf library more elegantly.  There's no null checking and it requires explicit object knowledge to obtain an attribute. (e.g. Should be able to retrieve all ImageSegement headers via a map)
  • Address TODO's in imaging core
  • Address TODO's in imaging cgm
  • Throw UnsupportedOperationException when we encounter an image format that isn't implemented (it currently does a System.out.println()).