class_docstr: Besides DiscreteDomain attributed, StructuredDomain has a topology,
  which allows many operations (morphology etc.)
class_docstr_tok: ["Besides","DiscreteDomain","attributed",",","StructuredDomain","has","a","topology",",","which","allows","many","operations","(","morphology","etc",".",")"]
docstr: Initialize structured domain instance
  
  Parameters
  ----------
  dim: int,
       the (physical) dimension of the domain
  coord: array of shape(size, em_dim),
         explicit coordinates of the domain sites
  local_volume: array of shape(size),
                yields the volume associated with each site
  topology: sparse binary coo_matrix of shape (size, size),
            that yields the neighboring locations in the domain
  did: string, optional,
       domain identifier
  referential: string, optional,
               identifier of the referential of the coordinates system
code: def __init__(
      self, dim, coord, local_volume, topology, did="", referential=""
  ):
      """Initialize structured domain instance
  
      Parameters
      ----------
      dim: int,
           the (physical) dimension of the domain
      coord: array of shape(size, em_dim),
             explicit coordinates of the domain sites
      local_volume: array of shape(size),
                    yields the volume associated with each site
      topology: sparse binary coo_matrix of shape (size, size),
                that yields the neighboring locations in the domain
      did: string, optional,
           domain identifier
      referential: string, optional,
                   identifier of the referential of the coordinates system
  
      """
      DiscreteDomain.__init__(
          self, dim, coord, local_volume, id, referential
      )
  
      # topology
      if topology is not None:
          if topology.shape != (self.size, self.size):
              raise ValueError(
                  "Incompatible shape for topological model"
              )
      self.topology = topology
  
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 1 to create a new StructuredDomain object from inherited base classes: DiscreteDomain with example: obj = StructuredDomain(dim, coord, local_volume, topology, did, referential)