import unittest
|
|
from os import path
|
|
from nd2reader.artificial import ArtificialND2
|
|
from nd2reader.common import check_or_make_dir
|
|
from nd2reader.exceptions import InvalidVersionError
|
|
from nd2reader.parser import Parser
|
|
import urllib.request
|
|
|
|
|
|
class TestParser(unittest.TestCase):
|
|
def create_test_nd2(self):
|
|
with ArtificialND2(self.test_file) as artificial:
|
|
artificial.close()
|
|
|
|
def setUp(self):
|
|
dir_path = path.dirname(path.realpath(__file__))
|
|
check_or_make_dir(path.join(dir_path, "test_data/"))
|
|
self.test_file = path.join(dir_path, "test_data/test.nd2")
|
|
self.create_test_nd2()
|
|
|
|
def test_can_open_test_file(self):
|
|
self.create_test_nd2()
|
|
|
|
with open(self.test_file, "rb") as fh:
|
|
parser = Parser(fh)
|
|
self.assertTrue(parser.supported)
|
|
|
|
def test_get_image(self):
|
|
stitched_path = "test_data/test_stitched.nd2"
|
|
if not path.isfile(stitched_path):
|
|
file_name, header = urllib.request.urlretrieve(
|
|
"https://downloads.openmicroscopy.org/images/ND2/karl/sample_image.nd2",
|
|
stitched_path,
|
|
)
|
|
with open(stitched_path, "rb") as fh:
|
|
parser = Parser(fh)
|
|
parser.get_image(0)
|