docstr: Get an N x 2 numpy array containing the M and N Zernike degrees
  
  Use the radial_degree setting to determine which Zernikes to do.
  
  wants_negative - if True, return both positive and negative M, if false
                   return only positive
docstr_tok: ["Get","an","N","x","2","numpy","array","containing","the","M","and","N","Zernike","degrees","Use","the","radial_degree","setting","to","determine","which","Zernikes","to","do",".","wants_negative","-","if","True",",","return","both","positive","and","negative","M",",","if","false","return","only","positive"]
code: def get_zernike_indexes(self, wants_negative=False):
      """Get an N x 2 numpy array containing the M and N Zernike degrees
  
      Use the radial_degree setting to determine which Zernikes to do.
  
      wants_negative - if True, return both positive and negative M, if false
                       return only positive
      """
      zi = centrosome.zernike.get_zernike_indexes(
          self.radial_degree.value + 1
      )
  
      if wants_negative:
          #
          # numpy.vstack means concatenate rows of two 2d arrays.
          # The multiplication by [1, -1] negates every m, but preserves n.
          # zi[zi[:, 1] != 0] picks out only elements with m not equal to zero.
          #
          zi = numpy.vstack(
              [zi, zi[zi[:, 1] != 0] * numpy.array([1, -1])]
          )
  
          #
          # Sort by azimuth degree and radial degree so they are ordered
          # reasonably
          #
          order = numpy.lexsort((zi[:, 1], zi[:, 0]))
          zi = zi[order, :]
  
      return zi
  
imports: import centrosome.cpmorphology
  import centrosome.zernike
  import numpy
  import scipy.ndimage
  from cellprofiler_core.constants.measurement import COLTYPE_FLOAT
  from cellprofiler_core.module import Module
  from cellprofiler_core.setting.subscriber import ImageSubscriber, LabelSubscriber
  from cellprofiler_core.setting.text import Integer
label_desc: Use image node_id 5 for calling the MeasurementTemplate obj's underlying member method code with example usage: obj.get_zernike_indexes(wants_negative) and returns: zi