holmesv3 / nitf-viz

Make an image from a nitf file
MIT License
2 stars 1 forks source link

nitv

NITF Visualizer (nitv) is a program which will read a nitf file and attempt to create a png or gif from the image data

For questions, feature requests, or bugs, please open an issue.

Usage

First, install from clone or directly using cargo...

cargo install nitv

... then provide a NITF file

nitv <path-to-nitf>

There are a handful of options available

--output      Output folder [default: .]
--prefix      Output file name. Derived from input if not given
--size        sqrt(num-pixels) e.g., --size 50 -> 50^2 pixel image [default: 256]
--brightness  Adjust the brightness of the image product (32-bit signed integer) [default: 0]
--contrast    Adjust the contrast of the image product (32-bit float) [default: 0]
--level       Log level [default: info] [possible values: off, error, warn, info, debug, trace]
--nitf-log    Enable logging for nitf reading

Current support (files from Umbra's Open Data)

SIDD / monochrome

SIDD product example

RGB/RGB + LUT

RGB product example

SICD / complex-data

SICD product example

Implementation details:

The determination of whether to make a PNG or GIF is currently somewhat hacky.

Because SICD files can have image data spread across multiple segments, that processing logic is unique, thus the first thing which is done is to determine if the file contains SICD metadata.

As more features are added, this logic will become more sophisticated