Visitar URL original
Fixes #9 by adding a squeeze method to Signal that is called on load … · magnunor/matplotlib@8a5ed18 · GitHub
Skip to content

Commit 8a5ed18

Browse files
committed
Fixes matplotlib#9 by adding a squeeze method to Signal that is called on load and when the crop method is executed
1 parent e14d3e1 commit 8a5ed18

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

‎hyperspy/signal.py‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,21 @@ def load_dictionary(self, file_data_dict):
110110
# "Synthetic" signals do not have an original filename
111111
else:
112112
self.mapped_parameters.name = 'Unnamed Signal'
113+
self.squeeze()
114+
115+
def squeeze(self):
116+
"""Remove single-dimensional entries from the shape of an array and the
117+
axes.
118+
"""
119+
self.data = self.data.squeeze()
120+
i = 0
121+
for axis in self.axes_manager.axes:
122+
if axis.size == 1:
123+
self.axes_manager.axes.remove(axis)
124+
i += 1
125+
else:
126+
axis.index_in_array -= 1
127+
self.data = self.data.squeeze()
113128

114129
def _get_signal_dict(self):
115130
dic = {}
@@ -320,6 +335,7 @@ def crop_in_pixels(self, axis, i1 = None, i2 = None):
320335
if i1 is not None:
321336
self.axes_manager.axes[axis].offset = new_offset
322337
self.get_dimensions_from_data()
338+
self.squeeze()
323339

324340
def crop_in_units(self, axis, x1 = None, x2 = None):
325341
"""Crops the data in a given axis. The range is given in the units of

0 commit comments

Comments
 (0)