pylint work, mostly finished off jp2box, #71
This commit is contained in:
parent
1d4c981797
commit
e773ec4db5
6 changed files with 428 additions and 449 deletions
683
glymur/jp2box.py
683
glymur/jp2box.py
File diff suppressed because it is too large
Load diff
|
|
@ -137,7 +137,7 @@ class Jp2k(Jp2kBox):
|
|||
# Back up and start again, we know we have a superbox (box of
|
||||
# boxes) here.
|
||||
f.seek(0)
|
||||
self.box = self._parse_superbox(f)
|
||||
self.box = self.parse_superbox(f)
|
||||
|
||||
def write(self, img_array, cratios=None, eph=False, psnr=None, numres=None,
|
||||
cbsize=None, psizes=None, grid_offset=None, sop=False,
|
||||
|
|
@ -450,15 +450,15 @@ class Jp2k(Jp2kBox):
|
|||
|
||||
# Check for a bad sequence of boxes.
|
||||
# 1st two boxes must be 'jP ' and 'ftyp'
|
||||
if boxes[0].id != 'jP ' or boxes[1].id != 'ftyp':
|
||||
if boxes[0].box_id != 'jP ' or boxes[1].box_id != 'ftyp':
|
||||
msg = "The first box must be the signature box and the second "
|
||||
msg += "must be the file type box."
|
||||
raise IOError(msg)
|
||||
|
||||
# jp2c must be preceeded by jp2h
|
||||
jp2h_lst = [idx for (idx, box) in enumerate(boxes) if box.id == 'jp2h']
|
||||
jp2h_lst = [idx for (idx, box) in enumerate(boxes) if box.box_id == 'jp2h']
|
||||
jp2h_idx = jp2h_lst[0]
|
||||
jp2c_lst = [idx for (idx, box) in enumerate(boxes) if box.id == 'jp2c']
|
||||
jp2c_lst = [idx for (idx, box) in enumerate(boxes) if box.box_id == 'jp2c']
|
||||
if len(jp2c_lst) == 0:
|
||||
msg = "A codestream box must be defined in the outermost "
|
||||
msg += "list of boxes."
|
||||
|
|
@ -471,27 +471,27 @@ class Jp2k(Jp2kBox):
|
|||
|
||||
# 1st jp2 header box must be ihdr
|
||||
jp2h = boxes[jp2h_idx]
|
||||
if jp2h.box[0].id != 'ihdr':
|
||||
if jp2h.box[0].box_id != 'ihdr':
|
||||
msg = "The first box in the jp2 header box must be the image "
|
||||
msg += "header box."
|
||||
raise IOError(msg)
|
||||
|
||||
# colr must be present in jp2 header box.
|
||||
jp2hb = jp2h.box
|
||||
colr_lst = [j for (j, box) in enumerate(jp2h.box) if box.id == 'colr']
|
||||
colr_lst = [j for (j, box) in enumerate(jp2h.box) if box.box_id == 'colr']
|
||||
if len(colr_lst) == 0:
|
||||
msg = "The jp2 header box must contain a color definition box."
|
||||
raise IOError(msg)
|
||||
colr = jp2h.box[colr_lst[0]]
|
||||
|
||||
# Any cdef box must be in the jp2 header following the image header.
|
||||
cdef_lst = [j for (j, box) in enumerate(boxes) if box.id == 'cdef']
|
||||
cdef_lst = [j for (j, box) in enumerate(boxes) if box.box_id == 'cdef']
|
||||
if len(cdef_lst) != 0:
|
||||
msg = "Any channel defintion box must be in the JP2 header "
|
||||
msg += "following the image header."
|
||||
raise IOError(msg)
|
||||
|
||||
cdef_lst = [j for (j, box) in enumerate(jp2h.box) if box.id == 'cdef']
|
||||
cdef_lst = [j for (j, box) in enumerate(jp2h.box) if box.box_id == 'cdef']
|
||||
if len(cdef_lst) > 1:
|
||||
msg = "Only one channel definition box is allowed in the "
|
||||
msg += "JP2 header."
|
||||
|
|
@ -515,8 +515,8 @@ class Jp2k(Jp2kBox):
|
|||
|
||||
with open(filename, 'wb') as ofile:
|
||||
for box in boxes:
|
||||
if box.id != 'jp2c':
|
||||
box._write(ofile)
|
||||
if box.box_id != 'jp2c':
|
||||
box.write(ofile)
|
||||
else:
|
||||
# The codestream gets written last.
|
||||
if len(self.box) == 0:
|
||||
|
|
@ -530,7 +530,7 @@ class Jp2k(Jp2kBox):
|
|||
else:
|
||||
# OK, I'm a jp2 file. Need to find out where the
|
||||
# raw codestream actually starts.
|
||||
jp2c = [box for box in self.box if box.id == 'jp2c']
|
||||
jp2c = [box for box in self.box if box.box_id == 'jp2c']
|
||||
jp2c = jp2c[0]
|
||||
ofile.write(struct.pack('>I', jp2c.length + 8))
|
||||
ofile.write('jp2c'.encode())
|
||||
|
|
@ -989,7 +989,7 @@ class Jp2k(Jp2kBox):
|
|||
if self._codec_format == opj2._CODEC_J2K:
|
||||
codestream = Codestream(fp, header_only=header_only)
|
||||
else:
|
||||
box = [x for x in self.box if x.id == 'jp2c']
|
||||
box = [x for x in self.box if x.box_id == 'jp2c']
|
||||
if len(box) != 1:
|
||||
msg = "JP2 files must have a single codestream."
|
||||
raise RuntimeError(msg)
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class TestChannelDefinition(unittest.TestCase):
|
|||
|
||||
jp2 = Jp2k(tfile.name)
|
||||
jp2h = jp2.box[2]
|
||||
boxes = [box.id for box in jp2h.box]
|
||||
boxes = [box.box_id for box in jp2h.box]
|
||||
self.assertEqual(boxes, ['ihdr', 'colr', 'cdef'])
|
||||
self.assertEqual(jp2h.box[2].index, (0, 1, 2))
|
||||
self.assertEqual(jp2h.box[2].channel_type, (0, 0, 0))
|
||||
|
|
@ -108,7 +108,7 @@ class TestChannelDefinition(unittest.TestCase):
|
|||
|
||||
jp2 = Jp2k(tfile.name)
|
||||
jp2h = jp2.box[2]
|
||||
boxes = [box.id for box in jp2h.box]
|
||||
boxes = [box.box_id for box in jp2h.box]
|
||||
self.assertEqual(boxes, ['ihdr', 'colr', 'cdef'])
|
||||
self.assertEqual(jp2h.box[2].index, (0, 1, 2, 3))
|
||||
self.assertEqual(jp2h.box[2].channel_type, (0, 0, 0, 1))
|
||||
|
|
@ -141,7 +141,7 @@ class TestChannelDefinition(unittest.TestCase):
|
|||
|
||||
jp2 = Jp2k(tfile.name)
|
||||
jp2h = jp2.box[2]
|
||||
boxes = [box.id for box in jp2h.box]
|
||||
boxes = [box.box_id for box in jp2h.box]
|
||||
self.assertEqual(boxes, ['ihdr', 'colr', 'cdef'])
|
||||
self.assertEqual(jp2h.box[2].index, (0,))
|
||||
self.assertEqual(jp2h.box[2].channel_type, (0,))
|
||||
|
|
@ -161,7 +161,7 @@ class TestChannelDefinition(unittest.TestCase):
|
|||
|
||||
jp2 = Jp2k(tfile.name)
|
||||
jp2h = jp2.box[2]
|
||||
boxes = [box.id for box in jp2h.box]
|
||||
boxes = [box.box_id for box in jp2h.box]
|
||||
self.assertEqual(boxes, ['ihdr', 'colr', 'cdef'])
|
||||
self.assertEqual(jp2h.box[2].index, (0, 1))
|
||||
self.assertEqual(jp2h.box[2].channel_type, (0, 1))
|
||||
|
|
@ -309,7 +309,7 @@ class TestXML(unittest.TestCase):
|
|||
with tempfile.NamedTemporaryFile(suffix=".jp2") as tfile:
|
||||
j2k.wrap(tfile.name, boxes=boxes)
|
||||
jp2 = Jp2k(tfile.name)
|
||||
self.assertEqual(jp2.box[3].id, 'xml ')
|
||||
self.assertEqual(jp2.box[3].box_id, 'xml ')
|
||||
self.assertEqual(ET.tostring(jp2.box[3].xml),
|
||||
b'<data>0</data>')
|
||||
|
||||
|
|
@ -326,7 +326,7 @@ class TestXML(unittest.TestCase):
|
|||
j2k.wrap(tfile.name, boxes=boxes)
|
||||
jp2 = Jp2k(tfile.name)
|
||||
|
||||
output_boxes = [box.id for box in jp2.box]
|
||||
output_boxes = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(output_boxes, ['jP ', 'ftyp', 'jp2h', 'xml ',
|
||||
'jp2c'])
|
||||
|
||||
|
|
@ -449,37 +449,37 @@ class TestJp2Boxes(unittest.TestCase):
|
|||
|
||||
def test_default_ContiguousCodestreamBox(self):
|
||||
b = ContiguousCodestreamBox()
|
||||
self.assertEqual(b.id, 'jp2c')
|
||||
self.assertEqual(b.main_header, [])
|
||||
self.assertEqual(b.box_id, 'jp2c')
|
||||
self.assertIsNone(b.main_header)
|
||||
|
||||
def verify_wrapped_raw(self, jp2file):
|
||||
# Shared method by at least two tests.
|
||||
jp2 = Jp2k(jp2file)
|
||||
self.assertEqual(len(jp2.box), 4)
|
||||
|
||||
self.assertEqual(jp2.box[0].id, 'jP ')
|
||||
self.assertEqual(jp2.box[0].box_id, 'jP ')
|
||||
self.assertEqual(jp2.box[0].offset, 0)
|
||||
self.assertEqual(jp2.box[0].length, 12)
|
||||
self.assertEqual(jp2.box[0].longname, 'JPEG 2000 Signature')
|
||||
|
||||
self.assertEqual(jp2.box[1].id, 'ftyp')
|
||||
self.assertEqual(jp2.box[1].box_id, 'ftyp')
|
||||
self.assertEqual(jp2.box[1].offset, 12)
|
||||
self.assertEqual(jp2.box[1].length, 20)
|
||||
self.assertEqual(jp2.box[1].longname, 'File Type')
|
||||
|
||||
self.assertEqual(jp2.box[2].id, 'jp2h')
|
||||
self.assertEqual(jp2.box[2].box_id, 'jp2h')
|
||||
self.assertEqual(jp2.box[2].offset, 32)
|
||||
self.assertEqual(jp2.box[2].length, 45)
|
||||
self.assertEqual(jp2.box[2].longname, 'JP2 Header')
|
||||
|
||||
self.assertEqual(jp2.box[3].id, 'jp2c')
|
||||
self.assertEqual(jp2.box[3].box_id, 'jp2c')
|
||||
self.assertEqual(jp2.box[3].offset, 77)
|
||||
self.assertEqual(jp2.box[3].length, 115228)
|
||||
|
||||
# jp2h super box
|
||||
self.assertEqual(len(jp2.box[2].box), 2)
|
||||
|
||||
self.assertEqual(jp2.box[2].box[0].id, 'ihdr')
|
||||
self.assertEqual(jp2.box[2].box[0].box_id, 'ihdr')
|
||||
self.assertEqual(jp2.box[2].box[0].offset, 40)
|
||||
self.assertEqual(jp2.box[2].box[0].length, 22)
|
||||
self.assertEqual(jp2.box[2].box[0].longname, 'Image Header')
|
||||
|
|
@ -492,7 +492,7 @@ class TestJp2Boxes(unittest.TestCase):
|
|||
self.assertEqual(jp2.box[2].box[0].colorspace_unknown, False)
|
||||
self.assertEqual(jp2.box[2].box[0].ip_provided, False)
|
||||
|
||||
self.assertEqual(jp2.box[2].box[1].id, 'colr')
|
||||
self.assertEqual(jp2.box[2].box[1].box_id, 'colr')
|
||||
self.assertEqual(jp2.box[2].box[1].offset, 62)
|
||||
self.assertEqual(jp2.box[2].box[1].length, 15)
|
||||
self.assertEqual(jp2.box[2].box[1].longname, 'Colour Specification')
|
||||
|
|
@ -511,7 +511,7 @@ class TestJp2Boxes(unittest.TestCase):
|
|||
j2k = Jp2k(self.j2kfile)
|
||||
with tempfile.NamedTemporaryFile(suffix=".jp2") as tfile:
|
||||
jp2 = j2k.wrap(tfile.name)
|
||||
boxes = [box.id for box in jp2.box]
|
||||
boxes = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(boxes, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
def test_default_layout_but_with_specified_boxes(self):
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ class TestJp2k(unittest.TestCase):
|
|||
warnings.simplefilter("ignore")
|
||||
jp2k = Jp2k(self._bad_xml_file)
|
||||
|
||||
self.assertEqual(jp2k.box[3].id, 'xml ')
|
||||
self.assertEqual(jp2k.box[3].box_id, 'xml ')
|
||||
self.assertEqual(jp2k.box[3].offset, 77)
|
||||
self.assertEqual(jp2k.box[3].length, 28)
|
||||
self.assertIsNone(jp2k.box[3].xml)
|
||||
|
|
@ -184,37 +184,37 @@ class TestJp2k(unittest.TestCase):
|
|||
# top-level boxes
|
||||
self.assertEqual(len(jp2k.box), 6)
|
||||
|
||||
self.assertEqual(jp2k.box[0].id, 'jP ')
|
||||
self.assertEqual(jp2k.box[0].box_id, 'jP ')
|
||||
self.assertEqual(jp2k.box[0].offset, 0)
|
||||
self.assertEqual(jp2k.box[0].length, 12)
|
||||
self.assertEqual(jp2k.box[0].longname, 'JPEG 2000 Signature')
|
||||
|
||||
self.assertEqual(jp2k.box[1].id, 'ftyp')
|
||||
self.assertEqual(jp2k.box[1].box_id, 'ftyp')
|
||||
self.assertEqual(jp2k.box[1].offset, 12)
|
||||
self.assertEqual(jp2k.box[1].length, 20)
|
||||
self.assertEqual(jp2k.box[1].longname, 'File Type')
|
||||
|
||||
self.assertEqual(jp2k.box[2].id, 'jp2h')
|
||||
self.assertEqual(jp2k.box[2].box_id, 'jp2h')
|
||||
self.assertEqual(jp2k.box[2].offset, 32)
|
||||
self.assertEqual(jp2k.box[2].length, 45)
|
||||
self.assertEqual(jp2k.box[2].longname, 'JP2 Header')
|
||||
|
||||
self.assertEqual(jp2k.box[3].id, 'uuid')
|
||||
self.assertEqual(jp2k.box[3].box_id, 'uuid')
|
||||
self.assertEqual(jp2k.box[3].offset, 77)
|
||||
self.assertEqual(jp2k.box[3].length, 638)
|
||||
|
||||
self.assertEqual(jp2k.box[4].id, 'uuid')
|
||||
self.assertEqual(jp2k.box[4].box_id, 'uuid')
|
||||
self.assertEqual(jp2k.box[4].offset, 715)
|
||||
self.assertEqual(jp2k.box[4].length, 2412)
|
||||
|
||||
self.assertEqual(jp2k.box[5].id, 'jp2c')
|
||||
self.assertEqual(jp2k.box[5].box_id, 'jp2c')
|
||||
self.assertEqual(jp2k.box[5].offset, 3127)
|
||||
self.assertEqual(jp2k.box[5].length, 1132296)
|
||||
|
||||
# jp2h super box
|
||||
self.assertEqual(len(jp2k.box[2].box), 2)
|
||||
|
||||
self.assertEqual(jp2k.box[2].box[0].id, 'ihdr')
|
||||
self.assertEqual(jp2k.box[2].box[0].box_id, 'ihdr')
|
||||
self.assertEqual(jp2k.box[2].box[0].offset, 40)
|
||||
self.assertEqual(jp2k.box[2].box[0].length, 22)
|
||||
self.assertEqual(jp2k.box[2].box[0].longname, 'Image Header')
|
||||
|
|
@ -227,7 +227,7 @@ class TestJp2k(unittest.TestCase):
|
|||
self.assertEqual(jp2k.box[2].box[0].colorspace_unknown, False)
|
||||
self.assertEqual(jp2k.box[2].box[0].ip_provided, False)
|
||||
|
||||
self.assertEqual(jp2k.box[2].box[1].id, 'colr')
|
||||
self.assertEqual(jp2k.box[2].box[1].box_id, 'colr')
|
||||
self.assertEqual(jp2k.box[2].box[1].offset, 62)
|
||||
self.assertEqual(jp2k.box[2].box[1].length, 15)
|
||||
self.assertEqual(jp2k.box[2].box[1].longname, 'Colour Specification')
|
||||
|
|
@ -272,7 +272,7 @@ class TestJp2k(unittest.TestCase):
|
|||
|
||||
jp2k = Jp2k(tfile.name)
|
||||
|
||||
self.assertEqual(jp2k.box[5].id, 'jp2c')
|
||||
self.assertEqual(jp2k.box[5].box_id, 'jp2c')
|
||||
self.assertEqual(jp2k.box[5].offset, 3127)
|
||||
self.assertEqual(jp2k.box[5].length, 1133427 + 8)
|
||||
|
||||
|
|
@ -303,8 +303,8 @@ class TestJp2k(unittest.TestCase):
|
|||
|
||||
# The top level boxes in each file should match.
|
||||
for j in range(len(baseline_jp2.box)):
|
||||
self.assertEqual(new_jp2.box[j].id,
|
||||
baseline_jp2.box[j].id)
|
||||
self.assertEqual(new_jp2.box[j].box_id,
|
||||
baseline_jp2.box[j].box_id)
|
||||
self.assertEqual(new_jp2.box[j].offset,
|
||||
baseline_jp2.box[j].offset)
|
||||
self.assertEqual(new_jp2.box[j].length,
|
||||
|
|
@ -479,18 +479,18 @@ class TestJp2k(unittest.TestCase):
|
|||
|
||||
jp2k = Jp2k(tfile.name)
|
||||
|
||||
self.assertEqual(jp2k.box[3].id, 'uinf')
|
||||
self.assertEqual(jp2k.box[3].box_id, 'uinf')
|
||||
self.assertEqual(jp2k.box[3].offset, 77)
|
||||
self.assertEqual(jp2k.box[3].length, 50)
|
||||
|
||||
self.assertEqual(jp2k.box[3].box[0].id, 'ulst')
|
||||
self.assertEqual(jp2k.box[3].box[0].box_id, 'ulst')
|
||||
self.assertEqual(jp2k.box[3].box[0].offset, 85)
|
||||
self.assertEqual(jp2k.box[3].box[0].length, 26)
|
||||
ulst = []
|
||||
ulst.append(uuid.UUID('00000000-0000-0000-0000-000000000000'))
|
||||
self.assertEqual(jp2k.box[3].box[0].ulst, ulst)
|
||||
|
||||
self.assertEqual(jp2k.box[3].box[1].id, 'url ')
|
||||
self.assertEqual(jp2k.box[3].box[1].box_id, 'url ')
|
||||
self.assertEqual(jp2k.box[3].box[1].offset, 111)
|
||||
self.assertEqual(jp2k.box[3].box[1].length, 16)
|
||||
self.assertEqual(jp2k.box[3].box[1].version, 0)
|
||||
|
|
@ -522,7 +522,7 @@ class TestJp2k(unittest.TestCase):
|
|||
|
||||
jp2k = Jp2k(tfile.name)
|
||||
|
||||
self.assertEqual(jp2k.box[3].id, 'xml ')
|
||||
self.assertEqual(jp2k.box[3].box_id, 'xml ')
|
||||
self.assertEqual(jp2k.box[3].offset, 77)
|
||||
self.assertEqual(jp2k.box[3].length, 36)
|
||||
|
||||
|
|
@ -567,10 +567,10 @@ class TestJp2k(unittest.TestCase):
|
|||
tfile2.flush()
|
||||
|
||||
jasoc = Jp2k(tfile2.name)
|
||||
self.assertEqual(jasoc.box[3].id, 'asoc')
|
||||
self.assertEqual(jasoc.box[3].box[0].id, 'lbl ')
|
||||
self.assertEqual(jasoc.box[3].box_id, 'asoc')
|
||||
self.assertEqual(jasoc.box[3].box[0].box_id, 'lbl ')
|
||||
self.assertEqual(jasoc.box[3].box[0].label, 'label')
|
||||
self.assertEqual(jasoc.box[3].box[1].id, 'xml ')
|
||||
self.assertEqual(jasoc.box[3].box[1].box_id, 'xml ')
|
||||
|
||||
def test_openjpeg_library_message(self):
|
||||
# Verify the error message produced by the openjpeg library.
|
||||
|
|
@ -599,11 +599,11 @@ class TestJp2k(unittest.TestCase):
|
|||
Invalid\svalues\sfor\scomp\s=\s0\s+
|
||||
:\sdx=1\sdy=0''', re.VERBOSE)
|
||||
if sys.hexversion < 0x03020000:
|
||||
with self.assertRaisesRegexp(IOError, regexp) as ce:
|
||||
d = j.read(reduce=3)
|
||||
with self.assertRaisesRegexp((IOError, OSError), regexp) as ce:
|
||||
d = j.read(reduce=1)
|
||||
else:
|
||||
with self.assertRaisesRegex(IOError, regexp) as ce:
|
||||
d = j.read(reduce=3)
|
||||
with self.assertRaisesRegex((IOError, OSError), regexp) as ce:
|
||||
d = j.read(reduce=1)
|
||||
|
||||
def test_xmp_attribute(self):
|
||||
# Verify that we can read the XMP packet in our shipping example file.
|
||||
|
|
|
|||
|
|
@ -4001,11 +4001,11 @@ class TestSuiteDump(unittest.TestCase):
|
|||
jfile = os.path.join(data_root, 'input/conformance/file1.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'xml ', 'jp2h', 'xml ',
|
||||
'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[3].box]
|
||||
ids = [box.box_id for box in jp2.box[3].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -4050,10 +4050,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
jfile = os.path.join(data_root, 'input/conformance/file2.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr', 'cdef'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -4096,10 +4096,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
jfile = os.path.join(data_root, 'input/conformance/file3.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -4142,10 +4142,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
jfile = os.path.join(data_root, 'input/conformance/file4.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -4183,10 +4183,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
jfile = os.path.join(data_root, 'input/conformance/file5.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'rreq', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[3].box]
|
||||
ids = [box.box_id for box in jp2.box[3].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -4230,10 +4230,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
jfile = os.path.join(data_root, 'input/conformance/file6.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -4273,10 +4273,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
jfile = os.path.join(data_root, 'input/conformance/file7.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'rreq', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[3].box]
|
||||
ids = [box.box_id for box in jp2.box[3].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -4327,11 +4327,11 @@ class TestSuiteDump(unittest.TestCase):
|
|||
jfile = os.path.join(data_root, 'input/conformance/file8.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'xml ', 'jp2c',
|
||||
'xml '])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -4380,10 +4380,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
jfile = os.path.join(data_root, 'input/conformance/file9.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'pclr', 'cmap', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -5877,10 +5877,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
# colr box has bad length.
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -6010,10 +6010,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
# colr box has bad length.
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -6138,10 +6138,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
'input/nonregression/file409752.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -6272,10 +6272,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
'input/nonregression/issue104_jpxstream.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'rreq', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[3].box]
|
||||
ids = [box.box_id for box in jp2.box[3].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr', 'pclr', 'cmap'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -6389,10 +6389,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
warnings.simplefilter("ignore")
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'XML ', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -6483,10 +6483,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
'input/nonregression/issue206_image-000.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'rreq', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[3].box]
|
||||
ids = [box.box_id for box in jp2.box[3].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -6583,13 +6583,13 @@ class TestSuiteDump(unittest.TestCase):
|
|||
'input/nonregression/Marrin.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr', 'cdef', 'res '])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box[3].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box[3].box]
|
||||
self.assertEqual(ids, ['resd'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -6699,10 +6699,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
warnings.simplefilter("ignore")
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'rreq', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[3].box]
|
||||
ids = [box.box_id for box in jp2.box[3].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr', 'pclr', 'cmap'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -6813,10 +6813,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
'input/nonregression/mem-b2b86b74-2753.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'rreq', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[3].box]
|
||||
ids = [box.box_id for box in jp2.box[3].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr', 'pclr', 'cmap'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -6927,10 +6927,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
'input/nonregression/merged.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -7034,10 +7034,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
warnings.simplefilter("ignore")
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -7133,10 +7133,10 @@ class TestSuiteDump(unittest.TestCase):
|
|||
warnings.simplefilter("ignore")
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
self.assertEqual(ids, ['jP ', 'ftyp', 'jp2h', 'jp2c'])
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
@ -7229,12 +7229,12 @@ class TestSuiteDump(unittest.TestCase):
|
|||
'input/nonregression/text_GBR.jp2')
|
||||
jp2 = Jp2k(jfile)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
lst = ['jP ', 'ftyp', 'rreq', 'jp2h',
|
||||
'uuid', 'uuid', 'uuid', 'uuid', 'jp2c']
|
||||
self.assertEqual(ids, lst)
|
||||
|
||||
ids = [box.id for box in jp2.box[3].box]
|
||||
ids = [box.box_id for box in jp2.box[3].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr', 'res '])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
|
|||
|
|
@ -663,11 +663,11 @@ class TestSuiteWrite(unittest.TestCase):
|
|||
jp2 = Jp2k(tfile.name, 'wb')
|
||||
jp2.write(data, psnr=[30, 35, 50], prog='LRCP', numres=3)
|
||||
|
||||
ids = [box.id for box in jp2.box]
|
||||
ids = [box.box_id for box in jp2.box]
|
||||
lst = ['jP ', 'ftyp', 'jp2h', 'jp2c']
|
||||
self.assertEqual(ids, lst)
|
||||
|
||||
ids = [box.id for box in jp2.box[2].box]
|
||||
ids = [box.box_id for box in jp2.box[2].box]
|
||||
self.assertEqual(ids, ['ihdr', 'colr'])
|
||||
|
||||
# Signature box. Check for corruption.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue