Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion download_bioformats_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ def download_bioformats_tstfiles():
import jpype
except ImportError:
raise ImportError("JPype is required for running tests on these files.")
from six.moves.urllib.request import urlretrieve
from urllib.request import urlretrieve
from zipfile import ZipFile

path, _ = os.path.split(os.path.abspath(__file__))
Expand Down
4 changes: 0 additions & 4 deletions pims/api.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

from slicerator import pipeline
from pims.base_frames import FramesSequence, FramesSequenceND
from pims.frame import Frame
from pims.display import (export, play, scrollable_stack, to_rgb, normalize,
plot_to_frame, plots_to_frame)
from itertools import chain

import six
import glob
import os
from warnings import warn
Expand Down
10 changes: 3 additions & 7 deletions pims/base_frames.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)
import six
from six import with_metaclass
import numpy as np
import itertools
from slicerator import Slicerator, propagate_attr, index_attr
from .frame import Frame
from abc import ABCMeta, abstractmethod, abstractproperty
from abc import ABC, abstractmethod, abstractproperty
from warnings import warn


class FramesStream(with_metaclass(ABCMeta, object)):
class FramesStream(ABC):
"""
A base class for wrapping input data which knows how to
advance to the next frame, but does not have random access.
Expand Down Expand Up @@ -377,7 +373,7 @@ def __setitem__(self, attr, value):

def update(self, *args, **kwargs):
# So that update does the check too
for k, v in six.iteritems(dict(*args, **kwargs)):
for k, v in dict(*args, **kwargs).items():
self[k] = v


Expand Down
5 changes: 1 addition & 4 deletions pims/bioformats.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import numpy as np

from pims.base_frames import FramesSequence, FramesSequenceND
Expand Down Expand Up @@ -56,7 +53,7 @@ def _find_jar():

def download_jar(version='6'):
""" Downloads the bioformats distribution of given version. """
from six.moves.urllib.request import urlopen
from urllib.request import urlopen
import hashlib

for loc in _gen_jar_locations():
Expand Down
6 changes: 0 additions & 6 deletions pims/cine.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@

# Modified by B. Neel
###############################################################################
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six

from pims.frame import Frame
from pims.base_frames import FramesSequence, index_attr
Expand All @@ -24,7 +20,6 @@
from threading import Lock
import datetime
import hashlib
import sys
import warnings
from collections.abc import Iterable

Expand Down Expand Up @@ -350,7 +345,6 @@ def class_exts(cls):
'get_fps', 'compression', 'cfa', 'off_set']

def __init__(self, filename):
py_ver = sys.version_info
super(Cine, self).__init__()
self.f = open(filename, 'rb')
self._filename = filename
Expand Down
4 changes: 0 additions & 4 deletions pims/display.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six
import uuid
import itertools
import numpy as np
Expand Down
4 changes: 0 additions & 4 deletions pims/ffmpeg_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@
#
# Files heavily edited by PIMS contributors
# January 2014
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six

import re
import subprocess as sp
Expand Down
4 changes: 0 additions & 4 deletions pims/frame.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

from base64 import b64encode
import six

from numpy import ndarray, asarray
from pims.display import _scrollable_stack, _as_png, to_rgb
Expand Down
3 changes: 0 additions & 3 deletions pims/image_reader.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import numpy as np

from pims.base_frames import FramesSequence, FramesSequenceND
Expand Down
9 changes: 2 additions & 7 deletions pims/image_sequence.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six
from six.moves import map
import os
import glob
import fnmatch
Expand Down Expand Up @@ -91,7 +86,7 @@ def imread(self, filename, **kwargs):

def _get_files(self, path_spec):
# deal with if input is _not_ a string
if not isinstance(path_spec, six.string_types):
if not isinstance(path_spec, str):
# assume it is iterable and off we go!
self._filepaths = list(path_spec)
self._count = len(self._filepaths)
Expand Down Expand Up @@ -285,7 +280,7 @@ def __repr__(self):

def _get_files(self, path_spec):
# deal with if input is _not_ a string
if not isinstance(path_spec, six.string_types):
if not isinstance(path_spec, str):
# assume it is iterable and off we go!
self._filepaths = sorted(list(path_spec), key=natural_keys)
self._count = len(path_spec)
Expand Down
5 changes: 0 additions & 5 deletions pims/imageio_reader.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six

from pims.base_frames import FramesSequenceND
from pims.frame import Frame

Expand Down
5 changes: 0 additions & 5 deletions pims/moviepy_reader.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six

from pims.base_frames import FramesSequence
from pims.frame import Frame
import warnings
Expand Down
5 changes: 0 additions & 5 deletions pims/norpix_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@
Author: Nathan C. Keim
Based heavily on cine.py by Kleckner and Caswell
"""
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six
from six.moves import range

from pims.frame import Frame
from pims.base_frames import FramesSequence, index_attr
Expand Down
4 changes: 0 additions & 4 deletions pims/process.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import numpy as np
from slicerator import pipeline, Pipeline
import six


@pipeline
Expand Down
3 changes: 0 additions & 3 deletions pims/pyav_reader.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import numpy as np

from pims.base_frames import FramesSequence
Expand Down
3 changes: 0 additions & 3 deletions pims/spe_stack.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import

import os
import warnings
import numpy as np
Expand Down
Binary file removed pims/tests/data/stuck_metadata_py2.pkl
Binary file not shown.
12 changes: 4 additions & 8 deletions pims/tests/test_bioformats.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
"""These tests are mostly based on files from http://loci.wisc.edu/software/sample-data
Please download and extract them to pims/tests/data/bioformats, or use the
provided python script in download_bioformats_test.py."""
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six

import os
import unittest
import numpy as np
from numpy.testing import (assert_equal, assert_almost_equal, assert_allclose)
from numpy.testing import assert_equal, assert_almost_equal, assert_allclose

import pims

Expand Down Expand Up @@ -46,9 +42,9 @@ def test_open(self):
def test_integer_attributes(self):
self.check_skip()
assert_equal(len(self.v.frame_shape), len(self.expected_shape))
self.assertTrue(isinstance(self.v.frame_shape[0], six.integer_types))
self.assertTrue(isinstance(self.v.frame_shape[1], six.integer_types))
self.assertTrue(isinstance(len(self.v), six.integer_types))
self.assertTrue(isinstance(self.v.frame_shape[0], int))
self.assertTrue(isinstance(self.v.frame_shape[1], int))
self.assertTrue(isinstance(len(self.v), int))

def test_shape(self):
self.check_skip()
Expand Down
26 changes: 7 additions & 19 deletions pims/tests/test_common.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six

import os
import sys
import random
import types
import unittest
Expand Down Expand Up @@ -96,9 +90,9 @@ def test_bool(self):
def test_integer_attributes(self):
self.check_skip()
assert_equal(len(self.v.frame_shape), len(self.expected_shape))
self.assertTrue(isinstance(self.v.frame_shape[0], six.integer_types))
self.assertTrue(isinstance(self.v.frame_shape[1], six.integer_types))
self.assertTrue(isinstance(len(self.v), six.integer_types))
self.assertTrue(isinstance(self.v.frame_shape[0], int))
self.assertTrue(isinstance(self.v.frame_shape[1], int))
self.assertTrue(isinstance(len(self.v), int))

def test_shape(self):
self.check_skip()
Expand Down Expand Up @@ -470,10 +464,7 @@ def setUp(self):
class _tiff_image_series(_image_series):
def test_metadata(self):
m = self.v[0].metadata
if sys.version_info.major < 3:
pkl_path = os.path.join(path, 'stuck_metadata_py2.pkl')
else:
pkl_path = os.path.join(path, 'stuck_metadata_py3.pkl')
pkl_path = os.path.join(path, 'stuck_metadata_py3.pkl')
with open(pkl_path, 'rb') as p:
d = pickle.load(p)
assert_equal(m, d)
Expand Down Expand Up @@ -543,12 +534,9 @@ def setUp(self):
def test_metadata(self):
m = self.v.metadata
with open(os.path.join(path, 'spestack_test_metadata.pkl'), 'rb') as p:
if sys.version_info.major < 3:
d = pickle.load(p)
else:
d = pickle.load(p, encoding="latin1")
#spare4 is actually a byte array
d["spare4"] = d["spare4"].encode("latin1")
d = pickle.load(p, encoding="latin1")
#spare4 is actually a byte array
d["spare4"] = d["spare4"].encode("latin1")

assert_equal(m, d)

Expand Down
4 changes: 0 additions & 4 deletions pims/tests/test_display.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six
import unittest
import os
import functools
Expand Down
4 changes: 0 additions & 4 deletions pims/tests/test_frame.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six
import unittest
import numpy as np
from pims.frame import Frame
Expand Down
5 changes: 0 additions & 5 deletions pims/tests/test_imseq.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six

import os
import tempfile
import zipfile
Expand Down
5 changes: 0 additions & 5 deletions pims/tests/test_multidimensional.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six

import unittest
from itertools import chain, permutations
import numpy as np
Expand Down
5 changes: 0 additions & 5 deletions pims/tests/test_process.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six

import os
import unittest
import numpy as np
Expand Down
5 changes: 0 additions & 5 deletions pims/tiff_stack.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
from __future__ import (absolute_import, division, print_function,
unicode_literals)

import six

import os
from datetime import datetime
import itertools
Expand Down
5 changes: 0 additions & 5 deletions pims/utils/sort.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
# -*- coding: utf-8 -*-

from __future__ import (absolute_import, division, print_function,
unicode_literals)

import re

__all__ = ["natural_keys"]
Expand Down
6 changes: 0 additions & 6 deletions pims/utils/tests/test_sort.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,7 @@
# -*- coding: utf-8 -*-

from __future__ import (absolute_import, division, print_function,
unicode_literals)

from pims.utils.sort import natural_keys


def test_natural_keys():

alist = ["something1", "something12", "something17", "something2"]
alist.sort(key=natural_keys)
assert alist == ['something1', 'something2', 'something12', 'something17']
3 changes: 1 addition & 2 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
from __future__ import print_function
import os
from setuptools import setup
import versioneer
Expand All @@ -16,10 +15,10 @@
cmdclass=versioneer.get_cmdclass(),
description="Python Image Sequence",
author="PIMS Contributors",
python_requires=">=3.7",
install_requires=[
'imageio',
'numpy>=1.19',
'six>=1.8',
'slicerator>=0.9.8',
],
author_email="dallan@pha.jhu.edu",
Expand Down