SMILX  1.01
Public Slots | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
milxQtSSMPlugin Class Reference

The Statistical Shape Model (SSM) plugin for milxQt. More...

#include <milxQtSSMPlugin.h>

Inheritance diagram for milxQtSSMPlugin:
milxQtPluginInterface

Public Slots

virtual void loadExtension ()
 
virtual void update ()
 
void updateManager (QWidget *newWindow)
 
void multiModel ()
 
void focusedModel ()
 
void showAtlasFileDialog ()
 
void showSurfacesFileDialog ()
 
void closedSSM (QWidget *win)
 
void passOnCollection (vtkPolyDataCollection *modelCollection, QStringList &filenames)
 
void preStartTasks ()
 
void postStartTasks ()
 
- Public Slots inherited from milxQtPluginInterface
virtual void loadExtension ()=0
 Load the extension. [Implement this in your plugin].
 
virtual void update ()=0
 Update the plugin. [Implement this in your plugin]. More...
 
virtual void preStartTasks ()=0
 Tasks to complete before running or starting the thread. [Implement this].
 
virtual void postStartTasks ()=0
 Tasks to complete after running or starting the thread. [Implement this].
 

Public Member Functions

 milxQtSSMPlugin (QObject *theParent=0)
 
QString name ()
 Get the Name of the plugin. [Implement this in your plugin].
 
bool hasOpenSupport ()
 Does the plugin support opening files? [Implement this in your plugin].
 
QString openFileSupport ()
 Get the file support string for opening (extension wildcard list). [Implement this in your plugin].
 
QStringList openExtensions ()
 Get a list of supported file format extensions. [Implement this in your plugin].
 
bool hasSaveSupport ()
 Does the plugin support opening files? [Implement this in your plugin].
 
QString saveFileSupport ()
 Get the file support string for saving (extension wildcard list). [Implement this in your plugin].
 
QStringList saveExtensions ()
 Get a list of supported file format extensions. [Implement this in your plugin].
 
bool hasCollectionSupport ()
 Does the plugin support collections (PolyData collection etc.). [Implement this in your plugin].
 
void SetInputCollection (vtkPolyDataCollection *collection, QStringList &filenames)
 Pass a collection to internal plugin class. [Implement this in your plugin]. More...
 
void SetInputCollection (vtkPolyDataCollection *collection, vtkPolyData *atlasSurface, QStringList &filenames)
 
void open (QString filename)
 Open the file using the plugin. [Implement this in your plugin].
 
void save (QString filename)
 Save the result as a file using the plugin. [Implement this in your plugin].
 
milxQtRenderWindowgenericResult ()
 Get the generic result, which is a milxQtRenderWindow. The result can then be displayed in milxQtMain etc. [Implement this in your plugin].
 
milxQtModelmodelResult ()
 Get the model result. The result can then be displayed in milxQtMain etc. [Implement this in your plugin]. More...
 
milxQtImageimageResult ()
 Get the image result. The result can then be displayed in milxQtMain etc.[Implement this in your plugin].
 
QDockWidget * dockWidget ()
 Return the dock widget (if one is provided by plugin). [Implement this in your plugin].
 
Qt::DockWidgetArea dockDefaultArea ()
 Return the default dock widget area (if one is provided by plugin). [Implement this in your plugin].
 
bool isPluginRobustWindow (QWidget *window)
 
bool isPluginWindow (QWidget *window)
 Is the window provided a plugin generated window? In this case a milxQtShapeModel window. [Implement this in your plugin].
 
milxQtRobustShapeModelpluginRobustWindow (QWidget *window)
 
milxQtShapeModelpluginWindow (QWidget *window)
 
- Public Member Functions inherited from milxQtPluginInterface
 milxQtPluginInterface (QObject *theParent=0)
 Default destructor.
 
void setFileName (const QString filename)
 Set the Name of the data. [Don't Reimplement this]. More...
 
void setConsole (milxQtConsole *con)
 Set console to be used by plugins for output. More...
 
bool isThreaded ()
 Is the plugin threaded? [Don't Reimplement this].
 
bool isDockable ()
 Is the plugin a dock window? [Don't Reimplement this].
 
bool isConsole ()
 Is the plugin a console dock window? If so, it will be added to the console dock window. [Don't Reimplement this].
 
bool isExtension ()
 Is the plugin an extension? [Don't Reimplement this].
 
QList< QAction * > addToFileMenu ()
 Actions to add to the file or context menu. [Don't Reimplement this].
 
QList< QMenu * > addToMenuBar ()
 Menus to add to the menu bar. [Don't Reimplement this].
 

Protected Member Functions

void run ()
 
void addShapeModel (milxQtShapeModel *newShapeModel)
 
void addShapeModel (milxQtRobustShapeModel *newShapeModel)
 
void createActions ()
 
void createMenu ()
 
void createWizard ()
 
void createConnections ()
 

Protected Attributes

bool modelManagerCreated
 Model Manager tab has been created?
 
bool caseManagerCreated
 Model Manager tab has been created?
 
int modelTabIndex
 
int caseTabIndex
 
QList< QPointer< milxQtShapeModel > > shapes
 
QList< QPointer< milxQtRobustShapeModel > > robustShapes
 
QWidget * currentModel
 Current model being viewed/processed.
 
milxQtShapeModelhybridShapeModel
 Hybrid model.
 
QPointer< milxQtManagermanager
 Manager widget.
 
QPointer< QDockWidget > dock
 Dock widget.
 
QPointer< milxQtMainMainWindow
 
QMenu * menuSSM
 SSM menu.
 
QAction * actionMultiModel
 hybrid model action
 
QAction * actionFocusModel
 focus model action
 
QWizard wizard
 
QLineEdit * txtAtlasName
 
QPushButton * btnAtlasName
 
QString atlasFilename
 
QListWidget * comboSurfaceNames
 
QPushButton * btnSurfaceNames
 
QPushButton * btnClearSurfaceNames
 
QStringList surfaceFilenames
 
- Protected Attributes inherited from milxQtPluginInterface
QString pluginName
 
QString dataName
 
bool threaded
 Threaded plugin?
 
bool dockable
 Dockable plugin?
 
bool consoleWindow
 console window?
 
bool extension
 Extension rather than a plugin?
 
QMutex mutex
 
QList< QAction * > fileMenuEntries
 
QList< QMenu * > menuToAdd
 
milxQtConsoleconsole
 console for logging
 

Additional Inherited Members

- Signals inherited from milxQtPluginInterface
void resultAvailable (milxQtRenderWindow *)
 Send signal that Resultant render window is available for showing.
 
void resultAvailable (milxQtModel *)
 Send signal that Resultant model is available for showing.
 
void resultAvailable (milxQtImage *)
 Send signal that Resultant image is available for showing.
 
void resultAvailable (vtkPolyDataCollection *, QStringList &)
 Send signal that Resultant collection is available for showing.
 
void working (int value)
 Send signal that computation is in progress. Value carries the progress,.
 
void done (int value)
 Send signal that computation is done. Value carries the progress,.
 

Detailed Description

The Statistical Shape Model (SSM) plugin for milxQt.

Allows the creation, display and modifications of SSMs from vtkPolyData collections or via the *.ssm files.

The plugin also has two managers, a model and a case manager. The former shows a list of all SSMs loaded and their weights (for usage with multi-model SSMs) and the latter shows the case list for the current model if created via collections.

Definition at line 37 of file milxQtSSMPlugin.h.

Constructor & Destructor Documentation

◆ milxQtSSMPlugin()

milxQtSSMPlugin::milxQtSSMPlugin ( QObject *  theParent = 0)

Up cast parent to milxQtMain

Definition at line 25 of file milxQtSSMPlugin.cpp.

Member Function Documentation

◆ modelResult()

milxQtModel * milxQtSSMPlugin::modelResult ( )
virtual

Get the model result. The result can then be displayed in milxQtMain etc. [Implement this in your plugin].

< return mean model result

< return mean model result

Implements milxQtPluginInterface.

Definition at line 263 of file milxQtSSMPlugin.cpp.

◆ multiModel

void milxQtSSMPlugin::multiModel ( )
slot

< Deleted by SSM class

Keep UI responsive

Keep UI responsive

Definition at line 474 of file milxQtSSMPlugin.cpp.

◆ pluginRobustWindow()

milxQtRobustShapeModel * milxQtSSMPlugin::pluginRobustWindow ( QWidget *  window)

Casts window to a ShapeModel class after performing relevant checks

Definition at line 297 of file milxQtSSMPlugin.cpp.

◆ run()

void milxQtSSMPlugin::run ( )
protected

Execute own thread work here

Definition at line 364 of file milxQtSSMPlugin.cpp.

◆ SetInputCollection() [1/2]

void milxQtSSMPlugin::SetInputCollection ( vtkPolyDataCollection *  collection,
QStringList &  filenames 
)
virtual

Pass a collection to internal plugin class. [Implement this in your plugin].

Update case list in manager

< Case Browser

Implements milxQtPluginInterface.

Definition at line 108 of file milxQtSSMPlugin.cpp.

◆ SetInputCollection() [2/2]

void milxQtSSMPlugin::SetInputCollection ( vtkPolyDataCollection *  collection,
vtkPolyData *  atlasSurface,
QStringList &  filenames 
)

Update case list in manager

< Case Browser

Definition at line 147 of file milxQtSSMPlugin.cpp.

◆ showAtlasFileDialog

void milxQtSSMPlugin::showAtlasFileDialog ( )
slot

<

Todo:
Check and validate extensions support at Open in Main class

Definition at line 564 of file milxQtSSMPlugin.cpp.

◆ showSurfacesFileDialog

void milxQtSSMPlugin::showSurfacesFileDialog ( )
slot

<

Todo:
Check and validate extensions support at Open in Main class

Definition at line 579 of file milxQtSSMPlugin.cpp.

◆ updateManager

void milxQtSSMPlugin::updateManager ( QWidget *  newWindow)
slot

If fails, then neither new or old SSM so dont bother doing anything

< If model manager not created, create it

If valid SSM, dont know if its new so check all windows and updated model manager tab

Assume this plugin is the only loader of SSMs If loaded SSM, update the manager display

Definition at line 421 of file milxQtSSMPlugin.cpp.


The documentation for this class was generated from the following files: