The nitf.ksy format has some issues...
-
The determination of image_segment.has_mask is incorrect. It currently check for img_compression of MM but the NITF 2.1 spec section 5.4.3.2 says that IC values of NM, M1, M3, M4, M5, M6, M7, and M8 indicate masked imagery.
-
If an image does not have a mask, the image_data_field is not being read. It should be read regardless
-
image_geo_loc is a conditional field (see NITF 2.1 spec, Table A-3, IGEOLO) and should not be parsed if image_coordinate_rep (ICORDS) is ' '
-
compression_rate_code is a conditional field (see NITF 2.1 spec, Table A-3, COMRAT) and should not be parsed if img_compression (IC) is NC or NM
-
The tre_header field currently shows header_data as a simple byte array. It's possible to show the contents as an array of tre objects (which are defined in the ksy, but never utilized.)
The nitf.ksy format has some issues...
The determination of
image_segment.has_maskis incorrect. It currently check forimg_compressionofMMbut the NITF 2.1 spec section 5.4.3.2 says that IC values of NM, M1, M3, M4, M5, M6, M7, and M8 indicate masked imagery.If an image does not have a mask, the
image_data_fieldis not being read. It should be read regardlessimage_geo_locis a conditional field (see NITF 2.1 spec, Table A-3, IGEOLO) and should not be parsed ifimage_coordinate_rep(ICORDS) is' 'compression_rate_codeis a conditional field (see NITF 2.1 spec, Table A-3, COMRAT) and should not be parsed ifimg_compression(IC) isNCorNMThe
tre_headerfield currently showsheader_dataas a simple byte array. It's possible to show the contents as an array oftreobjects (which are defined in the ksy, but never utilized.)