Skip to content

Commit

Permalink
Merge pull request #2838 from nem1234/jeol_pts_scale
Browse files Browse the repository at this point in the history
io_plugins/jeol.py : Get scale information from pts file itself.
  • Loading branch information
ericpre committed Oct 22, 2021
2 parents 19dab6e + 3eab7b3 commit d7be376
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 14 deletions.
14 changes: 8 additions & 6 deletions hyperspy/io_plugins/jeol.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,10 @@ def read_img(filename, scale=None, **kwargs):
yscale = scale[3] / height
units = "µm"
else:
xscale = 1
yscale = 1
units = "px"
scale = header_long["Instrument"]["ScanSize"] / header_long["Instrument"]["Mag"] * 1.0E3
xscale = scale / width
yscale = scale / height
units = "µm"

axes = [
{
Expand Down Expand Up @@ -247,9 +248,10 @@ def check_multiple(factor, number, string):
yscale = scale[3] / height
units = "µm"
else:
xscale = 1
yscale = 1
units = "px"
scale = header["PTTD Param"]["Params"]["PARAMPAGE0_SEM"]["ScanSize"] / meas_data_header["MeasCond"]["Mag"] * 1.0E3
xscale = scale / width
yscale = scale / height
units = "µm"

ch_mod = meas_data_header["Meas Cond"]["Tpl"]
ch_res = meas_data_header["Doc"]["CoefA"]
Expand Down
27 changes: 19 additions & 8 deletions hyperspy/tests/io/test_jeol.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,17 @@ def test_load_project():
np.testing.assert_allclose(s[-1].axes_manager[2].scale, 0.00999866)
assert s[-1].axes_manager[2].name == 'Energy'

# check scale (image)
filename = TESTS_FILE_PATH / 'Sample' / '00_View000' / test_files[1]
s1 = hs.load(filename)
np.testing.assert_allclose(s[0].axes_manager[0].scale, s1.axes_manager[0].scale)
assert s[0].axes_manager[0].units == s1.axes_manager[0].units
# check scale (pts)
filename = TESTS_FILE_PATH / 'Sample' / '00_View000' / test_files[7]
s2 = hs.load(filename)
np.testing.assert_allclose(s[6].axes_manager[0].scale, s2.axes_manager[0].scale)
assert s[6].axes_manager[0].units == s2.axes_manager[0].units


def test_load_image():
# test load work area haadf image
Expand All @@ -81,11 +92,11 @@ def test_load_image():
assert s.data.dtype == np.uint8
assert s.data.shape == (512, 512)
assert s.axes_manager.signal_dimension == 2
assert s.axes_manager[0].units == 'px'
assert s.axes_manager[0].scale == 1
assert s.axes_manager[0].units == 'µm'
np.testing.assert_allclose(s.axes_manager[0].scale, 0.00869140587747097)
assert s.axes_manager[0].name == 'x'
assert s.axes_manager[1].units == 'px'
assert s.axes_manager[1].scale == 1
assert s.axes_manager[1].units == 'µm'
np.testing.assert_allclose(s.axes_manager[1].scale, 0.00869140587747097)
assert s.axes_manager[1].name == 'y'


Expand All @@ -98,11 +109,11 @@ def test_load_datacube(SI_dtype):
assert s.data.shape == (512, 512, 4096)
assert s.axes_manager.signal_dimension == 1
assert s.axes_manager.navigation_dimension == 2
assert s.axes_manager[0].units == 'px'
assert s.axes_manager[0].scale == 1
assert s.axes_manager[0].units == 'µm'
np.testing.assert_allclose(s.axes_manager[0].scale, 0.00869140587747097)
assert s.axes_manager[0].name == 'x'
assert s.axes_manager[1].units == 'px'
assert s.axes_manager[1].scale == 1
assert s.axes_manager[1].units == 'µm'
np.testing.assert_allclose(s.axes_manager[1].scale, 0.00869140587747097)
assert s.axes_manager[1].name == 'y'
assert s.axes_manager[2].units == 'keV'
np.testing.assert_allclose(s.axes_manager[2].offset, -0.000789965-0.00999866*96)
Expand Down

0 comments on commit d7be376

Please sign in to comment.