Eidolon
Classes | Functions | Variables
eidolon.plugins.CardiacMotionPlugin Namespace Reference

Classes

class  CardiacMotionPlugin
 
class  CardiacMotionProject
 
class  CardiacMotionPropWidget
 
class  TestCardiacMotionPlugin
 

Functions

def avgDevRange (vals, stddevDist=1.0)
 
def calculateLVDirectionalFields (ds, longaxis, radialname, longname, circumname)
 
def createStrainGrid (nodes, toRefSpace, toImgSpace, h)
 
def createStrainField (nodes, radialfield, longfield, circumfield, h)
 
def strainTensor (px, mx, py, my, pz, mz, hh)
 
def tensorMul (E, v)
 
def calculateStrainTensors (nodes_t, h)
 
def calculateTensorIndicatorEigen (tensors)
 
def calculateTensorMul (tensors, vecmat, name)
 
def divideTrisByRegionRange (process, tris, nodeprops, regionfield, choosevals)
 
def divideMeshSurfaceByRegion (dataset, regionfield, choosevals, task=None)
 
def calculateRegionThicknessesRange (process, trinodes, stddevRange, triindlist)
 
def calculateRegionThicknesses (datasetlist, regionfield, choosevals, stddevRange=1.0, task=None)
 
def calculateAvgDisplacementRange (process, orignodes, trinodes, stddevRange, triindlist)
 
def calculateAvgDisplacement (datasetlist, regionfield, choosevals, stddevRange=1.0, task=None)
 
def calculateLinTetVolumeRange (process, nodelist, fieldlist, inds, regionfield, choosevals)
 
def calculateLinTetVolume (datasetlist, regionfield, choosevals, task=None)
 
def calculateMaskVolume (imgobj, calculateInner=True)
 
def calculateTorsion (datasetlist, aha, choosevals)
 
def calculateTriAreasRange (process, nodes, inds, result)
 
def calculateTriAreas (nodes, inds, task=None)
 
def calculateRegionSumField (field, regionfield, choosevals)
 

Variables

 ConfigNames
 

Function Documentation

◆ avgDevRange()

def eidolon.plugins.CardiacMotionPlugin.avgDevRange (   vals,
  stddevDist = 1.0 
)
Calculate the average of values from `vals' which are within `stddevDist' standard deviations of the average.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateAvgDisplacement()

def eidolon.plugins.CardiacMotionPlugin.calculateAvgDisplacement (   datasetlist,
  regionfield,
  choosevals,
  stddevRange = 1.0,
  task = None 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateAvgDisplacementRange()

def eidolon.plugins.CardiacMotionPlugin.calculateAvgDisplacementRange (   process,
  orignodes,
  trinodes,
  stddevRange,
  triindlist 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateLinTetVolume()

def eidolon.plugins.CardiacMotionPlugin.calculateLinTetVolume (   datasetlist,
  regionfield,
  choosevals,
  task = None 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateLinTetVolumeRange()

def eidolon.plugins.CardiacMotionPlugin.calculateLinTetVolumeRange (   process,
  nodelist,
  fieldlist,
  inds,
  regionfield,
  choosevals 
)
Here is the caller graph for this function:

◆ calculateLVDirectionalFields()

def eidolon.plugins.CardiacMotionPlugin.calculateLVDirectionalFields (   ds,
  longaxis,
  radialname,
  longname,
  circumname 
)
Here is the call graph for this function:

◆ calculateMaskVolume()

def eidolon.plugins.CardiacMotionPlugin.calculateMaskVolume (   imgobj,
  calculateInner = True 
)
Here is the caller graph for this function:

◆ calculateRegionSumField()

def eidolon.plugins.CardiacMotionPlugin.calculateRegionSumField (   field,
  regionfield,
  choosevals 
)

◆ calculateRegionThicknesses()

def eidolon.plugins.CardiacMotionPlugin.calculateRegionThicknesses (   datasetlist,
  regionfield,
  choosevals,
  stddevRange = 1.0,
  task = None 
)
Computes the region thicknesses for each mesh defines by the list of datasets in `datasetlist'. The value list
`choosevals' defines the region numbers of interest, and `regionfield' is a field which labels each element of the
mesh with a number; each value of `choosevals' must be found in this set of labels. For each dataset, the resulting
list will contain a list of thickness values, one for each label in `choosevals'. Assuming the datasets represent
a moving mesh in time, the rows of the returned matrix represent thickness in time, and the columns represent the
thicknesses for each region.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateRegionThicknessesRange()

def eidolon.plugins.CardiacMotionPlugin.calculateRegionThicknessesRange (   process,
  trinodes,
  stddevRange,
  triindlist 
)
Returns the averaged thickness of each triangle mesh given in `triindlist'. It is assumed that the name of each
such topology matrix is of the form "choose_X_Y" where X is the ID of the process in divideTrisByElemValRange()
which created the matrix, and Y corresponds to the region number that mesh belongs to. The return value is a list
of pairs, one for each member of `triindlist', containing Y and the computed average thickness.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateStrainTensors()

def eidolon.plugins.CardiacMotionPlugin.calculateStrainTensors (   nodes_t,
  h 
)
Calculate the tensors for each row of `nodes_t', which is the transformed node and its 6 transformed strain vectors.
The result is a 9 column matrix where each row is a tensor matrix laid out in row-column order.
Here is the call graph for this function:

◆ calculateTensorIndicatorEigen()

def eidolon.plugins.CardiacMotionPlugin.calculateTensorIndicatorEigen (   tensors)
Calculate the maximal and minimal eigenvalue for each tensor matrix in `tensors.

◆ calculateTensorMul()

def eidolon.plugins.CardiacMotionPlugin.calculateTensorMul (   tensors,
  vecmat,
  name 
)
Here is the call graph for this function:

◆ calculateTorsion()

def eidolon.plugins.CardiacMotionPlugin.calculateTorsion (   datasetlist,
  aha,
  choosevals 
)
Calculate the torsion of the motion mesh defined by the PyDataSet list `datasetlist' with region field `aha' and
selected regions `choosevals'. Result is list of per-node matrices of twist angles in degrees, list of average twist
angles for the apex nodes, list of average twist angles for the base nodes, and the centerline axis length.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateTriAreas()

def eidolon.plugins.CardiacMotionPlugin.calculateTriAreas (   nodes,
  inds,
  task = None 
)
Here is the call graph for this function:

◆ calculateTriAreasRange()

def eidolon.plugins.CardiacMotionPlugin.calculateTriAreasRange (   process,
  nodes,
  inds,
  result 
)
Here is the caller graph for this function:

◆ createStrainField()

def eidolon.plugins.CardiacMotionPlugin.createStrainField (   nodes,
  radialfield,
  longfield,
  circumfield,
  h 
)
Calculate a strain field by adding or subtracting the corresponding directional vectors to each node in `nodes'.

◆ createStrainGrid()

def eidolon.plugins.CardiacMotionPlugin.createStrainGrid (   nodes,
  toRefSpace,
  toImgSpace,
  h 
)
Calculate the 6 point strain node set for each node of `nodes'. Each node from `nodes' is first transformed by
`toRefSpace' to place it in reference space, then 6 vectors are calculated by shifting the node by `h' along
each axis in the positive and negative directions. All vectors are then transformed by `toImgSpace'. The result
is a matrix with 7 columns, the transformed node and its 6 shifted vectors.

◆ divideMeshSurfaceByRegion()

def eidolon.plugins.CardiacMotionPlugin.divideMeshSurfaceByRegion (   dataset,
  regionfield,
  choosevals,
  task = None 
)
Define a triangle mesh surface for the topologies in `dataset' and divide them into the regions chosen in `choosevals'
as drawn from the region field `regionfield'. Returns the triangle dataset, index list from `dataset', and list of
matrices containing the triangle indices for each region selected in `choosevals'. Returns the triangulation dataset,
index matrix list, and the list of per-region matrices in no particular order.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ divideTrisByRegionRange()

def eidolon.plugins.CardiacMotionPlugin.divideTrisByRegionRange (   process,
  tris,
  nodeprops,
  regionfield,
  choosevals 
)
Returns matrices containing the indices of the triangles belonging to the regions given in `choosevals' as defined
by the region field `regionfield'. The matrix `tris' is the original triangle index matrix and `nodeprops' the
associated node properties matrix, these are expected to have heen derived from generateLinearTriangulation() so
are not from the original dataset whereas `regionfield' is. Return value is list of matrices for each chosen region
in no particular order.
Here is the caller graph for this function:

◆ strainTensor()

def eidolon.plugins.CardiacMotionPlugin.strainTensor (   px,
  mx,
  py,
  my,
  pz,
  mz,
  hh 
)
Calculate the Green-Lagrange strain tensor for a point in space given the 6 deformed strain axes for that point.
The vectors are assumed to have been calculated initially at a distance of `hh' from the node.
Here is the caller graph for this function:

◆ tensorMul()

def eidolon.plugins.CardiacMotionPlugin.tensorMul (   E,
  v 
)
Returns Ev.v
Here is the caller graph for this function:

Variable Documentation

◆ ConfigNames

ConfigNames
Initial value:
2  'savecheart',
3  'shortaxis','templateimg','saxseg','saxtimereg','regsubject','regintermed', # alignment/registration names
4  'tagged3d','detagged3d', # 3D tag values
5  'serveraddr','serverport','jobids','trackedimg','maskimg','adaptive','paramfile', # server values
6  'heartrateBPM' # stored properties
7 )
Definition: Utils.py:125