Skip to content

Instantly share code, notes, and snippets.

@bitsgalore
Created November 10, 2022 11:47
Show Gist options
  • Save bitsgalore/0a60a99bbdf1b4ae12d5af899af2ee6b to your computer and use it in GitHub Desktop.
Save bitsgalore/0a60a99bbdf1b4ae12d5af899af2ee6b to your computer and use it in GitHub Desktop.
Jpylyzer output for USGS JP2
<?xml version='1.0' encoding='UTF-8'?>
<jpylyzer xmlns="http://openpreservation.org/ns/jpylyzer/v2/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openpreservation.org/ns/jpylyzer/v2/ http://jpylyzer.openpreservation.org/jpylyzer-v-2-1.xsd">
<toolInfo>
<toolName>cli.py</toolName>
<toolVersion>2.1.0</toolVersion>
</toolInfo>
<file>
<fileInfo>
<fileName>m_3712213_se_10_h_20160625_20161004.jp2</fileName>
<filePath>/home/johan/test/m_3712213_se_10_h_20160625_20161004.jp2</filePath>
<fileSizeInBytes>68685941</fileSizeInBytes>
<fileLastModified>2022-11-09T15:17:03.682366</fileLastModified>
</fileInfo>
<statusInfo>
<success>True</success>
</statusInfo>
<isValid format="jp2">False</isValid>
<tests>
<contiguousCodestreamBox>
<foundExpectedNumberOfTiles>False</foundExpectedNumberOfTiles>
<foundExpectedNumberOfTileParts>False</foundExpectedNumberOfTileParts>
<tileParts>
<tilePart>
<sot>
<psotIsValid>False</psotIsValid>
</sot>
<foundNextTilePartOrEOC>False</foundNextTilePartOrEOC>
</tilePart>
</tileParts>
</contiguousCodestreamBox>
</tests>
<properties>
<signatureBox/>
<fileTypeBox>
<br>jp2 </br>
<minV>0</minV>
<cL>jp2 </cL>
</fileTypeBox>
<jp2HeaderBox>
<imageHeaderBox>
<height>14681</height>
<width>11606</width>
<nC>4</nC>
<bPCSign>unsigned</bPCSign>
<bPCDepth>8</bPCDepth>
<c>jpeg2000</c>
<unkC>yes</unkC>
<iPR>no</iPR>
</imageHeaderBox>
<colourSpecificationBox>
<meth>Enumerated</meth>
<prec>0</prec>
<approx>0</approx>
<enumCS>greyscale</enumCS>
</colourSpecificationBox>
</jp2HeaderBox>
<uuidBox>
<uuid>a3599699-1815-ec4f-827e-945600e719b7</uuid>
</uuidBox>
<uuidBox>
<uuid>96a9f1f1-dc98-402d-a7ae-d68e34451809</uuid>
</uuidBox>
<uuidBox>
<uuid>b14bf8bd-083d-4b43-a5ae-8cd7d5a6ce03</uuid>
</uuidBox>
<contiguousCodestreamBox>
<siz>
<lsiz>50</lsiz>
<rsiz>ISO/IEC 15444-1</rsiz>
<xsiz>11606</xsiz>
<ysiz>14681</ysiz>
<xOsiz>0</xOsiz>
<yOsiz>0</yOsiz>
<xTsiz>4096</xTsiz>
<yTsiz>4096</yTsiz>
<xTOsiz>0</xTOsiz>
<yTOsiz>0</yTOsiz>
<numberOfTiles>12</numberOfTiles>
<csiz>4</csiz>
<ssizSign>unsigned</ssizSign>
<ssizDepth>8</ssizDepth>
<xRsiz>1</xRsiz>
<yRsiz>1</yRsiz>
<ssizSign>unsigned</ssizSign>
<ssizDepth>8</ssizDepth>
<xRsiz>1</xRsiz>
<yRsiz>1</yRsiz>
<ssizSign>unsigned</ssizSign>
<ssizDepth>8</ssizDepth>
<xRsiz>1</xRsiz>
<yRsiz>1</yRsiz>
<ssizSign>unsigned</ssizSign>
<ssizDepth>8</ssizDepth>
<xRsiz>1</xRsiz>
<yRsiz>1</yRsiz>
</siz>
<cod>
<lcod>21</lcod>
<precincts>user defined</precincts>
<sop>no</sop>
<eph>no</eph>
<order>RPCL</order>
<layers>30</layers>
<multipleComponentTransformation>no</multipleComponentTransformation>
<levels>8</levels>
<codeBlockWidth>64</codeBlockWidth>
<codeBlockHeight>64</codeBlockHeight>
<codingBypass>no</codingBypass>
<resetOnBoundaries>no</resetOnBoundaries>
<termOnEachPass>no</termOnEachPass>
<vertCausalContext>no</vertCausalContext>
<predTermination>no</predTermination>
<segmentationSymbols>no</segmentationSymbols>
<transformation>5-3 reversible</transformation>
<precinctSizeX>256</precinctSizeX>
<precinctSizeY>256</precinctSizeY>
<precinctSizeX>256</precinctSizeX>
<precinctSizeY>256</precinctSizeY>
<precinctSizeX>256</precinctSizeX>
<precinctSizeY>256</precinctSizeY>
<precinctSizeX>256</precinctSizeX>
<precinctSizeY>256</precinctSizeY>
<precinctSizeX>256</precinctSizeX>
<precinctSizeY>256</precinctSizeY>
<precinctSizeX>256</precinctSizeX>
<precinctSizeY>256</precinctSizeY>
<precinctSizeX>256</precinctSizeX>
<precinctSizeY>256</precinctSizeY>
<precinctSizeX>256</precinctSizeX>
<precinctSizeY>256</precinctSizeY>
<precinctSizeX>256</precinctSizeX>
<precinctSizeY>256</precinctSizeY>
</cod>
<qcd>
<lqcd>28</lqcd>
<qStyle>no quantization</qStyle>
<guardBits>1</guardBits>
<epsilon>10</epsilon>
<epsilon>11</epsilon>
<epsilon>11</epsilon>
<epsilon>12</epsilon>
<epsilon>11</epsilon>
<epsilon>11</epsilon>
<epsilon>12</epsilon>
<epsilon>11</epsilon>
</qcd>
<com>
<lcom>15</lcom>
<rcom>ISO/IEC 8859-15 (Latin)</rcom>
<comment>Kakadu-v6.0</comment>
</com>
<com>
<lcom>582</lcom>
<rcom>ISO/IEC 8859-15 (Latin)</rcom>
<comment>Kdu-Layer-Info: log_2{Delta-D(MSE)/[2^16*Delta-L(bytes)]}, L(bytes)
-39.5, 1.8e+04
-39.8, 3.4e+04
-40.1, 5.0e+04
-40.6, 6.6e+04
-40.9, 8.4e+04
-41.2, 1.0e+05
-41.5, 1.2e+05
-42.0, 1.5e+05
-42.8, 1.8e+05
-43.0, 2.1e+05
-43.4, 2.5e+05
-43.9, 3.0e+05
-44.8, 3.7e+05
-45.0, 4.7e+05
-45.6, 5.9e+05
-46.2, 7.6e+05
-47.0, 9.9e+05
-47.4, 1.3e+06
-47.9, 1.8e+06
-48.8, 2.4e+06
-49.1, 3.3e+06
-49.8, 4.5e+06
-50.7, 6.3e+06
-51.1, 8.8e+06
-51.8, 1.2e+07
-52.7, 1.7e+07
-53.1, 2.4e+07
-54.0, 3.4e+07
-54.7, 4.8e+07
-55.9, 6.8e+07
</comment>
</com>
<tlm/>
<ppmCount>0</ppmCount>
<plmCount>0</plmCount>
<tileParts>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>0</isot>
<psot>1134</psot>
<tpsot>0</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>1</isot>
<psot>1154</psot>
<tpsot>0</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>2</isot>
<psot>874</psot>
<tpsot>0</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>0</isot>
<psot>3050</psot>
<tpsot>1</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>1</isot>
<psot>2943</psot>
<tpsot>1</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>2</isot>
<psot>1616</psot>
<tpsot>1</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>0</isot>
<psot>11255</psot>
<tpsot>2</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>1</isot>
<psot>10573</psot>
<tpsot>2</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>2</isot>
<psot>5148</psot>
<tpsot>2</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>0</isot>
<psot>44244</psot>
<tpsot>3</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>1</isot>
<psot>40600</psot>
<tpsot>3</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>2</isot>
<psot>19566</psot>
<tpsot>3</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>0</isot>
<psot>164231</psot>
<tpsot>4</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>1</isot>
<psot>150655</psot>
<tpsot>4</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>2</isot>
<psot>78385</psot>
<tpsot>4</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>0</isot>
<psot>494072</psot>
<tpsot>5</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>1</isot>
<psot>447606</psot>
<tpsot>5</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>2</isot>
<psot>212558</psot>
<tpsot>5</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>0</isot>
<psot>1488553</psot>
<tpsot>6</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>1</isot>
<psot>1303814</psot>
<tpsot>6</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>2</isot>
<psot>556172</psot>
<tpsot>6</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>0</isot>
<psot>2820171</psot>
<tpsot>7</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>1</isot>
<psot>2468435</psot>
<tpsot>7</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>2</isot>
<psot>1077510</psot>
<tpsot>7</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>0</isot>
<psot>3417080</psot>
<tpsot>8</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>1</pltCount>
<pptCount>0</pptCount>
</tilePart>
<tilePart>
<sot>
<lsot>10</lsot>
<isot>0</isot>
<psot>12</psot>
<tpsot>9</tpsot>
<tnsot>255</tnsot>
</sot>
<pltCount>0</pltCount>
<pptCount>0</pptCount>
</tilePart>
</tileParts>
</contiguousCodestreamBox>
<compressionRatio>9.92</compressionRatio>
</properties>
</file>
</jpylyzer>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment