code: def numpy(self, single_components=False):
          
          array = np.array(self.view(single_components=single_components), copy=True, dtype=self.dtype)
          if self.has_components or (single_components == True):
              array = np.rollaxis(array, 0, self.dimension+1)
          return array
docs: Get a numpy array copy representing the underlying image data. Altering
          this ndarray will have NO effect on the underlying image data.
          
          Arguments
          ---------
          single_components : boolean (default is False)
              if True, keep the extra component dimension in returned array even
              if image only has one component (i.e. self.has_components == False)
  
          Returns
          -------
          ndarray