class_docstr: Descriptor of a certain domain that consists of discrete elements that
  are characterized by a coordinate system and a topology:
  the coordinate system is specified through a coordinate array
  the topology encodes the neighboring system
class_docstr_tok: ["Descriptor","of","a","certain","domain","that","consists","of","discrete","elements","that","are","characterized","by","a","coordinate","system","and","a","topology",":","the","coordinate","system","is","specified","through","a","coordinate","array","the","topology","encodes","the","neighboring","system"]
docstr: Append a feature 'fid'
  
  Parameters
  ----------
  fid: string,
       feature identifier
  data: array of shape(self.size, p) or self.size
        the feature data
code: def set_feature(self, fid, data, override=True):
      """Append a feature 'fid'
  
      Parameters
      ----------
      fid: string,
           feature identifier
      data: array of shape(self.size, p) or self.size
            the feature data
  
      """
      if data.shape[0] != self.size:
          raise ValueError("Wrong data size")
  
      if (fid in self.features) & (override == False):
          return
  
      self.features.update({fid: data})
  
imports: import numpy
  import scipy.sparse
  from nibabel import Nifti1Image, load, save
  from nipy.algorithms.graph import WeightedGraph, wgraph_from_3d_grid, wgraph_from_coo_matrix
  from nipy.io.nibcompat import get_affine, get_header
label_desc: Use image node_id 7 for calling the DiscreteDomain obj's underlying member method code with example usage: obj.set_feature(fid, data, override) without return types