pylint work, moving some definitions around. #71

This commit is contained in:
John Evans 2013-07-09 09:01:16 -04:00
commit b317678230
5 changed files with 90 additions and 70 deletions

View file

@ -12,11 +12,23 @@ import warnings
import numpy as np import numpy as np
from .core import _progression_order_display from .core import LRCP, RLCP, RPCL, PCRL, CPRL
from .core import _wavelet_transform_display from .core import WAVELET_TRANSFORM_9x7_IRREVERSIBLE
from .core import WAVELET_TRANSFORM_5x3_REVERSIBLE
from .core import _capabilities_display from .core import _capabilities_display
from .lib import openjp2 as opj2 from .lib import openjp2 as opj2
_PROGRESSION_ORDER_DISPLAY = {
LRCP: 'LRCP',
RLCP: 'RLCP',
RPCL: 'RPCL',
PCRL: 'PCRL',
CPRL: 'CPRL'}
_WAVELET_TRANSFORM_DISPLAY = {
WAVELET_TRANSFORM_9x7_IRREVERSIBLE: '9-7 irreversible',
WAVELET_TRANSFORM_5x3_REVERSIBLE: '5-3 reversible'}
# Need a catch-all list of valid markers. # Need a catch-all list of valid markers.
# See table A-1 in ISO/IEC FCD15444-1. # See table A-1 in ISO/IEC FCD15444-1.
_VALID_MARKERS = [0xff00, 0xff01, 0xfffe] _VALID_MARKERS = [0xff00, 0xff01, 0xfffe]
@ -493,7 +505,7 @@ class COCsegment(Segment):
msg = msg.format(self.spcoc[0] + 1, msg = msg.format(self.spcoc[0] + 1,
int(self._code_block_size[0]), int(self._code_block_size[0]),
int(self._code_block_size[1]), int(self._code_block_size[1]),
_wavelet_transform_display[self.spcoc[4]]) _WAVELET_TRANSFORM_DISPLAY[self.spcoc[4]])
msg += '\n ' msg += '\n '
msg += _context_string(self.spcoc[3]) msg += _context_string(self.spcoc[3])
@ -587,13 +599,13 @@ class CODsegment(Segment):
' Wavelet transform: {6}'] ' Wavelet transform: {6}']
msg += '\n '.join(lines) msg += '\n '.join(lines)
msg = msg.format(_progression_order_display[self.spcod[0]], msg = msg.format(_PROGRESSION_ORDER_DISPLAY[self.spcod[0]],
self._layers, self._layers,
mct, mct,
self.spcod[4] + 1, self.spcod[4] + 1,
int(self._code_block_size[0]), int(self._code_block_size[0]),
int(self._code_block_size[1]), int(self._code_block_size[1]),
_wavelet_transform_display[self.spcod[8]]) _WAVELET_TRANSFORM_DISPLAY[self.spcod[8]])
msg += '\n Precinct size: ' msg += '\n Precinct size: '
if self._precinct_size is None: if self._precinct_size is None:
@ -770,7 +782,7 @@ class PODsegment(Segment):
self.lyepod[j], self.lyepod[j],
self.repod[j], self.repod[j],
self.cdpod[j], self.cdpod[j],
_progression_order_display[self.ppod[j]]) _PROGRESSION_ORDER_DISPLAY[self.ppod[j]])
return msg return msg

View file

@ -5,14 +5,7 @@ RPCL = 2
PCRL = 3 PCRL = 3
CPRL = 4 CPRL = 4
_progression_order_display = { PROGRESSION_ORDER = {
LRCP: 'LRCP',
RLCP: 'RLCP',
RPCL: 'RPCL',
PCRL: 'PCRL',
CPRL: 'CPRL'}
progression_order = {
'LRCP': LRCP, 'LRCP': LRCP,
'RLCP': RLCP, 'RLCP': RLCP,
'RPCL': RPCL, 'RPCL': RPCL,
@ -22,27 +15,11 @@ progression_order = {
WAVELET_TRANSFORM_9x7_IRREVERSIBLE = 0 WAVELET_TRANSFORM_9x7_IRREVERSIBLE = 0
WAVELET_TRANSFORM_5x3_REVERSIBLE = 1 WAVELET_TRANSFORM_5x3_REVERSIBLE = 1
_wavelet_transform_display = {
WAVELET_TRANSFORM_9x7_IRREVERSIBLE: '9-7 irreversible',
WAVELET_TRANSFORM_5x3_REVERSIBLE: '5-3 reversible'}
ENUMERATED_COLORSPACE = 1 ENUMERATED_COLORSPACE = 1
RESTRICTED_ICC_PROFILE = 2 RESTRICTED_ICC_PROFILE = 2
ANY_ICC_PROFILE = 3 ANY_ICC_PROFILE = 3
VENDOR_COLOR_METHOD = 4 VENDOR_COLOR_METHOD = 4
_method_display = {
ENUMERATED_COLORSPACE: 'enumerated colorspace',
RESTRICTED_ICC_PROFILE: 'restricted ICC profile',
ANY_ICC_PROFILE: 'any ICC profile',
VENDOR_COLOR_METHOD: 'vendor color method'}
_ = {1: 'accurately represents correct colorspace definition',
2: 'approximates correct colorspace definition, exceptional quality',
3: 'approximates correct colorspace definition, reasonable quality',
4: 'approximates correct colorspace definition, poor quality'}
_approximation_display = _
# Registration values for comment markers. # Registration values for comment markers.
RCME_BINARY = 0 # binary value comments RCME_BINARY = 0 # binary value comments
RCME_ISO_8859_1 = 1 # comments in latin-1 codec RCME_ISO_8859_1 = 1 # comments in latin-1 codec
@ -98,11 +75,6 @@ _capabilities_display = {
3: '3'} 3: '3'}
# Reader requirements # Reader requirements
#RREQ_UNRESTRICTED_JPEG2000_PART_1 = 5
#RREQ_UNRESTRICTED_JPEG2000_PART_2 = 6
#RREQ_CMYK_ENUMERATED_COLORSPACE = 55
#RREQ_E_SRGB_ENUMERATED_COLORSPACE = 60
#RREQ_ROMM_RGB_ENUMERATED_COLORSPACE = 61
_reader_requirements_display = { _reader_requirements_display = {
0: 'File not completely understood', 0: 'File not completely understood',
1: 'Deprecated', 1: 'Deprecated',

View file

@ -27,12 +27,23 @@ import xml.etree.cElementTree as ET
import numpy as np import numpy as np
from .codestream import Codestream from .codestream import Codestream
from .core import _approximation_display
from .core import _colorspace_map_display from .core import _colorspace_map_display
from .core import _color_type_map_display from .core import _color_type_map_display
from .core import _method_display
from .core import _reader_requirements_display from .core import _reader_requirements_display
from .core import ENUMERATED_COLORSPACE from .core import ENUMERATED_COLORSPACE, RESTRICTED_ICC_PROFILE
from .core import ANY_ICC_PROFILE, VENDOR_COLOR_METHOD
_METHOD_DISPLAY = {
ENUMERATED_COLORSPACE: 'enumerated colorspace',
RESTRICTED_ICC_PROFILE: 'restricted ICC profile',
ANY_ICC_PROFILE: 'any ICC profile',
VENDOR_COLOR_METHOD: 'vendor color method'}
_ = {1: 'accurately represents correct colorspace definition',
2: 'approximates correct colorspace definition, exceptional quality',
3: 'approximates correct colorspace definition, reasonable quality',
4: 'approximates correct colorspace definition, poor quality'}
_approximation_display = _
class Jp2kBox(object): class Jp2kBox(object):
@ -189,7 +200,7 @@ class ColourSpecificationBox(Jp2kBox):
def __str__(self): def __str__(self):
msg = Jp2kBox.__str__(self) msg = Jp2kBox.__str__(self)
msg += '\n Method: {0}'.format(_method_display[self.method]) msg += '\n Method: {0}'.format(_METHOD_DISPLAY[self.method])
msg += '\n Precedence: {0}'.format(self.precedence) msg += '\n Precedence: {0}'.format(self.precedence)
if self.approximation is not 0: if self.approximation is not 0:

View file

@ -21,7 +21,7 @@ import numpy as np
from .codestream import Codestream from .codestream import Codestream
from .core import SRGB from .core import SRGB
from .core import GREYSCALE from .core import GREYSCALE
from .core import progression_order from .core import PROGRESSION_ORDER
from .jp2box import Jp2kBox from .jp2box import Jp2kBox
from .jp2box import JPEG2000SignatureBox from .jp2box import JPEG2000SignatureBox
from .jp2box import FileTypeBox from .jp2box import FileTypeBox
@ -286,7 +286,7 @@ class Jp2k(Jp2kBox):
if prog is not None: if prog is not None:
prog = prog.upper() prog = prog.upper()
cparams.prog_order = progression_order[prog] cparams.prog_order = PROGRESSION_ORDER[prog]
if psnr is not None: if psnr is not None:
cparams.tcp_numlayers = len(psnr) cparams.tcp_numlayers = len(psnr)
@ -475,9 +475,11 @@ class Jp2k(Jp2kBox):
raise IOError(msg) raise IOError(msg)
# jp2c must be preceeded by jp2h # jp2c must be preceeded by jp2h
jp2h_lst = [idx for (idx, box) in enumerate(boxes) if box.box_id == 'jp2h'] jp2h_lst = [idx for (idx, box) in enumerate(boxes)
if box.box_id == 'jp2h']
jp2h_idx = jp2h_lst[0] jp2h_idx = jp2h_lst[0]
jp2c_lst = [idx for (idx, box) in enumerate(boxes) if box.box_id == 'jp2c'] jp2c_lst = [idx for (idx, box) in enumerate(boxes)
if box.box_id == 'jp2c']
if len(jp2c_lst) == 0: if len(jp2c_lst) == 0:
msg = "A codestream box must be defined in the outermost " msg = "A codestream box must be defined in the outermost "
msg += "list of boxes." msg += "list of boxes."
@ -496,7 +498,8 @@ class Jp2k(Jp2kBox):
raise IOError(msg) raise IOError(msg)
# colr must be present in jp2 header box. # colr must be present in jp2 header box.
colr_lst = [j for (j, box) in enumerate(jp2h.box) if box.box_id == 'colr'] colr_lst = [j for (j, box) in enumerate(jp2h.box)
if box.box_id == 'colr']
if len(colr_lst) == 0: if len(colr_lst) == 0:
msg = "The jp2 header box must contain a color definition box." msg = "The jp2 header box must contain a color definition box."
raise IOError(msg) raise IOError(msg)
@ -509,7 +512,8 @@ class Jp2k(Jp2kBox):
msg += "following the image header." msg += "following the image header."
raise IOError(msg) raise IOError(msg)
cdef_lst = [j for (j, box) in enumerate(jp2h.box) if box.box_id == 'cdef'] cdef_lst = [j for (j, box) in enumerate(jp2h.box)
if box.box_id == 'cdef']
if len(cdef_lst) > 1: if len(cdef_lst) > 1:
msg = "Only one channel definition box is allowed in the " msg = "Only one channel definition box is allowed in the "
msg += "JP2 header." msg += "JP2 header."
@ -717,7 +721,8 @@ class Jp2k(Jp2kBox):
with warnings.catch_warnings(): with warnings.catch_warnings():
warnings.simplefilter("ignore") warnings.simplefilter("ignore")
nelts = nrows * ncols nelts = nrows * ncols
band = np.ctypeslib.as_array((ctypes.c_int32 * nelts).from_address(addr)) band = np.ctypeslib.as_array(
(ctypes.c_int32 * nelts).from_address(addr))
data[:, :, k] = np.reshape(band.astype(dtype), data[:, :, k] = np.reshape(band.astype(dtype),
(nrows, ncols)) (nrows, ncols))

View file

@ -4035,7 +4035,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[3].box[1].method, 1) self.assertEqual(jp2.box[3].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[3].box[1].precedence, 0) self.assertEqual(jp2.box[3].box[1].precedence, 0)
self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact ?? self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact ??
self.assertEqual(jp2.box[3].box[1].colorspace, glymur.core.SRGB) self.assertEqual(jp2.box[3].box[1].colorspace, glymur.core.SRGB)
@ -4077,7 +4078,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 1) self.assertEqual(jp2.box[2].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 1) # JPX exact?? self.assertEqual(jp2.box[2].box[1].approximation, 1) # JPX exact??
self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.YCC) self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.YCC)
@ -4123,7 +4125,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 1) self.assertEqual(jp2.box[2].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 1) # JPX exact self.assertEqual(jp2.box[2].box[1].approximation, 1) # JPX exact
self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.YCC) self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.YCC)
@ -4169,7 +4172,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 1) self.assertEqual(jp2.box[2].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 1) # JPX exact? self.assertEqual(jp2.box[2].box[1].approximation, 1) # JPX exact?
self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.GREYSCALE) self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.GREYSCALE)
@ -4211,7 +4215,7 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[3].box[1].method, 2) # enumerated self.assertEqual(jp2.box[3].box[1].method, glymur.core.RESTRICTED_ICC_PROFILE) # enumerated
self.assertEqual(jp2.box[3].box[1].precedence, 0) self.assertEqual(jp2.box[3].box[1].precedence, 0)
self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact
self.assertEqual(jp2.box[3].box[1].icc_profile['Size'], 546) self.assertEqual(jp2.box[3].box[1].icc_profile['Size'], 546)
@ -4219,7 +4223,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[3].box[2].method, 1) # enumerated self.assertEqual(jp2.box[3].box[2].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[3].box[2].precedence, 1) self.assertEqual(jp2.box[3].box[2].precedence, 1)
self.assertEqual(jp2.box[3].box[2].approximation, 1) # JPX exact self.assertEqual(jp2.box[3].box[2].approximation, 1) # JPX exact
self.assertIsNone(jp2.box[3].box[2].icc_profile) self.assertIsNone(jp2.box[3].box[2].icc_profile)
@ -4257,7 +4262,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 1) self.assertEqual(jp2.box[2].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 1) # JPX exact self.assertEqual(jp2.box[2].box[1].approximation, 1) # JPX exact
self.assertIsNone(jp2.box[2].box[1].icc_profile) self.assertIsNone(jp2.box[2].box[1].icc_profile)
@ -4306,7 +4312,7 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[3].box[1].method, 2) self.assertEqual(jp2.box[3].box[1].method, glymur.core.RESTRICTED_ICC_PROFILE)
self.assertEqual(jp2.box[3].box[1].precedence, 0) self.assertEqual(jp2.box[3].box[1].precedence, 0)
self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact
self.assertEqual(jp2.box[3].box[1].icc_profile['Size'], 13332) self.assertEqual(jp2.box[3].box[1].icc_profile['Size'], 13332)
@ -4314,7 +4320,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[3].box[2].method, 1) # enumerated cspace self.assertEqual(jp2.box[3].box[2].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[3].box[2].precedence, 1) self.assertEqual(jp2.box[3].box[2].precedence, 1)
self.assertEqual(jp2.box[3].box[2].approximation, 1) # JPX exact self.assertEqual(jp2.box[3].box[2].approximation, 1) # JPX exact
self.assertIsNone(jp2.box[3].box[2].icc_profile) self.assertIsNone(jp2.box[3].box[2].icc_profile)
@ -4355,7 +4362,7 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 2) # enumerated self.assertEqual(jp2.box[2].box[1].method, glymur.core.RESTRICTED_ICC_PROFILE) # enumerated
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 1) # JPX exact self.assertEqual(jp2.box[2].box[1].approximation, 1) # JPX exact
self.assertEqual(jp2.box[2].box[1].icc_profile['Size'], 414) self.assertEqual(jp2.box[2].box[1].icc_profile['Size'], 414)
@ -4427,7 +4434,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[3].method, 1) self.assertEqual(jp2.box[2].box[3].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[2].box[3].precedence, 0) self.assertEqual(jp2.box[2].box[3].precedence, 0)
self.assertEqual(jp2.box[2].box[3].approximation, 1) # JPX exact self.assertEqual(jp2.box[2].box[3].approximation, 1) # JPX exact
self.assertIsNone(jp2.box[2].box[3].icc_profile) self.assertIsNone(jp2.box[2].box[3].icc_profile)
@ -5904,7 +5912,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 1) self.assertEqual(jp2.box[2].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 0) # not allowed? self.assertEqual(jp2.box[2].box[1].approximation, 0) # not allowed?
self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.SRGB) self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.SRGB)
@ -6037,7 +6046,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 1) self.assertEqual(jp2.box[2].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2 self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2
self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.SRGB) self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.SRGB)
@ -6165,7 +6175,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 1) self.assertEqual(jp2.box[2].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2 self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2
self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.YCC) self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.YCC)
@ -6305,7 +6316,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[3].box[1].method, 1) # enumerated self.assertEqual(jp2.box[3].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[3].box[1].precedence, 2) self.assertEqual(jp2.box[3].box[1].precedence, 2)
self.assertEqual(jp2.box[3].box[1].approximation, 1) # exact self.assertEqual(jp2.box[3].box[1].approximation, 1) # exact
self.assertEqual(jp2.box[3].box[1].colorspace, glymur.core.SRGB) self.assertEqual(jp2.box[3].box[1].colorspace, glymur.core.SRGB)
@ -6416,7 +6428,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 1) self.assertEqual(jp2.box[2].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 0) self.assertEqual(jp2.box[2].box[1].approximation, 0)
self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.SRGB) self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.SRGB)
@ -6516,7 +6529,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[3].box[1].method, 1) # ICC self.assertEqual(jp2.box[3].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[3].box[1].precedence, 2) self.assertEqual(jp2.box[3].box[1].precedence, 2)
self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact
self.assertEqual(jp2.box[3].box[1].colorspace, glymur.core.SRGB) self.assertEqual(jp2.box[3].box[1].colorspace, glymur.core.SRGB)
@ -6613,7 +6627,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 1) self.assertEqual(jp2.box[2].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2 self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2
self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.GREYSCALE) self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.GREYSCALE)
@ -6732,7 +6747,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[3].box[1].method, 1) # enumerated self.assertEqual(jp2.box[3].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[3].box[1].precedence, 2) self.assertEqual(jp2.box[3].box[1].precedence, 2)
self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact
self.assertEqual(jp2.box[3].box[1].colorspace, glymur.core.CMYK) self.assertEqual(jp2.box[3].box[1].colorspace, glymur.core.CMYK)
@ -6846,7 +6862,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[3].box[1].method, 1) # enumerated self.assertEqual(jp2.box[3].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[3].box[1].precedence, 2) self.assertEqual(jp2.box[3].box[1].precedence, 2)
self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact
self.assertEqual(jp2.box[3].box[1].colorspace, glymur.core.SRGB) self.assertEqual(jp2.box[3].box[1].colorspace, glymur.core.SRGB)
@ -6954,7 +6971,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 1) self.assertEqual(jp2.box[2].box[1].method,
glymur.core.ENUMERATED_COLORSPACE)
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2 self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2
self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.YCC) self.assertEqual(jp2.box[2].box[1].colorspace, glymur.core.YCC)
@ -7061,7 +7079,7 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 2) # res icc self.assertEqual(jp2.box[2].box[1].method, glymur.core.RESTRICTED_ICC_PROFILE) # res icc
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2 self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2
self.assertIsNone(jp2.box[2].box[1].icc_profile) self.assertIsNone(jp2.box[2].box[1].icc_profile)
@ -7160,7 +7178,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[2].box[1].method, 2) # restricted icc self.assertEqual(jp2.box[2].box[1].method,
glymur.core.RESTRICTED_ICC_PROFILE)
self.assertEqual(jp2.box[2].box[1].precedence, 0) self.assertEqual(jp2.box[2].box[1].precedence, 0)
self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2 self.assertEqual(jp2.box[2].box[1].approximation, 0) # JP2
self.assertIsNone(jp2.box[2].box[1].icc_profile) self.assertIsNone(jp2.box[2].box[1].icc_profile)
@ -7262,7 +7281,8 @@ class TestSuiteDump(unittest.TestCase):
# Jp2 Header # Jp2 Header
# Colour specification # Colour specification
self.assertEqual(jp2.box[3].box[1].method, 3) # any icc self.assertEqual(jp2.box[3].box[1].method,
glymur.core.ANY_ICC_PROFILE)
self.assertEqual(jp2.box[3].box[1].precedence, 2) self.assertEqual(jp2.box[3].box[1].precedence, 2)
self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact self.assertEqual(jp2.box[3].box[1].approximation, 1) # JPX exact
self.assertEqual(jp2.box[3].box[1].icc_profile['Size'], 1328) self.assertEqual(jp2.box[3].box[1].icc_profile['Size'], 1328)