diff --git a/CHANGES.txt b/CHANGES.txt index 071453c..2abf6d0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,6 @@ -Sep 25, 2014 - -v0.7.0 Added __getitem__, __setitem__ support. +Oct 01, 2014 - v0.7.0 Added array-style slicing. -Mar 06, 2014 - Added Cinema2K, Cinema4K write support. +August 03, 2014 - v0.6.0 Added Cinema2K, Cinema4K write support. Changed constructor for ChannelDefinition box. Removed support for Python 2.6. Added write support for JP2 UUID, DataEntryURL, Palette and Component Mapping boxes, JPX Association, NumberList diff --git a/docs/source/conf.py b/docs/source/conf.py index 5c44e90..ace116b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -78,7 +78,7 @@ copyright = u'2013, John Evans' # The short X.Y version. version = '0.7' # The full version, including alpha/beta/rc tags. -release = '0.7.0rc1' +release = '0.7.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/source/roadmap.rst b/docs/source/roadmap.rst index df629ac..503fbc4 100644 --- a/docs/source/roadmap.rst +++ b/docs/source/roadmap.rst @@ -2,8 +2,10 @@ Platforms Tested (0.7.0 release only) ------------------------------------- * Linux Mint 17 / Python 3.4.0 and 2.7.6 / OpenJPEG 2.1.0 and 1.3.0 - * MacOS 10.6.8 / MacPorts / Python 3.4.1, 3.3.5,and 2.7.8 + * MacOS 10.6.8 / MacPorts Python 3.4.1, 3.3.5,and 2.7.8 / OpenJPEG 2.1.0 * CentOS 6.5 / Anaconda Python 3.4.1 / OpenJPEG 1.3.0 + * Fedora 20 i386 / Python 2.7.5 and 3.3.2 / OpenJPEG 1.5.1 + * Windows 7 32bit / Anaconda Python 2.7.6 and 3.4.1 / OpenJPEG 2.1.0 ------------ Known Issues diff --git a/glymur/jp2k.py b/glymur/jp2k.py index 734ed60..87028e1 100644 --- a/glymur/jp2k.py +++ b/glymur/jp2k.py @@ -772,7 +772,7 @@ class Jp2k(Jp2kBox): # Should have a slice object where start = stop = step = None self.write(data) else: - msg = "Images currently must be written entirely at once." + msg = "Partial write operations are currently not allowed." raise TypeError(msg) def __getitem__(self, pargs): @@ -832,9 +832,11 @@ class Jp2k(Jp2kBox): # one of them. step = rows_step - if np.log2(step) != np.floor(np.log2(step)): + # Check if the step size is a power of 2. + if np.abs(np.log2(step) - np.round(np.log2(step))) > 1e-6: msg = "Row and column strides must be powers of 2." raise IndexError(msg) + rlevel = np.int(np.round(np.log2(step))) if rows.start is None: rows_start = 0 @@ -857,7 +859,7 @@ class Jp2k(Jp2kBox): cols_stop = cols.stop area = (rows_start, cols_start, rows_stop, cols_stop) - data = self.read(area=area, rlevel=np.int(np.log2(step))) + data = self.read(area=area, rlevel=rlevel) if len(pargs) == 2: return data diff --git a/glymur/test/test_config.py b/glymur/test/test_config.py index 7196d35..f908272 100644 --- a/glymur/test/test_config.py +++ b/glymur/test/test_config.py @@ -71,6 +71,7 @@ class TestSuite(unittest.TestCase): Jp2k(self.jp2file) @unittest.skipIf(WARNING_INFRASTRUCTURE_ISSUE, WARNING_INFRASTRUCTURE_MSG) + @unittest.skipIf(os.name == "nt", 'named temporary file issue on windows') def test_xdg_env_config_file_is_bad(self): """A non-existant library location should be rejected.""" with tempfile.TemporaryDirectory() as tdir: diff --git a/glymur/version.py b/glymur/version.py index 43ae3f5..2092d4b 100644 --- a/glymur/version.py +++ b/glymur/version.py @@ -19,7 +19,7 @@ from .lib import openjp2 as opj2 # Do not change the format of this next line! Doing so risks breaking # setup.py -version = "0.7.0rc1" +version = "0.7.0" _sv = LooseVersion(version) version_tuple = _sv.version diff --git a/setup.py b/setup.py index 5be9368..1a61dc3 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ import os import re import sys -kwargs = {'name': 'glymur', +kwargs = {'name': 'Glymur', 'description': 'Tools for accessing JPEG2000 files', 'long_description': open('README.md').read(), 'author': 'John Evans',