class_docstr: A class to represent a generic intensity-based image registration
  algorithm.
class_docstr_tok: ["A","class","to","represent","a","generic","intensity-based","image","registration","algorithm","."]
docstr: Evaluate similarity function given a voxel-to-voxel transform.
  
  Parameters
  ----------
  Tv : Transform
       Transform object implementing ``apply`` method
       Should map voxel space to voxel space
docstr_tok: ["Evaluate","similarity","function","given","a","voxel-to-voxel","transform",".","Parameters","--","--","--","--","--","Tv",":","Transform","Transform","object","implementing","``","apply","``","method","Should","map","voxel","space","to","voxel","space"]
code: def _eval(self, Tv):
      """
      Evaluate similarity function given a voxel-to-voxel transform.
  
      Parameters
      ----------
      Tv : Transform
           Transform object implementing ``apply`` method
           Should map voxel space to voxel space
      """
      # trans_vox_coords needs be C-contiguous
      trans_vox_coords = Tv.apply(self._vox_coords)
      interp = self._interp
      if self._interp < 0:
          interp = -np.random.randint(MAX_INT)
      _joint_histogram(
          self._joint_hist,
          self._from_data.flat,  # array iterator
          self._to_data,
          trans_vox_coords,
          interp,
      )
      return self._similarity_call(self._joint_hist)
  
imports: import numpy
  import scipy.ndimage
  from ...core.image.image_spaces import as_xyz_image, make_xyz_image, xyz_affine
  from ._registration import _joint_histogram
  from .affine import affine_transforms, inverse_affine, subgrid_affine
  from .chain_transform import ChainTransform
  from .optimizer import configure_optimizer
  from .similarity_measures import similarity_measures
label_desc: Use image node_id 12 for calling the HistogramRegistration obj's underlying member method code with example usage: obj._eval(Tv) and returns: self