def get_magnitudes(self, *args, **kwargs): """Calculate the magnitude of diffraction vectors. Parameters ---------- *args: Arguments to be passed to map(). **kwargs: Keyword arguments to map(). Returns ------- magnitudes : BaseSignal A signal with navigation dimensions as the original diffraction vectors containging an array of gvector magnitudes at each navigation position. """ # If ragged the signal axes will not be defined if len(self.axes_manager.signal_axes) == 0: magnitudes = self.map(calculate_norms_ragged, inplace=False, *args, **kwargs) # Otherwise easier to calculate. else: magnitudes = BaseSignal(calculate_norms(self)) magnitudes.axes_manager.set_signal_dimension(0) return magnitudes
def test_calculate_norms(): norms = calculate_norms([[3, 4], [6, 8]]) assert np.allclose(norms, [5, 10])