algorithms.mesh

ComputeMeshWarp

Link to code

Calculates a the vertex-wise warping to get surface2 from surface1. It also reports the average distance of vertices, using the norm specified as input.

Example:

import nipype.algorithms.mesh as m
dist = m.ComputeMeshWarp()
dist.inputs.surface1 = 'surf1.vtk'
dist.inputs.surface2 = 'surf2.vtk'
res = dist.run()

Inputs:

[Mandatory]
surface1: (an existing file name)
        Reference surface (vtk format) to which compute distance.
surface2: (an existing file name)
        Test surface (vtk format) from which compute distance.

[Optional]
metric: ('euclidean' or 'sqeuclidean', nipype default value:
          euclidean)
        norm used to report distance
weighting: ('none' or 'area', nipype default value: none)
        "none": no weighting is performed, surface": edge distance is
        weighted by the corresponding surface area
out_warp: (a file name, nipype default value: surfwarp.vtk)
        vtk file based on surface1 and warpings mapping it to surface2
out_file: (a file name, nipype default value: distance.npy)
        numpy file keeping computed distances and weights

Outputs:

distance: (a float)
        computed distance
out_warp: (an existing file name)
        vtk file with the vertex-wise mapping of surface1 to surface2
out_file: (an existing file name)
        numpy file keeping computed distances and weights

MeshWarpMaths

Link to code

Performs the most basic mathematical operations on the warping field defined at each vertex of the input surface. A surface with scalar or vector data can be used as operator for non-uniform operations.

Example:

import nipype.algorithms.mesh as m
mmath = m.MeshWarpMaths()
mmath.inputs.in_surf = 'surf1.vtk'
mmath.inputs.operator = 'surf2.vtk'
mmath.inputs.operation = 'mul'
res = mmath.run()

Inputs:

[Mandatory]
in_surf: (an existing file name)
        Input surface in vtk format, with associated warp field as point
        data (ie. from ComputeMeshWarp
operator: (a float or a tuple of the form: (a float, a float, a
          float) or an existing file name, nipype default value: 1.0)
        image, float or tuple of floats to act as operator

[Optional]
float_trait: (a float or a tuple of the form: (a float, a float, a
          float))
operation: ('sum' or 'sub' or 'mul' or 'div', nipype default value:
          sum)
        operation to be performed
out_warp: (a file name, nipype default value: warp_maths.vtk)
        vtk file based on in_surf and warpings mapping it to out_file
out_file: (a file name, nipype default value: warped_surf.vtk)
        vtk with surface warped

Outputs:

out_warp: (an existing file name)
        vtk file with the vertex-wise mapping of surface1 to surface2
out_file: (an existing file name)
        vtk with surface warped

P2PDistance

Link to code

Calculates a point-to-point (p2p) distance between two corresponding VTK-readable meshes or contours.

A point-to-point correspondence between nodes is required

Deprecated since version 1.0-dev: Use ComputeMeshWarp instead.

Inputs:

[Mandatory]
surface1: (an existing file name)
        Reference surface (vtk format) to which compute distance.
surface2: (an existing file name)
        Test surface (vtk format) from which compute distance.

[Optional]
metric: ('euclidean' or 'sqeuclidean', nipype default value:
          euclidean)
        norm used to report distance
weighting: ('none' or 'area', nipype default value: none)
        "none": no weighting is performed, surface": edge distance is
        weighted by the corresponding surface area
out_warp: (a file name, nipype default value: surfwarp.vtk)
        vtk file based on surface1 and warpings mapping it to surface2
out_file: (a file name, nipype default value: distance.npy)
        numpy file keeping computed distances and weights

Outputs:

distance: (a float)
        computed distance
out_warp: (an existing file name)
        vtk file with the vertex-wise mapping of surface1 to surface2
out_file: (an existing file name)
        numpy file keeping computed distances and weights

TVTKBaseInterface

Link to code

A base class for interfaces using VTK

Inputs:

None

Outputs:

None

WarpPoints

Link to code

Applies a displacement field to a point set given in vtk format. Any discrete deformation field, given in physical coordinates and which volume covers the extent of the vtk point set, is a valid warp file. FSL interfaces are compatible, for instance any field computed with nipype.interfaces.fsl.utils.ConvertWarp.

Example:

from nipype.algorithms.mesh import WarpPoints
wp = WarpPoints()
wp.inputs.points = 'surf1.vtk'
wp.inputs.warp = 'warpfield.nii'
res = wp.run()

Inputs:

[Mandatory]
points: (an existing file name)
        file containing the point set
warp: (an existing file name)
        dense deformation field to be applied
interp: ('cubic' or 'nearest' or 'linear', nipype default value:
          cubic)
        interpolation

[Optional]
out_points: (a file name)
        the warped point set

Outputs:

out_points: (a file name)
        the warped point set