1

I am trying slicing but I have the following error message: slice indices must be integers or None or have an __index__ method

descriptors = numpy.fft.fftshift(descriptors)
center_index = len(descriptors) / 2
descriptors = descriptors[center_index - degree / 2:center_index + degree / 2]
Masoud
  • 1,270
  • 7
  • 12
UM_Hasan
  • 3
  • 3

1 Answers1

2

In python3 you need to use // for floor division unlike python2 where it was just /:

import numpy as np

descriptors = [ 0.,  1.,  2.,  3.,  4., -5., -4., -3., -2., -1.]
descriptors = np.fft.fftshift(descriptors)
print(descriptors)
center_index = len(descriptors) // 2
degree = 4
descriptors = descriptors[center_index - degree // 2 : center_index + degree // 2]
print(descriptors)

Output:

[-5. -4. -3. -2. -1.  0.  1.  2.  3.  4.]
[-2. -1.  0.  1.]
Sash Sinha
  • 18,743
  • 3
  • 23
  • 40