1 #ifndef TISSUECURVATURE_HPP
2 #define TISSUECURVATURE_HPP
6 #include <MeshProcessCellMesh.hpp>
31 float neighborhood = parms[0].toFloat(&ok);
40 return "Cell Axis/Curvature";
43 return "Compute Tissue Curvature";
47 return "Compute curvature based on simplified mesh (from Make Cells) for a neighborhood of given radius.";
67 return QIcon(
":/images/Curvature.png");
91 float heatmapPercentile = parms[2].toFloat(&ok);
93 return setErrorMessage(
"Error, argument 'Heatmap percentile' must be a number");
94 float axisLineWidth = parms[6].toFloat(&ok);
96 return setErrorMessage(
"Error, argument 'Line Width' must be a number");
97 float axisLineScale = parms[7].toFloat(&ok);
99 return setErrorMessage(
"Error, argument 'Line Scale' must be a number");
100 float axisOffset = parms[8].toFloat(&ok);
102 return setErrorMessage(
"Error, argument 'Line Offset' must be a number");
103 float threshold = parms[9].toFloat(&ok);
105 return setErrorMessage(
"Error, argument 'Threshold' must be a number");
108 QColor(parms[5]), axisLineWidth, axisLineScale, axisOffset, threshold);
112 const QColor& ColorExpansion,
const QColor& ColorShrinkage,
float AxisLineWidth,
113 float AxisLineScale,
float AxisOffset,
float CurvThreshold);
116 return "Cell Axis/Curvature";
119 return "Display Tissue Curvature";
122 return "Display curvature based on cellular mesh";
128 <<
"Heatmap percentile"
140 return QStringList() <<
"Display curvature values in max or min direction as a color map.\n"
141 "Average: (CurvMax + CurvMin)/2, SignedAverageAbs: sign(CurvMax or CurvMin) x "
142 "(abs(CurvMax) + abs(CurvMin))/2, \n"
143 "Gaussian:(CurvMax x CurvMin), RootSumSquare: sqrt(CurvMax^2 + CurvMin^2), Anisotropy: "
144 "(CurvMax / CurvMin)."
145 <<
"Center the color map on zero, if negtive values exist."
146 <<
"Percentile of values used for color map upper-lower bounds."
147 <<
"Draw main curvature directions as vectors, scaled by 1/(curvature radius)."
148 <<
"Color used for convex (curvature > 0)"
149 <<
"Color used for concave (curvature < 0)"
151 <<
"Length of the vectors = Scale * 1/(curvature radius)."
152 <<
"Draw the vector ends a bit tilted up for proper display on surfaces."
153 <<
"Minimal value of curvature required for drawing the directions.";
175 <<
"SignedAverageAbs"
189 return QIcon(
":/images/Curvature.png");
QString folder() const
Folder in which to place the process.
Definition: MeshProcessCurv.hpp:39
QString name() const
Returns the name of the process.
Definition: MeshProcessCurv.hpp:42
ParmChoiceMap parmChoice() const
Purely for GUI purposes, provides for some of the parms parameter a choice.
Definition: MeshProcessCurv.hpp:60
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: MeshProcessCurv.hpp:26
Once the curvature tensor has been computed, this process allows to change how it is displayed...
Definition: MeshProcessCurv.hpp:77
arg(const QString &a, int fieldWidth=0, const QChar &fillChar=QLatin1Char( ' ')
QStringList parmDescs() const
List of parameters descriptions.
Definition: MeshProcessCurv.hpp:138
QString description() const
Returns a description of the process for the GUI.
Definition: MeshProcessCurv.hpp:45
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: MeshProcessCurv.hpp:66
QStringList parmDefaults() const
List of default parms.
Definition: MeshProcessCurv.hpp:55
Process()
Default constructor.
QString name() const
Returns the name of the process.
Definition: MeshProcessCurv.hpp:118
CheckState checkState()
Call this function and convert the result to a boolean.
This class holds the actual mesh as a VV Graph and all sort of properties for it, including visualiza...
Definition: Mesh.hpp:167
QStringList parmNames() const
List of named parameters.
Definition: MeshProcessCurv.hpp:124
QString folder() const
Folder in which to place the process.
Definition: MeshProcessCurv.hpp:115
ParmChoiceMap parmChoice() const
Purely for GUI purposes, provides for some of the parms parameter a choice.
Definition: MeshProcessCurv.hpp:168
QStringList parmDescs() const
List of parameters descriptions.
Definition: MeshProcessCurv.hpp:52
bool setErrorMessage(const QString &str)
Set an error message that will be displayed if the process returns false.
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: MeshProcessCurv.hpp:85
File containing the definition of a Process.
Mesh * mesh(int i)
Returns the ith mesh.
QStringList parmNames() const
List of named parameters.
Definition: MeshProcessCurv.hpp:49
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: MeshProcessCurv.hpp:188
mgx_EXPORT bool stringToBool(const QString &string)
Helper function converting a string into a boolean.
Non-empty mesh.
Definition: Process.hpp:664
QStringList booleanChoice() const
Helper function that provides a list of choices for a boolean argument.
Definition: Process.hpp:599
Mesh * currentMesh()
Returns the current mesh (i.e.
QString description() const
Returns a description of the process for the GUI.
Definition: MeshProcessCurv.hpp:121
Mesh processes have mutable access to meshes and non-mutable access to stacks.
Definition: Process.hpp:855
QStringList parmDefaults() const
List of default parms.
Definition: MeshProcessCurv.hpp:155
Compute the curvature tensor for each cell of a cell mesh.
Definition: MeshProcessCurv.hpp:18