Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
John Evans
64809a9024 refactor RGN, SOT testing 2014-09-19 13:59:45 -04:00
2 changed files with 72 additions and 286 deletions

View file

@ -642,7 +642,7 @@ class Codestream(object):
srgn = data[1]
sprgn = data[2]
return RGNsegment(length, offset, crgn, srgn, sprgn)
return RGNsegment(crgn, srgn, sprgn, length, offset)
def _parse_siz_segment(self, fptr):
"""Parse the SIZ segment.
@ -1463,7 +1463,7 @@ class RGNsegment(Segment):
15444-1:2004 - Information technology -- JPEG 2000 image coding system:
Core coding system
"""
def __init__(self, length, offset, crgn, srgn, sprgn):
def __init__(self, crgn, srgn, sprgn, length=-1, offset=-1):
Segment.__init__(self, marker_id='RGN')
self.length = length
self.offset = offset
@ -1726,7 +1726,7 @@ class SOTsegment(Segment):
15444-1:2004 - Information technology -- JPEG 2000 image coding system:
Core coding system
"""
def __init__(self, isot, psot, tpsot, tnsot, length, offset):
def __init__(self, isot, psot, tpsot, tnsot, length=-1, offset=-1):
Segment.__init__(self, marker_id='SOT')
self.isot = isot
self.psot = psot

View file

@ -35,7 +35,7 @@ import numpy as np
import glymur
from glymur import Jp2k
from glymur.codestream import CMEsegment
from glymur.codestream import CMEsegment, SOTsegment, RGNsegment
from glymur.core import RCME_ISO_8859_1, RCME_BINARY
from .fixtures import OPJ_DATA_ROOT
@ -68,6 +68,23 @@ class TestSuiteBase(unittest.TestCase):
for cl in clist:
self.assertIn(cl, box.compatibility_list)
def verifyRGNsegment(self, actual, expected):
"""
verify the fields of a RGN segment
"""
self.assertEqual(actual.crgn, expected.crgn) # 0 = component
self.assertEqual(actual.srgn, expected.srgn) # 0 = implicit
self.assertEqual(actual.sprgn, expected.sprgn)
def verifySOTsegment(self, actual, expected):
"""
verify the fields of a SOT (start of tile) segment
"""
self.assertEqual(actual.isot, expected.isot)
self.assertEqual(actual.psot, expected.psot)
self.assertEqual(actual.tpsot, expected.tpsot)
self.assertEqual(actual.tnsot, expected.tnsot)
def verifyCMEsegment(self, actual, expected):
"""
verify the fields of a CME (comment) segment
@ -230,11 +247,7 @@ class TestSuite(TestSuiteBase):
self.assertEqual(c.segment[3].spcod[8],
glymur.core.WAVELET_XFORM_5X3_REVERSIBLE)
# SOT: start of tile part
self.assertEqual(c.segment[4].isot, 0)
self.assertEqual(c.segment[4].psot, 7314)
self.assertEqual(c.segment[4].tpsot, 0)
self.assertEqual(c.segment[4].tnsot, 1)
self.verifySOTsegment(c.segment[4], SOTsegment(0, 7314, 0, 1))
def test_NR_p0_02_dump(self):
jfile = opj_data_file('input/conformance/p0_02.j2k')
@ -304,11 +317,7 @@ class TestSuite(TestSuiteBase):
# One unknown marker
self.assertEqual(c.segment[6].marker_id, '0xff30')
# SOT: start of tile part
self.assertEqual(c.segment[7].isot, 0)
self.assertEqual(c.segment[7].psot, 6047)
self.assertEqual(c.segment[7].tpsot, 0)
self.assertEqual(c.segment[7].tnsot, 1)
self.verifySOTsegment(c.segment[7], SOTsegment(0, 6047, 0, 1))
# SOD: start of data
# Just one.
@ -399,16 +408,8 @@ class TestSuite(TestSuiteBase):
self.assertEqual(c.segment[10].ttlm, (0, 1, 2, 3))
self.assertEqual(c.segment[10].ptlm, (4267, 2117, 4080, 2081))
# SOT: start of tile part
self.assertEqual(c.segment[11].isot, 0)
self.assertEqual(c.segment[11].psot, 4267)
self.assertEqual(c.segment[11].tpsot, 0)
self.assertEqual(c.segment[11].tnsot, 1)
# RGN: region of interest
self.assertEqual(c.segment[12].crgn, 0)
self.assertEqual(c.segment[12].srgn, 0)
self.assertEqual(c.segment[12].sprgn, 7)
self.verifySOTsegment(c.segment[11], SOTsegment(0, 4267, 0, 1))
self.verifyRGNsegment(c.segment[12], RGNsegment(0, 0, 7))
# SOD: start of data
# Just one.
@ -495,11 +496,7 @@ class TestSuite(TestSuiteBase):
"Creator: AV-J2K (c) 2000,2001 Algo Vision".encode())
self.verifyCMEsegment(c.segment[6], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[7].isot, 0)
self.assertEqual(c.segment[7].psot, 264383)
self.assertEqual(c.segment[7].tpsot, 0)
self.assertEqual(c.segment[7].tnsot, 1)
self.verifySOTsegment(c.segment[7], SOTsegment(0, 264383, 0, 1))
# SOD: start of data
# Just one.
@ -622,11 +619,7 @@ class TestSuite(TestSuiteBase):
self.assertEqual(c.segment[9].ttlm, (0,))
self.assertEqual(c.segment[9].ptlm, (1310540,))
# SOT: start of tile part
self.assertEqual(c.segment[10].isot, 0)
self.assertEqual(c.segment[10].psot, 1310540)
self.assertEqual(c.segment[10].tpsot, 0)
self.assertEqual(c.segment[10].tnsot, 1)
self.verifySOTsegment(c.segment[10], SOTsegment(0, 1310540, 0, 1))
# SOD: start of data
# Just one.
@ -736,21 +729,9 @@ class TestSuite(TestSuiteBase):
self.assertEqual(c.segment[7].spcoc[4],
glymur.core.WAVELET_XFORM_5X3_REVERSIBLE)
# RGN: region of interest
self.assertEqual(c.segment[8].crgn, 0) # component
self.assertEqual(c.segment[8].srgn, 0) # implicit
self.assertEqual(c.segment[8].sprgn, 11)
# SOT: start of tile part
self.assertEqual(c.segment[9].isot, 0)
self.assertEqual(c.segment[9].psot, 33582)
self.assertEqual(c.segment[9].tpsot, 0)
self.assertEqual(c.segment[9].tnsot, 1)
# RGN: region of interest
self.assertEqual(c.segment[10].crgn, 0) # component
self.assertEqual(c.segment[10].srgn, 0) # implicit
self.assertEqual(c.segment[10].sprgn, 9)
self.verifyRGNsegment(c.segment[8], RGNsegment(0, 0, 11))
self.verifySOTsegment(c.segment[9], SOTsegment(0, 33582, 0, 1))
self.verifyRGNsegment(c.segment[10], RGNsegment(0, 0, 9))
# SOD: start of data
# Just one.
@ -802,11 +783,7 @@ class TestSuite(TestSuiteBase):
pargs = (RCME_ISO_8859_1, "Kakadu-3.0.7".encode())
self.verifyCMEsegment(c.segment[4], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[5].isot, 0)
self.assertEqual(c.segment[5].psot, 9951)
self.assertEqual(c.segment[5].tpsot, 0)
self.assertEqual(c.segment[5].tnsot, 0) # unknown
self.verifySOTsegment(c.segment[5], SOTsegment(0, 9951, 0, 0))
# POD: progression order change
self.assertEqual(c.segment[6].rspod, (0,))
@ -952,11 +929,7 @@ class TestSuite(TestSuiteBase):
pargs = (RCME_ISO_8859_1, "Kakadu-3.0.7".encode())
self.verifyCMEsegment(c.segment[9], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[10].isot, 0)
self.assertEqual(c.segment[10].psot, 3820593)
self.assertEqual(c.segment[10].tpsot, 0)
self.assertEqual(c.segment[10].tnsot, 1) # unknown
self.verifySOTsegment(c.segment[10], SOTsegment(0, 3820593, 0, 1))
def test_NR_p0_09_dump(self):
jfile = opj_data_file('input/conformance/p0_09.j2k')
@ -1006,11 +979,7 @@ class TestSuite(TestSuiteBase):
pargs = (RCME_ISO_8859_1, "Kakadu-3.0.7".encode())
self.verifyCMEsegment(c.segment[4], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[5].isot, 0)
self.assertEqual(c.segment[5].psot, 478)
self.assertEqual(c.segment[5].tpsot, 0)
self.assertEqual(c.segment[5].tnsot, 1) # unknown
self.verifySOTsegment(c.segment[5], SOTsegment(0, 478, 0, 1))
# SOD: start of data
# Just one.
@ -1062,88 +1031,33 @@ class TestSuite(TestSuiteBase):
self.assertEqual(c.segment[3].exponent,
[11, 12, 12, 13, 12, 12, 13, 12, 12, 13])
# SOT: start of tile part
self.assertEqual(c.segment[4].isot, 0)
self.assertEqual(c.segment[4].psot, 2453)
self.assertEqual(c.segment[4].tpsot, 0)
self.assertEqual(c.segment[4].tnsot, 0)
self.verifySOTsegment(c.segment[4], SOTsegment(0, 2453, 0, 0))
# SOD: start of data
self.assertEqual(c.segment[5].marker_id, 'SOD')
self.verifySOTsegment(c.segment[6], SOTsegment(1, 2403, 0, 0))
# SOT: start of tile part
self.assertEqual(c.segment[6].isot, 1)
self.assertEqual(c.segment[6].psot, 2403)
self.assertEqual(c.segment[6].tpsot, 0)
self.assertEqual(c.segment[6].tnsot, 0)
# SOD: start of data
self.assertEqual(c.segment[7].marker_id, 'SOD')
self.verifySOTsegment(c.segment[8], SOTsegment(2, 2420, 0, 0))
# SOT: start of tile part
self.assertEqual(c.segment[8].isot, 2)
self.assertEqual(c.segment[8].psot, 2420)
self.assertEqual(c.segment[8].tpsot, 0)
self.assertEqual(c.segment[8].tnsot, 0)
# SOD: start of data
self.assertEqual(c.segment[9].marker_id, 'SOD')
self.verifySOTsegment(c.segment[10], SOTsegment(3, 2472, 0, 0))
# SOT: start of tile part
self.assertEqual(c.segment[10].isot, 3)
self.assertEqual(c.segment[10].psot, 2472)
self.assertEqual(c.segment[10].tpsot, 0)
self.assertEqual(c.segment[10].tnsot, 0)
# SOD: start of data
self.assertEqual(c.segment[11].marker_id, 'SOD')
self.verifySOTsegment(c.segment[12], SOTsegment(0, 1043, 1, 2))
# SOT: start of tile part
self.assertEqual(c.segment[12].isot, 0)
self.assertEqual(c.segment[12].psot, 1043)
self.assertEqual(c.segment[12].tpsot, 1)
self.assertEqual(c.segment[12].tnsot, 2)
# SOD: start of data
self.assertEqual(c.segment[13].marker_id, 'SOD')
self.verifySOTsegment(c.segment[14], SOTsegment(1, 1101, 1, 2))
# SOT: start of tile part
self.assertEqual(c.segment[14].isot, 1)
self.assertEqual(c.segment[14].psot, 1101)
self.assertEqual(c.segment[14].tpsot, 1)
self.assertEqual(c.segment[14].tnsot, 2)
# SOD: start of data
self.assertEqual(c.segment[15].marker_id, 'SOD')
self.verifySOTsegment(c.segment[16], SOTsegment(3, 1054, 1, 2))
# SOT: start of tile part
self.assertEqual(c.segment[16].isot, 3)
self.assertEqual(c.segment[16].psot, 1054)
self.assertEqual(c.segment[16].tpsot, 1)
self.assertEqual(c.segment[16].tnsot, 2)
# SOD: start of data
self.assertEqual(c.segment[17].marker_id, 'SOD')
self.verifySOTsegment(c.segment[18], SOTsegment(2, 14, 1, 0))
# SOT: start of tile part
self.assertEqual(c.segment[18].isot, 2)
self.assertEqual(c.segment[18].psot, 14)
self.assertEqual(c.segment[18].tpsot, 1)
self.assertEqual(c.segment[18].tnsot, 0)
# SOD: start of data
self.assertEqual(c.segment[19].marker_id, 'SOD')
self.verifySOTsegment(c.segment[20], SOTsegment(2, 1089, 2, 0))
# SOT: start of tile part
self.assertEqual(c.segment[20].isot, 2)
self.assertEqual(c.segment[20].psot, 1089)
self.assertEqual(c.segment[20].tpsot, 2)
self.assertEqual(c.segment[20].tnsot, 0)
# SOD: start of data
self.assertEqual(c.segment[21].marker_id, 'SOD')
# EOC: end of codestream
self.assertEqual(c.segment[22].marker_id, 'EOC')
def test_NR_p0_11_dump(self):
@ -1191,11 +1105,7 @@ class TestSuite(TestSuiteBase):
"Creator: AV-J2K (c) 2000,2001 Algo Vision".encode())
self.verifyCMEsegment(c.segment[4], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[5].isot, 0)
self.assertEqual(c.segment[5].psot, 118)
self.assertEqual(c.segment[5].tpsot, 0)
self.assertEqual(c.segment[5].tnsot, 1)
self.verifySOTsegment(c.segment[5], SOTsegment(0, 118, 0, 1))
# SOD: start of data
self.assertEqual(c.segment[6].marker_id, 'SOD')
@ -1255,11 +1165,7 @@ class TestSuite(TestSuiteBase):
pargs = (RCME_ISO_8859_1, "Creator: AV-J2K (c) 2000,2001 Algo Vision".encode())
self.verifyCMEsegment(c.segment[4], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[5].isot, 0)
self.assertEqual(c.segment[5].psot, 162)
self.assertEqual(c.segment[5].tpsot, 0)
self.assertEqual(c.segment[5].tnsot, 1)
self.verifySOTsegment(c.segment[5], SOTsegment(0, 162, 0, 1))
# SOD: start of data
self.assertEqual(c.segment[6].marker_id, 'SOD')
@ -1352,10 +1258,7 @@ class TestSuite(TestSuiteBase):
self.assertEqual(c.segment[6].exponent, [9, 10, 10, 11])
self.assertEqual(c.segment[6].mantissa, [0, 0, 0, 0])
# RGN: region of interest
self.assertEqual(c.segment[7].crgn, 3)
self.assertEqual(c.segment[7].srgn, 0)
self.assertEqual(c.segment[7].sprgn, 11)
self.verifyRGNsegment(c.segment[7], RGNsegment(3, 0, 11))
# POD: progression order change
self.assertEqual(c.segment[8].rspod, (0, 0))
@ -1369,11 +1272,7 @@ class TestSuite(TestSuiteBase):
pargs = (RCME_ISO_8859_1, "Creator: AV-J2K (c) 2000,2001 Algo Vision".encode())
self.verifyCMEsegment(c.segment[9], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[10].isot, 0)
self.assertEqual(c.segment[10].psot, 1537)
self.assertEqual(c.segment[10].tpsot, 0)
self.assertEqual(c.segment[10].tnsot, 1)
self.verifySOTsegment(c.segment[10], SOTsegment(0, 1537, 0, 1))
# SOD: start of data
self.assertEqual(c.segment[11].marker_id, 'SOD')
@ -1427,16 +1326,8 @@ class TestSuite(TestSuiteBase):
pargs = (RCME_ISO_8859_1, "Kakadu-3.0.7".encode())
self.verifyCMEsegment(c.segment[4], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[5].isot, 0)
self.assertEqual(c.segment[5].psot, 1528)
self.assertEqual(c.segment[5].tpsot, 0)
self.assertEqual(c.segment[5].tnsot, 1)
# SOD: start of data
self.verifySOTsegment(c.segment[5], SOTsegment(0, 1528, 0, 1))
self.assertEqual(c.segment[6].marker_id, 'SOD')
# EOC: end of codestream
self.assertEqual(c.segment[7].marker_id, 'EOC')
def test_NR_p0_15_dump(self):
@ -1516,49 +1407,30 @@ class TestSuite(TestSuiteBase):
self.assertEqual(c.segment[10].ttlm, (0, 1, 2, 3))
self.assertEqual(c.segment[10].ptlm, (4267, 2117, 4080, 2081))
# SOT: start of tile part
self.assertEqual(c.segment[11].isot, 0)
self.assertEqual(c.segment[11].psot, 4267)
self.assertEqual(c.segment[11].tpsot, 0)
self.assertEqual(c.segment[11].tnsot, 1)
self.verifySOTsegment(c.segment[11], SOTsegment(0, 4267, 0, 1))
# RGN: region of interest
self.assertEqual(c.segment[12].crgn, 0)
self.assertEqual(c.segment[12].srgn, 0)
self.assertEqual(c.segment[12].sprgn, 7)
self.verifyRGNsegment(c.segment[12], RGNsegment(0, 0, 7))
# SOD: start of data
self.assertEqual(c.segment[13].marker_id, 'SOD')
# 16 SOP markers would be here if we were looking for them
# SOT: start of tile part
self.assertEqual(c.segment[31].isot, 1)
self.assertEqual(c.segment[31].psot, 2117)
self.assertEqual(c.segment[31].tpsot, 0)
self.assertEqual(c.segment[31].tnsot, 1)
self.verifySOTsegment(c.segment[31], SOTsegment(1, 2117, 0, 1))
# SOD: start of data
self.assertEqual(c.segment[32].marker_id, 'SOD')
# 16 SOP markers would be here if we were looking for them
# SOT: start of tile part
self.assertEqual(c.segment[49].isot, 2)
self.assertEqual(c.segment[49].psot, 4080)
self.assertEqual(c.segment[49].tpsot, 0)
self.assertEqual(c.segment[49].tnsot, 1)
self.verifySOTsegment(c.segment[49], SOTsegment(2, 4080, 0, 1))
# SOD: start of data
self.assertEqual(c.segment[50].marker_id, 'SOD')
# 16 SOP markers would be here if we were looking for them
# SOT: start of tile part
self.assertEqual(c.segment[67].isot, 3)
self.assertEqual(c.segment[67].psot, 2081)
self.assertEqual(c.segment[67].tpsot, 0)
self.assertEqual(c.segment[67].tnsot, 1)
self.verifySOTsegment(c.segment[67], SOTsegment(3, 2081, 0, 1))
# SOD: start of data
self.assertEqual(c.segment[68].marker_id, 'SOD')
@ -1610,11 +1482,7 @@ class TestSuite(TestSuiteBase):
self.assertEqual(c.segment[3].exponent,
[8, 9, 9, 10, 9, 9, 10, 9, 9, 10])
# SOT: start of tile part
self.assertEqual(c.segment[4].isot, 0)
self.assertEqual(c.segment[4].psot, 7331)
self.assertEqual(c.segment[4].tpsot, 0)
self.assertEqual(c.segment[4].tnsot, 1)
self.verifySOTsegment(c.segment[4], SOTsegment(0, 7331, 0, 1))
# SOD: start of data
self.assertEqual(c.segment[5].marker_id, 'SOD')
@ -1686,11 +1554,7 @@ class TestSuite(TestSuiteBase):
pargs = (RCME_ISO_8859_1, "Creator: AV-J2K (c) 2000,2001 Algo Vision".encode())
self.verifyCMEsegment(c.segment[5], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[6].isot, 0)
self.assertEqual(c.segment[6].psot, 4627)
self.assertEqual(c.segment[6].tpsot, 0)
self.assertEqual(c.segment[6].tnsot, 1)
self.verifySOTsegment(c.segment[6], SOTsegment(0, 4627, 0, 1))
# SOD: start of data
self.assertEqual(c.segment[7].marker_id, 'SOD')
@ -1784,11 +1648,7 @@ class TestSuite(TestSuiteBase):
pargs = (RCME_ISO_8859_1, "Creator: AV-J2K (c) 2000,2001 Algo Vision".encode())
self.verifyCMEsegment(c.segment[6], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[7].isot, 0)
self.assertEqual(c.segment[7].psot, 262838)
self.assertEqual(c.segment[7].tpsot, 0)
self.assertEqual(c.segment[7].tnsot, 1)
self.verifySOTsegment(c.segment[7], SOTsegment(0, 262838, 0, 1))
# PPT: packed packet headers, tile-part header
self.assertEqual(c.segment[8].marker_id, 'PPT')
@ -1917,11 +1777,7 @@ class TestSuite(TestSuiteBase):
self.assertEqual(c.segment[10].ttlm, (0,))
self.assertEqual(c.segment[10].ptlm, (1366780,))
# SOT: start of tile part
self.assertEqual(c.segment[11].isot, 0)
self.assertEqual(c.segment[11].psot, 1366780)
self.assertEqual(c.segment[11].tpsot, 0)
self.assertEqual(c.segment[11].tnsot, 1)
self.verifySOTsegment(c.segment[11], SOTsegment(0, 1366780, 0, 1))
# SOD: start of data
self.assertEqual(c.segment[12].marker_id, 'SOD')
@ -1987,20 +1843,12 @@ class TestSuite(TestSuiteBase):
pargs = (RCME_ISO_8859_1, "Created by Aware, Inc.".encode())
self.verifyCMEsegment(c.segment[5], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[6].isot, 0)
self.assertEqual(c.segment[6].psot, 350)
self.assertEqual(c.segment[6].tpsot, 0)
self.assertEqual(c.segment[6].tnsot, 1)
self.verifySOTsegment(c.segment[6], SOTsegment(0, 350, 0, 1))
# SOD: start of data
self.assertEqual(c.segment[7].marker_id, 'SOD')
# SOT: start of tile part
self.assertEqual(c.segment[8].isot, 1)
self.assertEqual(c.segment[8].psot, 356)
self.assertEqual(c.segment[8].tpsot, 0)
self.assertEqual(c.segment[8].tnsot, 1)
self.verifySOTsegment(c.segment[8], SOTsegment(1, 356, 0, 1))
# QCD: Quantization default
# quantization type
@ -2015,11 +1863,7 @@ class TestSuite(TestSuiteBase):
# SOD: start of data
self.assertEqual(c.segment[10].marker_id, 'SOD')
# SOT: start of tile part
self.assertEqual(c.segment[11].isot, 2)
self.assertEqual(c.segment[11].psot, 402)
self.assertEqual(c.segment[11].tpsot, 0)
self.assertEqual(c.segment[11].tnsot, 1)
self.verifySOTsegment(c.segment[11], SOTsegment(2, 402, 0, 1))
# and so on
@ -2089,11 +1933,7 @@ class TestSuite(TestSuiteBase):
zppm = [x.zppm for x in c.segment[5:230]]
self.assertEqual(zppm, list(range(225)))
# SOT: start of tile part
self.assertEqual(c.segment[230].isot, 0)
self.assertEqual(c.segment[230].psot, 580)
self.assertEqual(c.segment[230].tpsot, 0)
self.assertEqual(c.segment[230].tnsot, 1)
self.verifySOTsegment(c.segment[230], SOTsegment(0, 580, 0, 1))
# 225 total SOT segments
isot = [x.isot for x in c.segment if x.marker_id == 'SOT']
@ -2156,11 +1996,7 @@ class TestSuite(TestSuiteBase):
pargs = (RCME_ISO_8859_1, "Creator: AV-J2K (c) 2000,2001 Algo Vision".encode())
self.verifyCMEsegment(c.segment[4], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[5].isot, 0)
self.assertEqual(c.segment[5].psot, 349)
self.assertEqual(c.segment[5].tpsot, 0)
self.assertEqual(c.segment[5].tnsot, 1)
self.verifySOTsegment(c.segment[5], SOTsegment(0, 349, 0, 1))
# PPT: packed packet headers, tile-part header
self.assertEqual(c.segment[6].marker_id, 'PPT')
@ -2247,11 +2083,7 @@ class TestSuite(TestSuiteBase):
pargs = (RCME_ISO_8859_1, "Creator: AV-J2K (c) 2000,2001 Algo Vision".encode())
self.verifyCMEsegment(c.segment[5], CMEsegment(*pargs))
# SOT: start of tile part
self.assertEqual(c.segment[6].isot, 0)
self.assertEqual(c.segment[6].psot, 434)
self.assertEqual(c.segment[6].tpsot, 0)
self.assertEqual(c.segment[6].tnsot, 1)
self.verifySOTsegment(c.segment[6], SOTsegment(0, 434, 0, 1))
# scads of SOP, EPH segments
@ -3349,13 +3181,7 @@ class TestSuite(TestSuiteBase):
self.assertEqual(ids, ['ihdr', 'colr', 'pclr', 'cmap'])
self.verifySignatureBox(jp2.box[0])
# File type box.
self.assertEqual(jp2.box[1].brand, 'jp2 ')
self.assertEqual(jp2.box[1].minor_version, 0)
self.assertEqual(jp2.box[1].compatibility_list[0], 'jp2 ')
self.assertEqual(jp2.box[1].compatibility_list[1], 'jpxb')
self.assertEqual(jp2.box[1].compatibility_list[2], 'jpx ')
self.verifyFileTypeBox(jp2.box[1], 'jp2 ', ['jp2 ', 'jpxb', 'jpx '])
# Reader requirements talk.
# unrestricted jpeg 2000 part 1
@ -3433,13 +3259,7 @@ class TestSuite(TestSuiteBase):
self.assertEqual(ids, ['ihdr', 'colr'])
self.verifySignatureBox(jp2.box[0])
# File type box.
self.assertEqual(jp2.box[1].brand, 'jp2 ')
self.assertEqual(jp2.box[1].minor_version, 0)
self.assertEqual(jp2.box[1].compatibility_list[0], 'jp2 ')
self.assertEqual(jp2.box[1].compatibility_list[1], 'jpxb')
self.assertEqual(jp2.box[1].compatibility_list[2], 'jpx ')
self.verifyFileTypeBox(jp2.box[1], 'jp2 ', ['jp2 ', 'jpxb', 'jpx '])
# Reader requirements talk.
# unrestricted jpeg 2000 part 1
@ -3511,11 +3331,7 @@ class TestSuite(TestSuiteBase):
self.assertEqual(ids, ['resd'])
self.verifySignatureBox(jp2.box[0])
# File type box.
self.assertEqual(jp2.box[1].brand, 'jp2 ')
self.assertEqual(jp2.box[1].minor_version, 0)
self.assertEqual(jp2.box[1].compatibility_list[0], 'jp2 ')
self.verifyFileTypeBox(jp2.box[1], 'jp2 ', ['jp2 '])
ihdr = glymur.jp2box.ImageHeaderBox(135, 135, num_components=2,
colorspace_unknown=True)
@ -3591,13 +3407,7 @@ class TestSuite(TestSuiteBase):
self.assertEqual(ids, ['ihdr', 'colr', 'pclr', 'cmap'])
self.verifySignatureBox(jp2.box[0])
# File type box.
self.assertEqual(jp2.box[1].brand, 'jp2 ')
self.assertEqual(jp2.box[1].minor_version, 0)
self.assertEqual(jp2.box[1].compatibility_list[0], 'jp2 ')
self.assertEqual(jp2.box[1].compatibility_list[1], 'jpxb')
self.assertEqual(jp2.box[1].compatibility_list[2], 'jpx ')
self.verifyFileTypeBox(jp2.box[1], 'jp2 ', ['jp2 ', 'jpxb', 'jpx '])
# Reader requirements talk.
# unrestricted jpeg 2000 part 1
@ -3678,11 +3488,7 @@ class TestSuite(TestSuiteBase):
self.assertEqual(ids, ['ihdr', 'colr'])
self.verifySignatureBox(jp2.box[0])
# File type box.
self.assertEqual(jp2.box[1].brand, 'jp2 ')
self.assertEqual(jp2.box[1].minor_version, 0)
self.assertEqual(jp2.box[1].compatibility_list[0], 'jp2 ')
self.verifyFileTypeBox(jp2.box[1], 'jp2 ', ['jp2 '])
ihdr = glymur.jp2box.ImageHeaderBox(576, 766, num_components=3)
self.verifyImageHeaderBox(jp2.box[2].box[0], ihdr)
@ -4096,11 +3902,7 @@ class TestSuiteWarns(TestSuiteBase):
self.assertEqual(ids, ['ihdr', 'colr'])
self.verifySignatureBox(jp2.box[0])
# File type box.
self.assertEqual(jp2.box[1].brand, 'jp2 ')
self.assertEqual(jp2.box[1].compatibility_list[1], 'jp2 ')
self.assertEqual(jp2.box[1].minor_version, 0)
self.verifyFileTypeBox(jp2.box[1], 'jp2 ', ['jp2 '])
ihdr = glymur.jp2box.ImageHeaderBox(400, 700)
self.verifyImageHeaderBox(jp2.box[2].box[0], ihdr)
@ -4138,11 +3940,7 @@ class TestSuiteWarns(TestSuiteBase):
self.assertEqual(ids, ['ihdr', 'pclr', 'cmap', 'colr'])
self.verifySignatureBox(jp2.box[0])
# File type box.
self.assertEqual(jp2.box[1].brand, 'jp2 ')
self.assertEqual(jp2.box[1].compatibility_list[1], 'jp2 ')
self.assertEqual(jp2.box[1].minor_version, 0)
self.verifyFileTypeBox(jp2.box[1], 'jp2 ', ['jp2 '])
ihdr = glymur.jp2box.ImageHeaderBox(512, 768)
self.verifyImageHeaderBox(jp2.box[2].box[0], ihdr)
@ -4183,11 +3981,7 @@ class TestSuiteWarns(TestSuiteBase):
self.assertEqual(ids, ['ihdr', 'colr'])
self.verifySignatureBox(jp2.box[0])
# File type box.
self.assertEqual(jp2.box[1].brand, 'jp2 ')
self.assertEqual(jp2.box[1].minor_version, 0)
self.assertEqual(jp2.box[1].compatibility_list[0], 'jp2 ')
self.verifyFileTypeBox(jp2.box[1], 'jp2 ', ['jp2 '])
ihdr = glymur.jp2box.ImageHeaderBox(200, 200,
num_components=3, colorspace_unknown=True)
@ -4252,11 +4046,7 @@ class TestSuiteWarns(TestSuiteBase):
self.assertEqual(ids, ['ihdr', 'colr'])
self.verifySignatureBox(jp2.box[0])
# File type box.
self.assertEqual(jp2.box[1].brand, 'jp2 ')
self.assertEqual(jp2.box[1].minor_version, 0)
self.assertEqual(jp2.box[1].compatibility_list[0], 'jp2 ')
self.verifyFileTypeBox(jp2.box[1], 'jp2 ', ['jp2 '])
ihdr = glymur.jp2box.ImageHeaderBox(117, 117, num_components=4)
self.verifyImageHeaderBox(jp2.box[2].box[0], ihdr)
@ -4327,11 +4117,7 @@ class TestSuiteWarns(TestSuiteBase):
self.assertEqual(ids, ['ihdr', 'colr'])
self.verifySignatureBox(jp2.box[0])
# File type box.
self.assertEqual(jp2.box[1].brand, 'jp2 ')
self.assertEqual(jp2.box[1].minor_version, 0)
self.assertEqual(jp2.box[1].compatibility_list[0], 'jp2 ')
self.verifyFileTypeBox(jp2.box[1], 'jp2 ', ['jp2 '])
ihdr = glymur.jp2box.ImageHeaderBox(117, 117, num_components=4)
self.verifyImageHeaderBox(jp2.box[2].box[0], ihdr)