3个版本

0.1.2 2024年4月27日
0.1.1 2024年4月23日
0.1.0 2024年4月20日

#201图像

Download history 158/week @ 2024-04-28 1/week @ 2024-05-05 10/week @ 2024-05-19 13/week @ 2024-06-30

每月 127 下载

MIT 许可证

4.5MB
738

nitv

nitv查看器(nitv)是一个程序,它将读取一个nitf文件,并尝试从图像数据创建一个pnggif

有关问题、功能请求或错误,请创建一个问题。

用法

首先,从克隆或直接使用cargo安装...

cargo install nitv

...然后提供NITF文件

nitv <path-to-nitf>

有一些选项可用

--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

当前支持(来自Umbra的开放数据的文件)

SIDD / 灰度

SIDD product example

RGB/RGB + LUT

RGB product example

SICD / 复杂数据

SICD product example

实现细节

目前,决定是否创建PNG或GIF的方法有些hacky

因为SICD文件可以包含分散在多个段中的图像数据,所以处理逻辑是独特的。因此,首先需要确定文件是否包含SICD元数据。

  • 如果确定是SICD,则所有图像数据都会被分段扩展密度格式(PEDF)重映射、地面投影,并渲染为PNG。
  • 如果文件不包含SICD元数据但有多个图像段,则每个段的数据都会渲染为GIF中的一个帧。
  • 如果文件不包含SICD元数据但有单个图像段,则将其渲染为PNG。

随着更多功能的添加,此逻辑将变得更加sophisticated

依赖关系

~8-19MB
~221K SLoC