MorphoGraphX
|
This is the main process class, the one all process inherit from. More...
#include <Process.hpp>
Classes | |
class | CheckState |
Class that construct a state check on the current process. More... | |
Public Types | |
typedef std::vector< Stack * > ::iterator | stack_iterator |
typedef std::vector< Stack * > ::const_iterator | const_stack_iterator |
typedef std::vector< Mesh * > ::iterator | mesh_iterator |
typedef std::vector< Mesh * > ::const_iterator | const_mesh_iterator |
Public Member Functions | |
Process () | |
Default constructor. | |
Process (const Process &p) | |
Copy constructor. More... | |
virtual | ~Process () |
Virtual destructor. | |
void | actingFile (const QString &filename, bool project_file=false) |
Method to be called anytime a file is acted on (i.e. More... | |
QString | actingFile () const |
Get the file currently defining the path of the system. | |
QString | pythonCall (const QStringList &parms) const |
Return the python call describing the current process. | |
int | stackCount () const |
Number of stacks available to the process. | |
Stack * | stack (int i) |
Returns the ith stack, or 0 if there is no such stack. | |
Stack * | currentStack () |
Returns the current stack (i.e. More... | |
int | currentStackId () const |
Return the id (i.e. More... | |
void | setCurrentStackId (int i) |
Change which stack is current. | |
std::pair< stack_iterator, stack_iterator > | stacks () |
Iterate over all the stacks. | |
std::pair < const_stack_iterator, const_stack_iterator > | stacks () const |
Iterate over all the stacks. | |
Stack * | addStack () |
Add a new stack to the process. | |
bool | deleteStack (int i) |
Delete the stack of given id. More... | |
int | meshCount () const |
Returns the number of mesh available to the process. | |
Mesh * | mesh (int i) |
Returns the ith mesh. | |
Mesh * | currentMesh () |
Returns the current mesh (i.e. More... | |
int | currentMeshId () const |
Returns the id (i.e. More... | |
void | setCurrentMeshId (int i) |
Change which mesh is current. | |
std::pair< mesh_iterator, mesh_iterator > | meshes () |
Iterate over all the meshs. | |
std::pair< const_mesh_iterator, const_mesh_iterator > | meshes () const |
Iterate over all the meshs. | |
Mesh * | addMesh (const Stack *stack) |
Add a mesh to the process for the given stack. | |
bool | deleteMesh (int i) |
Remove a mesh from the process. | |
int | selectedLabel () const |
Get the current selected label. | |
void | setSelectedLabel (int label) |
Change the current selected label. | |
float | globalBrightness () |
Return the current setting for the global brightness level. | |
float | globalContrast () |
Return the current setting for the global contrast level. | |
void | setGlobalBrightness (float value) |
Change the current setting for the global brightness level. More... | |
void | setGlobalContrast (float value) |
Change the current setting for the global contrast level. More... | |
bool | meshSelection () const |
Returns if the user has mesh selection active. | |
bool | lineBorderSelection () const |
Returns is the user has line border selection active. | |
void | updateState () |
Update the state of the application from the current data. More... | |
void | updateViewer () |
Force the viewer to refresh, without pausing the process. | |
bool | setErrorMessage (const QString &str) |
Set an error message that will be displayed if the process returns false. | |
QString | errorMessage () const |
Get the current error message. | |
void | setWarningMessage (const QString &str) |
Set a warning message that will be displayed if the process returns true. | |
QString | warningMessage () const |
Get the current warning message. | |
void | userCancel () const |
Throw an exception informing the system that the user canceled the current process. | |
const QString & | file () const |
Get the name of the file that was used to load the current process (i.e. More... | |
Clip * | clip1 () |
Return the object defining the first clipping region. | |
Clip * | clip2 () |
Return the object defining the second clipping region. | |
Clip * | clip3 () |
Return the object defining the third clipping region. | |
const Clip * | clip1 () const |
Return the object defining the first clipping region. | |
const Clip * | clip2 () const |
Return the object defining the second clipping region. | |
const Clip * | clip3 () const |
Return the object defining the third clipping region. | |
CuttingSurface * | cuttingSurface () |
Return the cutting surface. | |
const CuttingSurface * | cuttingSurface () const |
Return the cutting surface. | |
virtual QString | type () const =0 |
Returns a string identifying the process type. | |
QStringList | booleanChoice () const |
Helper function that provides a list of choices for a boolean argument. | |
QStringList | storeChoice () const |
Helper function that provides a list of choices for choosing from the main or work stack. | |
virtual uint | numParms () const |
Returns the number of named string for this process. | |
Process * | makeProcess (const QString &processType, const QString &processName) |
Creates a process object by name. | |
bool | RunProcess (Process &proc, const QStringList &parms) throw () |
Launch a process with generic arguments. More... | |
bool | RunProcess (const QString &processType, const QString &processName, const QStringList &parms) throw () |
Launch a process by name. More... | |
virtual bool | operator() (const QStringList &parms)=0 |
Implementation of the process with generic arguments. More... | |
virtual QString | name () const =0 |
Returns the name of the process. More... | |
virtual QString | description () const =0 |
Returns a description of the process for the GUI. | |
virtual QString | folder () const |
Folder in which to place the process. More... | |
virtual QStringList | parmNames () const =0 |
List of named parameters. More... | |
virtual QStringList | parmDescs () const |
List of parameters descriptions. More... | |
virtual QStringList | parmDefaults () const |
List of default parms. | |
virtual ParmChoiceMap | parmChoice () const |
Purely for GUI purposes, provides for some of the parms parameter a choice. More... | |
virtual QIcon | icon () const |
Icon to use to represent the process in the GUI. More... | |
virtual bool | initialize (QStringList &, QWidget *) |
This is an optional method that is called only when a process is launched from the GUI. More... | |
Public Attributes | |
PrivateProcess * | p |
Static Public Attributes | |
static unsigned int | processVersion |
Protected Member Functions | |
Internal methods | |
bool | systemCommand (SystemCommand cmd, const QStringList &parms) |
Method that can be used to launch a system command. More... | |
bool | stackCheck (int checks, int which) |
Check stack properties. | |
bool | storeCheck (int checks, int which) |
Check store properties. | |
bool | meshCheck (int checks, int which) |
Check mesh properties. | |
QString | stackError (int checks, int which) |
Generate a standardised string describing how the stack should be to not generate an error. | |
QString | storeError (int checks, int which) |
Generate a standardised string describing how the store should be to not generate an error. | |
QString | meshError (int checks, int which) |
Generate a standardised string describing how the mesh should be to not generate an error. | |
enum | StackCheckType { STACK_ANY, STACK_NON_EMPTY, STACK_VISIBLE, STACK_EMPTY, STACK_SCALED, STACK_TRANSFORMED, STACK_NON_SCALED, STACK_NON_TRANSFORMED } |
Enumeration for the bitfield that identifies stack properties. More... | |
enum | StoreCheckType { STORE_ANY, STORE_NON_EMPTY, STORE_VISIBLE, STORE_EMPTY, STORE_LABEL, STORE_NON_LABEL, STORE_SCALED, STORE_TRANSFORMED, STORE_NON_SCALED, STORE_NON_TRANSFORMED, STORE_WORK, STORE_MAIN } |
Enumeration for the bitfield that identifies store properties. More... | |
enum | MeshCheckType { MESH_ANY, MESH_NON_EMPTY, MESH_VISIBLE, MESH_HEAT, MESH_LABEL, MESH_NORMAL, MESH_SIGNAL, MESH_TEXTURE, MESH_IMAGE, MESH_SHOW_MESH, MESH_SHOW_SURF, MESH_ALL, MESH_BORDER, MESH_CELLMAP, MESH_CELLS, MESH_IMG_TEX, MESH_SCALED, MESH_TRANSFORMED, MESH_EMPTY, MESH_NON_CELLS, MESH_NON_IMG_TEX, MESH_NON_SCALED, MESH_NON_TRANSFORMED, MESH_PARENT, MESH_LABEL_PARENT } |
Enumeration for the bitfield that identifies mesh properties. More... | |
enum | CheckType { CHECK_STACK, CHECK_STORE, CHECK_MESH } |
Enumeration of the type of checks that can be performed. More... | |
enum | CheckWhich { CHECK_CURRENT } |
class | Process::CheckState |
CheckState | checkState () |
Call this function and convert the result to a boolean. More... | |
This is the main process class, the one all process inherit from.
Note that you should never inherit this class directly, as it won't allow anything to be done. Instead, you should inherit one of the daughter class: StackProcess, MeshProcess or GlobalProcess.
Enumeration for the bitfield that identifies mesh properties.
Enumeration for the bitfield that identifies stack properties.
Enumeration for the bitfield that identifies store properties.
mgx::process::Process::Process | ( | const Process & | p | ) |
Copy constructor.
Note that you will always need to call this constructor explicitly from your process, as Process is inherited virtually. So all leaf class need to initialize it.
void mgx::process::Process::actingFile | ( | const QString & | filename, |
bool | project_file = false |
||
) |
Method to be called anytime a file is acted on (i.e.
saved/loaded).
If needed, it will set the current folder to the one containing the file and start a session
If it is a project file (i.e. ending in mgxv), then project_file should be set to true to force the change in folder.
CheckState mgx::process::Process::checkState | ( | ) |
Call this function and convert the result to a boolean.
If the checks hold, it will return true. If not, it will return false and set the error message to a standard, fully descriptive description of what conditions should be met to use this process.
Syntax:
checkState().TYPE(CONSTRAINTS).TYPE(CONSTRAINTS)...;
Example:
if(!checkState().store(STORE_MAIN | STORE_NON_EMPTY) .store(STORE_WORK | STORE_LABEL)) return false;
Mesh* mgx::process::Process::currentMesh | ( | ) |
Returns the current mesh (i.e.
the mesh currently selected by the user)
int mgx::process::Process::currentMeshId | ( | ) | const |
Returns the id (i.e.
number) of the current mesh
Stack* mgx::process::Process::currentStack | ( | ) |
Returns the current stack (i.e.
the stack currently selected by the user).
int mgx::process::Process::currentStackId | ( | ) | const |
Return the id (i.e.
number) of the current stack.
bool mgx::process::Process::deleteStack | ( | int | i | ) |
Delete the stack of given id.
const QString& mgx::process::Process::file | ( | ) | const |
Get the name of the file that was used to load the current process (i.e.
the mgxv file), if any.
|
inlinevirtual |
Folder in which to place the process.
Subfolders can be specified by placing '/' in the path
Reimplemented in mgx::process::LoadTransform, mgx::process::SaveTransform, mgx::process::StackRelabelFromMesh, mgx::process::StackRelabel, mgx::process::ShiftStack, mgx::process::ScaleStack, mgx::process::ResizeCanvas, mgx::process::ChangeVoxelSize, mgx::process::ReverseStack, mgx::process::SwapStacks, mgx::process::MeshKeepVertices, mgx::process::FillStack3D, mgx::process::MeshDeleteSelection, mgx::process::TrimStackProcess, mgx::process::CImgLaplaceStack, mgx::process::ApplyMaskLabels, mgx::process::DeleteEdge, mgx::process::FillStackToMesh, mgx::process::CImgGaussianBlurStack, mgx::process::MergeVertices, mgx::process::ApplyMaskToStack, mgx::process::SetSignalProcess, mgx::process::MeshDeleteValence, mgx::process::CopySwapStacks, mgx::process::TakeSnapshot, mgx::process::NormalizeStack, mgx::process::ExtendByConnectivity, mgx::process::CloseStackLabel, mgx::process::RescaleSignal, mgx::process::ResetParents, mgx::process::ScaleMesh, mgx::process::CopyWorkToMain, mgx::process::SaveViewFile, mgx::process::MeshOpening, mgx::process::MeshSelectDuplicateCells, mgx::process::ApplyKernelStack, mgx::process::LoadParents, mgx::process::MeshClosing, mgx::process::SubdivideBisectMesh, mgx::process::OpenStackLabel, mgx::process::CopyMainToWork, mgx::process::MeshSelectWholeLabelExtend, mgx::process::SaveParents, mgx::process::MeshExport, mgx::process::MeshErosion, mgx::process::ResetMeshProcess, mgx::process::ClipStack, mgx::process::MeshDilation, mgx::process::AdaptiveSubdivideSignalMesh, mgx::process::MeshSelectClip, mgx::process::SharpenStack, mgx::process::ResetParents, mgx::process::MeshAutoSegment, mgx::process::LoadViewFile, mgx::process::FillHolesProcess, mgx::process::EraseAtBorderStack, mgx::process::MeshNormalize, mgx::process::LoadParents, mgx::process::LoadAllData, mgx::process::MeshUnselectLabel, mgx::process::ClearMainStack, mgx::process::AdaptiveSubdivideBorderMesh, mgx::process::MeshLocalMinima, mgx::process::SaveParents, mgx::process::MeshCombineRegions, mgx::process::GaussianBlurStack, mgx::process::OpeningStack, mgx::process::FillLabelStack, mgx::process::MeshDiffGaussians, mgx::process::SubdivideMesh, mgx::process::ClearWorkStack, mgx::process::MeshSelectLabel, mgx::process::MeshImport, mgx::process::LoadHeatMap, mgx::process::MeshGaussianBlur, mgx::process::RelabelCells3D, mgx::process::FilterStack, mgx::process::LoopSubdivisionMesh, mgx::process::ClosingStack, mgx::process::SaveHeatMap, mgx::process::LocalMaximaStack, mgx::process::MeshSelectLabeled, mgx::process::BlobDetect, mgx::process::MeshSave, mgx::process::LabelSelected, mgx::process::ProjectCurvature, mgx::process::MeshLoad, mgx::process::RescaleHeatMap, mgx::process::InvertStack, mgx::process::ShrinkMesh, mgx::process::MeshSelectUnlabeled, mgx::process::GrabLabelsSegment, mgx::process::ClearMeshSignal, mgx::process::ApplyTransferFunction, mgx::process::ThresholdLabelDelete, mgx::process::ErodeStack, mgx::process::StackOpen, mgx::process::CuttingSurfMesh, mgx::process::HideCellAxis, mgx::process::SmoothMesh, mgx::process::MergeStacks, mgx::process::ColorGradient, mgx::process::DeleteHeatRangeLabels, mgx::process::JoinRegionsSegment, mgx::process::MeshBrightness, mgx::process::DisplayPDGs, mgx::process::MeshInvertSelection, mgx::process::SmoothMeshSignal, mgx::process::ClearCellAxis, mgx::process::ConsolidateRegionsNormalized, mgx::process::StackExport, mgx::process::AutoScaleStack, mgx::process::ReverseMesh, mgx::process::MeshRelabel, mgx::process::StackImport, mgx::process::BinarizeStack, mgx::process::MeshUnselect, mgx::process::PCAnalysis, mgx::process::MarchingCube3D, mgx::process::DisplayTissueCurvature, mgx::process::DilateStack, mgx::process::GrowthDirections, mgx::process::CombineStacks, mgx::process::CopyParentsToLabels, mgx::process::MakeCellMesh, mgx::process::SaveGlobalTransform, mgx::process::ProjectSignal, mgx::process::DisplayFibrilOrientations, mgx::process::StackSave, mgx::process::SegmentClear, mgx::process::ConsolidateRegions, mgx::process::LoadCellAxis, mgx::process::TransformMesh, mgx::process::BrightenStack, mgx::process::ComputeHeatMap, mgx::process::MeshSelectBadNormals, mgx::process::HeatMapDaughterCells, mgx::process::StackSwapBytes, mgx::process::PythonProcess, mgx::process::Annihilate, mgx::process::AlignCanvas, mgx::process::MarchingCubeSurface, mgx::process::ComputeVolume, mgx::process::FixMeshCorners, mgx::process::CorrespondanceJunctions, mgx::process::AverageStack, mgx::process::EdgeDetectProcess, mgx::process::TissueCurvature, mgx::process::CorrectParents, mgx::process::SetCurrentStack, mgx::process::SegmentMesh, mgx::process::WatershedStack, mgx::process::FibrilOrientations, mgx::process::AutoTrim, mgx::process::SaveCellAxis, mgx::process::MeshSelectAll, and mgx::process::ViewMeshProcess.
|
inlinevirtual |
Icon to use to represent the process in the GUI.
Note that to use an icon present in the resources, you must precede the path with a colon (i.e. ":/images/myicon.png".
Reimplemented in mgx::process::LoadTransform, mgx::process::SaveTransform, mgx::process::StackRelabelFromMesh, mgx::process::StackRelabel, mgx::process::ShiftStack, mgx::process::ScaleStack, mgx::process::ResizeCanvas, mgx::process::ChangeVoxelSize, mgx::process::ReverseStack, mgx::process::SwapStacks, mgx::process::MeshKeepVertices, mgx::process::FillStack3D, mgx::process::MeshDeleteSelection, mgx::process::TrimStackProcess, mgx::process::ApplyMaskLabels, mgx::process::CImgLaplaceStack, mgx::process::DeleteEdge, mgx::process::FillStackToMesh, mgx::process::CImgGaussianBlurStack, mgx::process::MergeVertices, mgx::process::ApplyMaskToStack, mgx::process::SetSignalProcess, mgx::process::NormalizeStack, mgx::process::MeshDeleteValence, mgx::process::CopySwapStacks, mgx::process::TakeSnapshot, mgx::process::CloseStackLabel, mgx::process::RescaleSignal, mgx::process::ExtendByConnectivity, mgx::process::ScaleMesh, mgx::process::CopyWorkToMain, mgx::process::ResetParents, mgx::process::ApplyKernelStack, mgx::process::SaveViewFile, mgx::process::MeshSelectDuplicateCells, mgx::process::MeshOpening, mgx::process::LoadParents, mgx::process::OpenStackLabel, mgx::process::SubdivideBisectMesh, mgx::process::CopyMainToWork, mgx::process::MeshClosing, mgx::process::MeshSelectWholeLabelExtend, mgx::process::SaveParents, mgx::process::MeshAutoSegment, mgx::process::MeshExport, mgx::process::MeshErosion, mgx::process::AdaptiveSubdivideSignalMesh, mgx::process::SharpenStack, mgx::process::ClipStack, mgx::process::FillHolesProcess, mgx::process::ResetMeshProcess, mgx::process::MeshSelectClip, mgx::process::MeshDilation, mgx::process::ResetParents, mgx::process::EraseAtBorderStack, mgx::process::LoadViewFile, mgx::process::MeshNormalize, mgx::process::LoadParents, mgx::process::AdaptiveSubdivideBorderMesh, mgx::process::MeshUnselectLabel, mgx::process::ClearMainStack, mgx::process::LoadAllData, mgx::process::MeshCombineRegions, mgx::process::GaussianBlurStack, mgx::process::OpeningStack, mgx::process::MeshLocalMinima, mgx::process::SaveParents, mgx::process::FillLabelStack, mgx::process::MeshSelectLabel, mgx::process::ClearWorkStack, mgx::process::MeshDiffGaussians, mgx::process::SubdivideMesh, mgx::process::MeshImport, mgx::process::RelabelCells3D, mgx::process::LoadHeatMap, mgx::process::FilterStack, mgx::process::MeshGaussianBlur, mgx::process::ClosingStack, mgx::process::LocalMaximaStack, mgx::process::LoopSubdivisionMesh, mgx::process::BlobDetect, mgx::process::MeshSelectLabeled, mgx::process::ProjectCurvature, mgx::process::SaveHeatMap, mgx::process::LabelSelected, mgx::process::MeshLoad, mgx::process::MeshSave, mgx::process::ShrinkMesh, mgx::process::InvertStack, mgx::process::RescaleHeatMap, mgx::process::ErodeStack, mgx::process::MeshSelectUnlabeled, mgx::process::DisplayPDGs, mgx::process::ApplyTransferFunction, mgx::process::ThresholdLabelDelete, mgx::process::GrabLabelsSegment, mgx::process::MergeStacks, mgx::process::StackOpen, mgx::process::ClearMeshSignal, mgx::process::SmoothMesh, mgx::process::CuttingSurfMesh, mgx::process::HideCellAxis, mgx::process::DeleteHeatRangeLabels, mgx::process::ColorGradient, mgx::process::DisplayTissueCurvature, mgx::process::JoinRegionsSegment, mgx::process::MeshBrightness, mgx::process::MeshInvertSelection, mgx::process::PCAnalysis, mgx::process::MeshRelabel, mgx::process::ConsolidateRegionsNormalized, mgx::process::StackExport, mgx::process::ClearCellAxis, mgx::process::ReverseMesh, mgx::process::DilateStack, mgx::process::SmoothMeshSignal, mgx::process::MarchingCube3D, mgx::process::AutoScaleStack, mgx::process::BinarizeStack, mgx::process::DisplayFibrilOrientations, mgx::process::StackImport, mgx::process::CombineStacks, mgx::process::MakeCellMesh, mgx::process::GrowthDirections, mgx::process::MeshUnselect, mgx::process::SaveGlobalTransform, mgx::process::ProjectSignal, mgx::process::ComputeHeatMap, mgx::process::CopyParentsToLabels, mgx::process::LoadCellAxis, mgx::process::TransformMesh, mgx::process::ConsolidateRegions, mgx::process::StackSave, mgx::process::SegmentClear, mgx::process::Annihilate, mgx::process::MeshSelectBadNormals, mgx::process::BrightenStack, mgx::process::HeatMapDaughterCells, mgx::process::FixMeshCorners, mgx::process::ViewMeshProcess, mgx::process::AlignCanvas, mgx::process::CorrespondanceJunctions, mgx::process::StackSwapBytes, mgx::process::EdgeDetectProcess, mgx::process::MarchingCubeSurface, mgx::process::PythonProcess, mgx::process::TissueCurvature, mgx::process::SetCurrentStack, mgx::process::FibrilOrientations, mgx::process::SegmentMesh, mgx::process::ComputeVolume, mgx::process::AutoTrim, mgx::process::SaveCellAxis, mgx::process::WatershedStack, mgx::process::MeshSelectAll, mgx::process::AverageStack, and mgx::process::CorrectParents.
|
inlinevirtual |
This is an optional method that is called only when a process is launched from the GUI.
If reimplemented, it receives a potential argument list, and should provide a GUI for editing it. Once the user finishing the edition, this method should modify the provided arguments and return true. If the user aborts, the method should return false. Note that returning false does not produce an error.
parms | List of arguments |
parent | Pointer to the parent widget. If the configure method creates a GUI, it should be a child of this widget. |
Reimplemented in mgx::process::LoadTransform, mgx::process::SaveTransform, mgx::process::SaveViewFile, mgx::process::LoadParents, mgx::process::MeshExport, mgx::process::SaveParents, mgx::process::LoadViewFile, mgx::process::LoadParents, mgx::process::SaveParents, mgx::process::MeshImport, mgx::process::LoadHeatMap, mgx::process::MeshSave, mgx::process::MeshLoad, mgx::process::SaveHeatMap, mgx::process::StackOpen, mgx::process::StackExport, mgx::process::SaveGlobalTransform, mgx::process::StackImport, mgx::process::StackSave, mgx::process::ComputeHeatMap, mgx::process::LoadCellAxis, mgx::process::PythonProcess, and mgx::process::SaveCellAxis.
|
pure virtual |
Returns the name of the process.
Note that the name must be a valid identifier in Python once the spaces are replaced by underscores. Also, all underscore in the name will be replaced by spaces for user presentation.
Implemented in mgx::process::LoadTransform, mgx::process::SaveTransform, mgx::process::StackRelabelFromMesh, mgx::process::StackRelabel, mgx::process::ShiftStack, mgx::process::ScaleStack, mgx::process::ResizeCanvas, mgx::process::ChangeVoxelSize, mgx::process::ReverseStack, mgx::process::SwapStacks, mgx::process::MeshKeepVertices, mgx::process::FillStack3D, mgx::process::MeshDeleteSelection, mgx::process::TrimStackProcess, mgx::process::CImgLaplaceStack, mgx::process::ApplyMaskLabels, mgx::process::DeleteEdge, mgx::process::FillStackToMesh, mgx::process::CImgGaussianBlurStack, mgx::process::MergeVertices, mgx::process::ApplyMaskToStack, mgx::process::SetSignalProcess, mgx::process::MeshDeleteValence, mgx::process::CopySwapStacks, mgx::process::NormalizeStack, mgx::process::TakeSnapshot, mgx::process::ExtendByConnectivity, mgx::process::CloseStackLabel, mgx::process::RescaleSignal, mgx::process::ResetParents, mgx::process::ScaleMesh, mgx::process::CopyWorkToMain, mgx::process::SaveViewFile, mgx::process::MeshOpening, mgx::process::MeshSelectDuplicateCells, mgx::process::ApplyKernelStack, mgx::process::LoadParents, mgx::process::MeshClosing, mgx::process::SubdivideBisectMesh, mgx::process::OpenStackLabel, mgx::process::CopyMainToWork, mgx::process::MeshSelectWholeLabelExtend, mgx::process::SaveParents, mgx::process::MeshExport, mgx::process::MeshErosion, mgx::process::ResetMeshProcess, mgx::process::ClipStack, mgx::process::AdaptiveSubdivideSignalMesh, mgx::process::MeshDilation, mgx::process::MeshSelectClip, mgx::process::SharpenStack, mgx::process::ResetParents, mgx::process::MeshAutoSegment, mgx::process::FillHolesProcess, mgx::process::LoadViewFile, mgx::process::EraseAtBorderStack, mgx::process::MeshNormalize, mgx::process::LoadParents, mgx::process::MeshUnselectLabel, mgx::process::LoadAllData, mgx::process::ClearMainStack, mgx::process::AdaptiveSubdivideBorderMesh, mgx::process::MeshLocalMinima, mgx::process::SaveParents, mgx::process::MeshCombineRegions, mgx::process::GaussianBlurStack, mgx::process::OpeningStack, mgx::process::FillLabelStack, mgx::process::MeshDiffGaussians, mgx::process::SubdivideMesh, mgx::process::ClearWorkStack, mgx::process::MeshSelectLabel, mgx::process::MeshImport, mgx::process::LoadHeatMap, mgx::process::RelabelCells3D, mgx::process::MeshGaussianBlur, mgx::process::FilterStack, mgx::process::LoopSubdivisionMesh, mgx::process::ClosingStack, mgx::process::SaveHeatMap, mgx::process::LocalMaximaStack, mgx::process::MeshSelectLabeled, mgx::process::BlobDetect, mgx::process::MeshSave, mgx::process::LabelSelected, mgx::process::ProjectCurvature, mgx::process::MeshLoad, mgx::process::RescaleHeatMap, mgx::process::InvertStack, mgx::process::ShrinkMesh, mgx::process::MeshSelectUnlabeled, mgx::process::ClearMeshSignal, mgx::process::ThresholdLabelDelete, mgx::process::GrabLabelsSegment, mgx::process::ErodeStack, mgx::process::StackOpen, mgx::process::ApplyTransferFunction, mgx::process::CuttingSurfMesh, mgx::process::HideCellAxis, mgx::process::SmoothMesh, mgx::process::MergeStacks, mgx::process::ColorGradient, mgx::process::DeleteHeatRangeLabels, mgx::process::MeshBrightness, mgx::process::JoinRegionsSegment, mgx::process::DisplayPDGs, mgx::process::MeshInvertSelection, mgx::process::SmoothMeshSignal, mgx::process::ClearCellAxis, mgx::process::ConsolidateRegionsNormalized, mgx::process::StackExport, mgx::process::ReverseMesh, mgx::process::MeshRelabel, mgx::process::AutoScaleStack, mgx::process::StackImport, mgx::process::BinarizeStack, mgx::process::MeshUnselect, mgx::process::PCAnalysis, mgx::process::MarchingCube3D, mgx::process::DisplayTissueCurvature, mgx::process::DilateStack, mgx::process::GrowthDirections, mgx::process::CombineStacks, mgx::process::MakeCellMesh, mgx::process::CopyParentsToLabels, mgx::process::SaveGlobalTransform, mgx::process::ProjectSignal, mgx::process::DisplayFibrilOrientations, mgx::process::StackSave, mgx::process::SegmentClear, mgx::process::ConsolidateRegions, mgx::process::LoadCellAxis, mgx::process::TransformMesh, mgx::process::BrightenStack, mgx::process::MeshSelectBadNormals, mgx::process::ComputeHeatMap, mgx::process::HeatMapDaughterCells, mgx::process::StackSwapBytes, mgx::process::PythonProcess, mgx::process::Annihilate, mgx::process::AlignCanvas, mgx::process::MarchingCubeSurface, mgx::process::FixMeshCorners, mgx::process::CorrespondanceJunctions, mgx::process::EdgeDetectProcess, mgx::process::TissueCurvature, mgx::process::CorrectParents, mgx::process::SegmentMesh, mgx::process::AverageStack, mgx::process::WatershedStack, mgx::process::FibrilOrientations, mgx::process::AutoTrim, mgx::process::SaveCellAxis, mgx::process::ComputeVolume, mgx::process::SetCurrentStack, mgx::process::MeshSelectAll, and mgx::process::ViewMeshProcess.
|
pure virtual |
Implementation of the process with generic arguments.
The number of arguments is guaranteed to be at least as many as the ones named in the process.
Implemented in mgx::process::LoadTransform, mgx::process::SaveTransform, mgx::process::StackRelabelFromMesh, mgx::process::StackRelabel, mgx::process::ShiftStack, mgx::process::ScaleStack, mgx::process::ResizeCanvas, mgx::process::ChangeVoxelSize, mgx::process::ReverseStack, mgx::process::SwapStacks, mgx::process::MeshKeepVertices, mgx::process::FillStack3D, mgx::process::MeshDeleteSelection, mgx::process::TrimStackProcess, mgx::process::CImgLaplaceStack, mgx::process::ApplyMaskLabels, mgx::process::DeleteEdge, mgx::process::FillStackToMesh, mgx::process::CImgGaussianBlurStack, mgx::process::MergeVertices, mgx::process::ApplyMaskToStack, mgx::process::SetSignalProcess, mgx::process::MeshDeleteValence, mgx::process::CopySwapStacks, mgx::process::TakeSnapshot, mgx::process::NormalizeStack, mgx::process::ExtendByConnectivity, mgx::process::CloseStackLabel, mgx::process::RescaleSignal, mgx::process::ResetParents, mgx::process::ScaleMesh, mgx::process::SaveViewFile, mgx::process::CopyWorkToMain, mgx::process::MeshOpening, mgx::process::MeshSelectDuplicateCells, mgx::process::LoadParents, mgx::process::MeshClosing, mgx::process::SubdivideBisectMesh, mgx::process::ApplyKernelStack, mgx::process::CopyMainToWork, mgx::process::OpenStackLabel, mgx::process::MeshSelectWholeLabelExtend, mgx::process::SaveParents, mgx::process::MeshExport, mgx::process::MeshErosion, mgx::process::ResetMeshProcess, mgx::process::MeshDilation, mgx::process::AdaptiveSubdivideSignalMesh, mgx::process::MeshSelectClip, mgx::process::ClipStack, mgx::process::ResetParents, mgx::process::SharpenStack, mgx::process::MeshAutoSegment, mgx::process::LoadViewFile, mgx::process::FillHolesProcess, mgx::process::MeshNormalize, mgx::process::EraseAtBorderStack, mgx::process::LoadParents, mgx::process::LoadAllData, mgx::process::MeshUnselectLabel, mgx::process::ClearMainStack, mgx::process::AdaptiveSubdivideBorderMesh, mgx::process::MeshLocalMinima, mgx::process::SaveParents, mgx::process::MeshCombineRegions, mgx::process::GaussianBlurStack, mgx::process::OpeningStack, mgx::process::MeshDiffGaussians, mgx::process::FillLabelStack, mgx::process::SubdivideMesh, mgx::process::ClearWorkStack, mgx::process::MeshSelectLabel, mgx::process::LoadHeatMap, mgx::process::MeshImport, mgx::process::MeshGaussianBlur, mgx::process::RelabelCells3D, mgx::process::LoopSubdivisionMesh, mgx::process::FilterStack, mgx::process::SaveHeatMap, mgx::process::ClosingStack, mgx::process::MeshSelectLabeled, mgx::process::MeshSave, mgx::process::BlobDetect, mgx::process::LocalMaximaStack, mgx::process::LabelSelected, mgx::process::MeshLoad, mgx::process::ProjectCurvature, mgx::process::ShrinkMesh, mgx::process::InvertStack, mgx::process::RescaleHeatMap, mgx::process::MeshSelectUnlabeled, mgx::process::ClearMeshSignal, mgx::process::StackOpen, mgx::process::GrabLabelsSegment, mgx::process::ThresholdLabelDelete, mgx::process::ErodeStack, mgx::process::CuttingSurfMesh, mgx::process::HideCellAxis, mgx::process::SmoothMesh, mgx::process::ApplyTransferFunction, mgx::process::MeshBrightness, mgx::process::ColorGradient, mgx::process::MergeStacks, mgx::process::DeleteHeatRangeLabels, mgx::process::MeshInvertSelection, mgx::process::DisplayPDGs, mgx::process::JoinRegionsSegment, mgx::process::SmoothMeshSignal, mgx::process::ClearCellAxis, mgx::process::ReverseMesh, mgx::process::ConsolidateRegionsNormalized, mgx::process::StackExport, mgx::process::MeshRelabel, mgx::process::AutoScaleStack, mgx::process::MeshUnselect, mgx::process::BinarizeStack, mgx::process::SaveGlobalTransform, mgx::process::CombineStacks, mgx::process::MakeCellMesh, mgx::process::MarchingCube3D, mgx::process::DilateStack, mgx::process::CopyParentsToLabels, mgx::process::GrowthDirections, mgx::process::ProjectSignal, mgx::process::StackImport, mgx::process::DisplayTissueCurvature, mgx::process::DisplayFibrilOrientations, mgx::process::StackSave, mgx::process::SegmentClear, mgx::process::LoadCellAxis, mgx::process::ConsolidateRegions, mgx::process::MeshSelectBadNormals, mgx::process::BrightenStack, mgx::process::HeatMapDaughterCells, mgx::process::PythonProcess, mgx::process::TransformMesh, mgx::process::StackSwapBytes, mgx::process::PCAnalysis, mgx::process::FixMeshCorners, mgx::process::AlignCanvas, mgx::process::Annihilate, mgx::process::SegmentMesh, mgx::process::MarchingCubeSurface, mgx::process::ComputeHeatMap, mgx::process::ComputeVolume, mgx::process::TissueCurvature, mgx::process::ViewMeshProcess, mgx::process::SaveCellAxis, mgx::process::FibrilOrientations, mgx::process::AutoTrim, mgx::process::SetCurrentStack, mgx::process::CorrespondanceJunctions, mgx::process::MeshSelectAll, mgx::process::WatershedStack, mgx::process::EdgeDetectProcess, mgx::process::AverageStack, and mgx::process::CorrectParents.
|
inlinevirtual |
Purely for GUI purposes, provides for some of the parms parameter a choice.
In this case, the user will be presented with a combo box presenting the provided list. Note that no mechanism forces the user to choose one of this choice.
Reimplemented in mgx::process::StackRelabelFromMesh, mgx::process::ShiftStack, mgx::process::ScaleStack, mgx::process::ResizeCanvas, mgx::process::ReverseStack, mgx::process::MeshKeepVertices, mgx::process::ApplyMaskLabels, mgx::process::ApplyMaskToStack, mgx::process::SetSignalProcess, mgx::process::CopySwapStacks, mgx::process::RescaleSignal, mgx::process::MeshExport, mgx::process::MeshAutoSegment, mgx::process::MeshSelectLabel, mgx::process::MeshImport, mgx::process::BlobDetect, mgx::process::MeshSelectLabeled, mgx::process::ProjectCurvature, mgx::process::MeshSave, mgx::process::MeshLoad, mgx::process::ErodeStack, mgx::process::MeshSelectUnlabeled, mgx::process::DisplayPDGs, mgx::process::MergeStacks, mgx::process::StackOpen, mgx::process::DeleteHeatRangeLabels, mgx::process::DisplayTissueCurvature, mgx::process::PCAnalysis, mgx::process::StackExport, mgx::process::DilateStack, mgx::process::StackImport, mgx::process::DisplayFibrilOrientations, mgx::process::MakeCellMesh, mgx::process::CombineStacks, mgx::process::ProjectSignal, mgx::process::LoadCellAxis, mgx::process::StackSave, mgx::process::Annihilate, mgx::process::FixMeshCorners, mgx::process::AlignCanvas, mgx::process::CorrespondanceJunctions, mgx::process::ViewMeshProcess, mgx::process::TissueCurvature, and mgx::process::SetCurrentStack.
|
inlinevirtual |
List of parameters descriptions.
There must be as many parameters than defaults.
Reimplemented in mgx::process::LoadTransform, mgx::process::SaveTransform, mgx::process::StackRelabelFromMesh, mgx::process::StackRelabel, mgx::process::ShiftStack, mgx::process::ScaleStack, mgx::process::ResizeCanvas, mgx::process::ChangeVoxelSize, mgx::process::ReverseStack, mgx::process::SwapStacks, mgx::process::MeshKeepVertices, mgx::process::FillStack3D, mgx::process::MeshDeleteSelection, mgx::process::TrimStackProcess, mgx::process::CImgLaplaceStack, mgx::process::ApplyMaskLabels, mgx::process::DeleteEdge, mgx::process::FillStackToMesh, mgx::process::CImgGaussianBlurStack, mgx::process::MergeVertices, mgx::process::ApplyMaskToStack, mgx::process::SetSignalProcess, mgx::process::MeshDeleteValence, mgx::process::CopySwapStacks, mgx::process::NormalizeStack, mgx::process::TakeSnapshot, mgx::process::ExtendByConnectivity, mgx::process::CloseStackLabel, mgx::process::RescaleSignal, mgx::process::ScaleMesh, mgx::process::CopyWorkToMain, mgx::process::ResetParents, mgx::process::SaveViewFile, mgx::process::MeshSelectDuplicateCells, mgx::process::ApplyKernelStack, mgx::process::MeshOpening, mgx::process::LoadParents, mgx::process::OpenStackLabel, mgx::process::SubdivideBisectMesh, mgx::process::CopyMainToWork, mgx::process::MeshClosing, mgx::process::MeshSelectWholeLabelExtend, mgx::process::SaveParents, mgx::process::MeshExport, mgx::process::MeshErosion, mgx::process::AdaptiveSubdivideSignalMesh, mgx::process::ClipStack, mgx::process::SharpenStack, mgx::process::ResetMeshProcess, mgx::process::MeshSelectClip, mgx::process::MeshAutoSegment, mgx::process::MeshDilation, mgx::process::FillHolesProcess, mgx::process::ResetParents, mgx::process::EraseAtBorderStack, mgx::process::LoadViewFile, mgx::process::MeshNormalize, mgx::process::LoadParents, mgx::process::MeshUnselectLabel, mgx::process::ClearMainStack, mgx::process::AdaptiveSubdivideBorderMesh, mgx::process::LoadAllData, mgx::process::MeshCombineRegions, mgx::process::GaussianBlurStack, mgx::process::MeshLocalMinima, mgx::process::SaveParents, mgx::process::OpeningStack, mgx::process::FillLabelStack, mgx::process::MeshDiffGaussians, mgx::process::SubdivideMesh, mgx::process::ClearWorkStack, mgx::process::MeshImport, mgx::process::RelabelCells3D, mgx::process::LoadHeatMap, mgx::process::MeshGaussianBlur, mgx::process::FilterStack, mgx::process::LoopSubdivisionMesh, mgx::process::ClosingStack, mgx::process::LocalMaximaStack, mgx::process::BlobDetect, mgx::process::MeshSelectLabeled, mgx::process::SaveHeatMap, mgx::process::LabelSelected, mgx::process::MeshSave, mgx::process::ProjectCurvature, mgx::process::MeshLoad, mgx::process::InvertStack, mgx::process::ShrinkMesh, mgx::process::RescaleHeatMap, mgx::process::MeshSelectUnlabeled, mgx::process::ErodeStack, mgx::process::GrabLabelsSegment, mgx::process::ThresholdLabelDelete, mgx::process::ApplyTransferFunction, mgx::process::ClearMeshSignal, mgx::process::StackOpen, mgx::process::CuttingSurfMesh, mgx::process::MergeStacks, mgx::process::HideCellAxis, mgx::process::SmoothMesh, mgx::process::ColorGradient, mgx::process::DeleteHeatRangeLabels, mgx::process::DisplayPDGs, mgx::process::JoinRegionsSegment, mgx::process::MeshBrightness, mgx::process::MeshInvertSelection, mgx::process::ClearCellAxis, mgx::process::ConsolidateRegionsNormalized, mgx::process::SmoothMeshSignal, mgx::process::MeshRelabel, mgx::process::ReverseMesh, mgx::process::StackExport, mgx::process::AutoScaleStack, mgx::process::DisplayTissueCurvature, mgx::process::PCAnalysis, mgx::process::BinarizeStack, mgx::process::MarchingCube3D, mgx::process::DilateStack, mgx::process::StackImport, mgx::process::GrowthDirections, mgx::process::MeshUnselect, mgx::process::CombineStacks, mgx::process::MakeCellMesh, mgx::process::SaveGlobalTransform, mgx::process::DisplayFibrilOrientations, mgx::process::CopyParentsToLabels, mgx::process::ProjectSignal, mgx::process::ConsolidateRegions, mgx::process::SegmentClear, mgx::process::StackSave, mgx::process::LoadCellAxis, mgx::process::MeshSelectBadNormals, mgx::process::BrightenStack, mgx::process::ComputeHeatMap, mgx::process::HeatMapDaughterCells, mgx::process::Annihilate, mgx::process::StackSwapBytes, mgx::process::PythonProcess, mgx::process::AlignCanvas, mgx::process::CorrespondanceJunctions, mgx::process::MarchingCubeSurface, mgx::process::FixMeshCorners, mgx::process::EdgeDetectProcess, mgx::process::TissueCurvature, mgx::process::FibrilOrientations, mgx::process::ComputeVolume, mgx::process::SetCurrentStack, mgx::process::SegmentMesh, mgx::process::AutoTrim, mgx::process::WatershedStack, mgx::process::SaveCellAxis, mgx::process::MeshSelectAll, mgx::process::CorrectParents, mgx::process::AverageStack, and mgx::process::ViewMeshProcess.
|
pure virtual |
List of named parameters.
There must be as many parameters than defaults.
Implemented in mgx::process::LoadTransform, mgx::process::SaveTransform, mgx::process::StackRelabelFromMesh, mgx::process::StackRelabel, mgx::process::ShiftStack, mgx::process::ScaleStack, mgx::process::ResizeCanvas, mgx::process::ChangeVoxelSize, mgx::process::ReverseStack, mgx::process::SwapStacks, mgx::process::MeshKeepVertices, mgx::process::FillStack3D, mgx::process::MeshDeleteSelection, mgx::process::TrimStackProcess, mgx::process::CImgLaplaceStack, mgx::process::ApplyMaskLabels, mgx::process::DeleteEdge, mgx::process::FillStackToMesh, mgx::process::CImgGaussianBlurStack, mgx::process::MergeVertices, mgx::process::ApplyMaskToStack, mgx::process::SetSignalProcess, mgx::process::MeshDeleteValence, mgx::process::CopySwapStacks, mgx::process::NormalizeStack, mgx::process::TakeSnapshot, mgx::process::ExtendByConnectivity, mgx::process::CloseStackLabel, mgx::process::RescaleSignal, mgx::process::ScaleMesh, mgx::process::CopyWorkToMain, mgx::process::ResetParents, mgx::process::SaveViewFile, mgx::process::MeshSelectDuplicateCells, mgx::process::MeshOpening, mgx::process::ApplyKernelStack, mgx::process::LoadParents, mgx::process::SubdivideBisectMesh, mgx::process::MeshClosing, mgx::process::OpenStackLabel, mgx::process::CopyMainToWork, mgx::process::MeshSelectWholeLabelExtend, mgx::process::SaveParents, mgx::process::MeshExport, mgx::process::MeshErosion, mgx::process::AdaptiveSubdivideSignalMesh, mgx::process::ClipStack, mgx::process::ResetMeshProcess, mgx::process::MeshSelectClip, mgx::process::SharpenStack, mgx::process::MeshDilation, mgx::process::MeshAutoSegment, mgx::process::ResetParents, mgx::process::FillHolesProcess, mgx::process::EraseAtBorderStack, mgx::process::LoadViewFile, mgx::process::MeshNormalize, mgx::process::LoadParents, mgx::process::MeshUnselectLabel, mgx::process::ClearMainStack, mgx::process::LoadAllData, mgx::process::AdaptiveSubdivideBorderMesh, mgx::process::MeshCombineRegions, mgx::process::MeshLocalMinima, mgx::process::GaussianBlurStack, mgx::process::SaveParents, mgx::process::OpeningStack, mgx::process::FillLabelStack, mgx::process::MeshDiffGaussians, mgx::process::SubdivideMesh, mgx::process::ClearWorkStack, mgx::process::MeshSelectLabel, mgx::process::MeshImport, mgx::process::LoadHeatMap, mgx::process::RelabelCells3D, mgx::process::MeshGaussianBlur, mgx::process::FilterStack, mgx::process::LoopSubdivisionMesh, mgx::process::ClosingStack, mgx::process::LocalMaximaStack, mgx::process::SaveHeatMap, mgx::process::MeshSelectLabeled, mgx::process::BlobDetect, mgx::process::MeshSave, mgx::process::LabelSelected, mgx::process::ProjectCurvature, mgx::process::MeshLoad, mgx::process::InvertStack, mgx::process::ShrinkMesh, mgx::process::RescaleHeatMap, mgx::process::MeshSelectUnlabeled, mgx::process::GrabLabelsSegment, mgx::process::ThresholdLabelDelete, mgx::process::ErodeStack, mgx::process::ClearMeshSignal, mgx::process::ApplyTransferFunction, mgx::process::StackOpen, mgx::process::CuttingSurfMesh, mgx::process::MergeStacks, mgx::process::HideCellAxis, mgx::process::SmoothMesh, mgx::process::ColorGradient, mgx::process::DeleteHeatRangeLabels, mgx::process::JoinRegionsSegment, mgx::process::MeshBrightness, mgx::process::DisplayPDGs, mgx::process::MeshInvertSelection, mgx::process::ClearCellAxis, mgx::process::ConsolidateRegionsNormalized, mgx::process::SmoothMeshSignal, mgx::process::ReverseMesh, mgx::process::MeshRelabel, mgx::process::StackExport, mgx::process::AutoScaleStack, mgx::process::BinarizeStack, mgx::process::PCAnalysis, mgx::process::StackImport, mgx::process::GrowthDirections, mgx::process::MeshUnselect, mgx::process::MarchingCube3D, mgx::process::DisplayTissueCurvature, mgx::process::DilateStack, mgx::process::CombineStacks, mgx::process::MakeCellMesh, mgx::process::SaveGlobalTransform, mgx::process::CopyParentsToLabels, mgx::process::DisplayFibrilOrientations, mgx::process::ProjectSignal, mgx::process::StackSave, mgx::process::SegmentClear, mgx::process::ConsolidateRegions, mgx::process::LoadCellAxis, mgx::process::TransformMesh, mgx::process::BrightenStack, mgx::process::MeshSelectBadNormals, mgx::process::ComputeHeatMap, mgx::process::HeatMapDaughterCells, mgx::process::StackSwapBytes, mgx::process::PythonProcess, mgx::process::Annihilate, mgx::process::AlignCanvas, mgx::process::MarchingCubeSurface, mgx::process::CorrespondanceJunctions, mgx::process::FixMeshCorners, mgx::process::EdgeDetectProcess, mgx::process::TissueCurvature, mgx::process::FibrilOrientations, mgx::process::ComputeVolume, mgx::process::SegmentMesh, mgx::process::AutoTrim, mgx::process::WatershedStack, mgx::process::SetCurrentStack, mgx::process::SaveCellAxis, mgx::process::CorrectParents, mgx::process::AverageStack, mgx::process::MeshSelectAll, and mgx::process::ViewMeshProcess.
bool mgx::process::Process::RunProcess | ( | Process & | proc, |
const QStringList & | parms | ||
) | |||
throw | ( | ||
) |
Launch a process with generic arguments.
Note that exceptions are filtered and converted into an error message and the process returning false.
bool mgx::process::Process::RunProcess | ( | const QString & | processType, |
const QString & | processName, | ||
const QStringList & | parms | ||
) | |||
throw | ( | ||
) |
Launch a process by name.
Note that exceptions are filtered and converted into an error message and the process returning false.
void mgx::process::Process::setGlobalBrightness | ( | float | value | ) |
Change the current setting for the global brightness level.
The brightness is clamped to the range [-1;1]
void mgx::process::Process::setGlobalContrast | ( | float | value | ) |
Change the current setting for the global contrast level.
The contrast is clamped to the range [0;2]
|
protected |
Method that can be used to launch a system command.
The process programmer should not use this directly but use one of the public convenience method instead.
void mgx::process::Process::updateState | ( | ) |
Update the state of the application from the current data.
The process is paused until it's done.