SMILX  1.01
Public Slots | Signals | Public Member Functions | Protected Types | Protected Slots | Protected Member Functions | Protected Attributes | List of all members
milxQtMain Class Reference

This class represents the MILX Qt Main Window object using Qt. More...

#include <milxQtMain.h>

Inheritance diagram for milxQtMain:

Public Slots

bool isRender (QWidget *win)
 Returns true if window is a generic render (milxQtRenderWindow object)
 
bool isActiveRender ()
 Returns true if active window is a generic render (milxQtRenderWindow object)
 
milxQtRenderWindowactiveRender ()
 Returns the milxQtRenderWindow object, returns 0 if active window is not a milxQtRenderWindow object.
 
bool isImage (QWidget *win)
 Returns true if window is an Image (milxQtImage object)
 
bool isActiveImage ()
 Returns true if active window is an Image (milxQtImage object)
 
milxQtImageactiveImage ()
 Returns the milxQtImage object, returns 0 if active window is not a milxQtImage object.
 
bool isModel (QWidget *win)
 Returns true if window is an Model (milxQtModel object)
 
bool isActiveModel ()
 Returns true if active window is an Model (milxQtModel object)
 
milxQtModelactiveModel ()
 Returns the milxQtModel object, returns 0 if active window is not a milxQtModel object.
 
bool isPlot (QWidget *win)
 Returns true if window is an Plot (milxQtPlot object)
 
bool isActivePlot ()
 Returns true if active window is an Plot (milxQtPlot object)
 
milxQtModelactivePlot ()
 Returns the milxQtPlot object, returns 0 if active window is not a milxQtPlot object.
 
bool isUnifiedWindow (QWidget *win)
 Returns true if window is an UnifiedWindow (milxQtUnifiedWindow object)
 
bool isActiveUnifiedWindow ()
 Returns true if active window is an UnifiedWindow (milxQtUnifiedWindow object)
 
milxQtUnifiedWindowactiveUnifiedWindow ()
 Returns the milxQtUnifiedWindow object, returns 0 if active window is not a milxQtUnifiedWindow object.
 
bool isActiveWebView ()
 Returns true if active window is a web viewer.
 
QWebView * activeWebView ()
 Returns the QWebView object, returns 0 if active window is not a QWebView object.
 
void setActiveWindow (QWidget *currentWindow)
 Makes the window the active window.
 
void newTab ()
 Creates a new tab for the workspace. More...
 
bool open ()
 Opens data for viewing in the current tab. More...
 
void openCollection ()
 Opens a collection of models for viewing in the same window.
 
void openSeries ()
 Opens a DICOM series for viewing in the same window.
 
void openRecentFile ()
 Opens recent file (from recent file menu) for analysis and display.
 
void loadFiles (const QStringList &filenames)
 Opens multiple files for viewing in the current tab. More...
 
bool loadFile (const QString &filename)
 Opens a file for viewing in the current tab. More...
 
void setCurrentFile (const QString &fileName)
 Saves the recent opened/saved file into the recent files list.
 
void updateRecentFileActions ()
 Updates the recent files list in the file menu.
 
QActionGroup * updateWindowMenu ()
 Updates the windows list in the windows menu.
 
QActionGroup * updateWindowListMenu (bool applyMapper=true)
 Updates the windows list in the windows list menu. This is a raw list for children to use.
 
QActionGroup * updateImportFromMenu (bool applyMapper=false)
 Updates the Import form menu in the windows list menu. This is a raw list for children to use.
 
void updateWindowsWithValue (int value)
 Updates the windows based on single value (in percent), such as from a slider etc.
 
void updateWindowsWithAutoLevel ()
 Updates the windows with auto levelling.
 
void updateWindowsWithRefresh ()
 Updates the windows with default views and window levels.
 
void updateWindowsWithCursors ()
 Updates the windows with cursors.
 
void updateWindowsWithView (int value)
 Updates the windows view, such as from a combo box etc.
 
void updateWindowsWithViewType (int value)
 Updates the windows view type based on type set, such as from a combo box etc.
 
void updateWindowsWithViewOrientation (int value)
 Updates the windows view orientation based on orientation set, such as from a combo box etc.
 
QActionGroup * windowActionList (QMenu *menuForList, bool groupTogether=true, bool applyMapper=false)
 Creates an action list of windows currently opened to the menu provided. More...
 
void save (QString filename="")
 Saves the data in the current tab to file. The saving is content sensitive and depends on the extension provided. More...
 
void saveScreen (QString filename="")
 Saves a screenshot of the active window in the current tab to file. The saving is content sensitive and depends on the extension provided.
 
void setTabName (QWidget *fromWindow)
 Set the tab name.
 
void setTabName (const QString newName)
 Set the tab name of the current tab.
 
void closeTab (int index)
 Close the tab.
 
void closeTabActiveWindow ()
 Close active window in the tab.
 
void closeTabAllWindows ()
 Close all the windows in the current tab.
 
void cascadeTab ()
 Cascade all the windows in the current tab.
 
void tileTab ()
 Tile all the windows in the current tab.
 
void tileTabVertically ()
 Tile all the windows vertically in the current tab.
 
void tileTabHorizontally ()
 Tile all the windows horizontally in the current tab.
 
void helpContents ()
 Show the help contents browser.
 
void preferences ()
 Show the preferences for the program. More...
 
void controls ()
 Show the controls information.
 
void about ()
 Show the about information.
 
void working (int value)
 Show progress bar when computing work. NEgative value shows a busy bar.
 
void done (int value)
 Hide progress bar when done computing.
 
void display (milxQtRenderWindow *rnd)
 Handles the displaying of renders as they are produced. More...
 
void predisplay (milxQtImage *img)
 Handles the pre-displaying tasks for images, such as checking view type and if 3D viewing is needed etc. More...
 
void display (milxQtImage *img)
 Handles the displaying of images as they are produced. More...
 
void display (vtkImageData *img, QString nameOfImage)
 Handles the displaying of images as they are produced.
 
void display (milxQtModel *mdl)
 Handles the displaying of models as they are produced. More...
 
void display (vtkPolyData *newModel, QString nameOfModel)
 Handles the displaying of polydata as they are produced.
 
void display (milxQtUnifiedWindow *uni)
 Handles the displaying of unified (multi) display windows as they are produced. More...
 
void display (vtkPolyDataCollection *modelCollection, QStringList &filenames)
 Handles the display of collections. More...
 
void addRender (milxQtRenderWindow *rnd)
 Adds a generic render widget and links its results.
 
void addImage (milxQtImage *img)
 Adds an image widget and links its results.
 
void addModel (milxQtModel *mdl)
 Adds a model widget and links its results.
 
void addUnifiedWindow (milxQtUnifiedWindow *uni)
 Adds a unified window and links its results.
 
void addToUnifiedWindow (milxQtImage *img)
 Adds an image to the unified window and links its results.
 
void addToUnifiedWindow (milxQtModel *mdl)
 Adds a model to the unified window and links its results.
 
void showUnifiedWindow ()
 Shows the unified window.
 
milxQtUnifiedWindowgetUnifiedWindow ()
 Returns the unified window.
 
void cleanUpOnClose (QWidget *win)
 Removes references to windows that are closed so they are no longer "open".
 
QWidgetList getListOfWindows ()
 Get a list of widgets/windows that are in the current tab.
 
int getNumberOfWindows ()
 Return the number of windows in the current tab.
 
int getNumberOfImageWindows ()
 Return the number of image windows in the current tab.
 
int getNumberOfModelWindows ()
 Return the number of model windows in the current tab.
 
int getNumberOfTabs ()
 Return the number of tabs in the main window.
 
void initialiseWindowTraversal ()
 Initialise the window iterator to the first window opened.
 
milxQtWindowcurrentWindow ()
 Get the current window opened in the current tab. More...
 
milxQtWindownextWindow ()
 Get the next window opened in the current tab. More...
 
milxQtRenderWindownextRenderWindow ()
 Get the next render window opened in the current tab. More...
 
milxQtModelnextModel ()
 Get the next model opened in the current tab. More...
 
milxQtImagenextImage ()
 Get the next image opened in the current tab. More...
 
void imageToSurface (vtkSmartPointer< vtkImageData > img, const float value=numeric_limits< float >::max())
 Compute image to surface process.
 
void imageToPolyData (vtkSmartPointer< vtkImageData > img)
 Compute image to poly data process.
 
void imageToPseudoImage (vectorImageType::Pointer img)
 Compute pseudo image from vector image. More...
 
void imageToVectorField (vectorImageType::Pointer img, floatImageType::Pointer magImg, int subsampleFactor=0, float scaling=0.0)
 Compute vector field from image. More...
 
void imageToTensorField (vectorImageType::Pointer img, floatImageType::Pointer magImg, int subsampleFactor=0, float scaling=0.0)
 Compute tensor field from image. More...
 
void imageToStreamLines (vectorImageType::Pointer img, floatImageType::Pointer magImg, size_t subsampleFactor=0)
 Compute streamlines from vector image from the extents supplied (pixels of which are used as start points for the streams). More...
 
void imageToVolume (vtkSmartPointer< vtkImageData > img, bool eightbit)
 Display image as volume rendering.
 
void imageToPlot (vtkSmartPointer< vtkImageData > img, int displaceAxis=2)
 Display image as a surface plot. More...
 
void tableToPlot (vtkSmartPointer< vtkTable > tbl, QString title)
 Display table as a plot.
 
void voxeliseSurface (vtkSmartPointer< vtkPolyData > surface)
 Convert poly data to an image volume.
 
void imagesMix ()
 Blend all open images together to create new image usaing a mixer dialog. More...
 
void imagesBlend (QVector< float > opacities)
 Blend all open images together to create new image. 'opacities' would hold a list of floats for blending each image. More...
 
void imagesAdd ()
 Add all open images together to create new image. More...
 
void imagesAverage ()
 Average all open images together to create new image.
 
void imagesSubtract ()
 Subtract all open images together to create new image. More...
 
void imagesMultiply ()
 Multiply all open images together to create new image. More...
 
void imagesConvolve ()
 Convolve all open images together to create new image. More...
 
void imagesMergeLabels ()
 Merge all open labelled images together to create new labelled image. More...
 
void unify ()
 Add the active window to the current multi (unified) display. More...
 
void link ()
 Link all windows in the current tab. Changing one window camera updates all others.
 
void unlink ()
 Unlink all windows in the current tab.
 
void update ()
 Update the GUI elements, such as menus etc. to most up-to-date status.
 
void writeSettings ()
 Write the necessary GUI settings/state for the main class.
 
void readSettings ()
 Load the necessary GUI settings/state for the main class. More...
 
bool loadPlugins ()
 Loads plugins (which are assumed to be DLLs) according to the milxQtPluginInterface. More...
 
QList< QPointer< milxQtPluginInterface > > getPlugins ()
 Returns a list of the loaded plugins (which are assumed to be DLLs) according to the milxQtPluginInterface.
 
void printError (QString msg)
 Error message wrapper for console.
 
void printWarning (QString msg)
 Warning message wrapper for console.
 
void printDebug (QString msg)
 Debug message wrapper for console.
 
void printInfo (QString msg)
 Info message wrapper for console.
 

Signals

void windowActivated (QWidget *win)
 Signal for when a window has been activated.
 
void displayed (milxQtRenderWindow *)
 Signal for when a render window has been displayed.
 
void displayed (milxQtImage *)
 Signal for when an image has been displayed.
 
void displayed (milxQtModel *)
 Signal for when a model has been displayed.
 
void displayed (milxQtUnifiedWindow *)
 Signal for when a unified window has been displayed.
 
void updatedWindowListMenu (QActionGroup *)
 Signal for when the window list menu is updated.
 
void updatedWindowListMenu (QMenu *)
 Signal for when the window list menu is updated.
 
void updatedImportFromMenu (QActionGroup *)
 Signal for when the import from menu is updated.
 
void updatedImportFromMenu (QMenu *)
 Signal for when the import from menu is updated.
 

Public Member Functions

 milxQtMain (QWidget *theParent=0)
 The standard constructor. More...
 
virtual ~milxQtMain ()
 The standard destructor.
 
QString activeName ()
 Returns the name of the active window regardless of being an image, table or surface plot. More...
 
QString activeNamePrefix ()
 Returns the name with prefix of the active window regardless of being an image, table or surface plot. More...
 
void preferWhiteBackground (const bool whiteBack)
 Sets whether white background is to be used whenever possible. Default: false.
 
bool isWhiteBackgroundPreferred ()
 
void preferHumanGlyph (const bool human)
 Sets whether human orientation glyph is to be shown whenever possible. Default: true.
 
bool isHumanGlyphPreferred ()
 
void preferSubWindowSize (const int winSize)
 Sets number of sub-window size is to be used whenever possible. Default: double of minWindowSize (around 512).
 
int hasPreferredSubWindowSize ()
 
void preferMaximumProcessors (const int procs)
 Sets number of max processors is to be used whenever possible. Default: Half of max available on CPU to a minimum of one.
 
int hasMaximumProcessors ()
 
void preferScreenshotMagnifyFactor (const int factor)
 Sets the magnify factor when saving screenshots. Default: 2.
 
int hasScreenshotMagnifyFactor ()
 
void preferTimestamps (const bool timestamps)
 Sets whether timestamps are to be shown whenever possible. Default: true.
 
bool isTimestampsPreferred ()
 
void preferImageInterpolation (const bool interp)
 Sets whether interpolation is to be shown whenever possible for images. Default: true.
 
bool isImageInterpolationPreferred ()
 
void preferOrientation (const bool orient)
 Sets whether image orientation is to be applied whenever possible for images. Default: true.
 
bool isOrientationPreferred ()
 
void preferModelInterpolation (const bool interp)
 Sets whether interpolation is to be shown whenever possible for models. Default: false.
 
bool isModelInterpolationPreferred ()
 
void preferScalarBar (const bool bar)
 Sets whether scalar bar is to be show whenever possible for models. Default: false.
 
bool isScalarBarPreferred ()
 

Protected Types

enum  { MaxRecentFiles = 10 }
 

Protected Slots

void redirectWindowActivated (QWidget *win)
 Redirect the workspace signal to milxQtMain object level.
 
void transferViewToWindows (vtkObject *obj, unsigned long, void *client_data, void *, vtkCommand *command)
 If the windows are linked, copy viewing options from one window to all others. More...
 
void dataMenu ()
 Create the data menu based on Window selected.
 
void updateQtEvents ()
 Update the Qt events, used to keep UI responsive.
 

Protected Member Functions

void linkProgressEventOf (vtkObject *obj)
 Link the progress of filters etc to keep the UI responsive.
 
void commonChildProperties (QWidget *widget)
 Sets all the common child properties of the data windows such as images, plots etc. More...
 
void createMenu ()
 Creates the menu actions. More...
 
void createComboBoxes ()
 Creates the combo boxes for main window. More...
 
void createToolBars ()
 Creates the toolbar for the main window.
 
void createConnections ()
 Creates the signals and slots connections within the main window. More...
 
void createProgressBar ()
 Creates the progress bar in the status bar within the main window.
 
void setupTooltips ()
 Assign tooltips to each action for users benefit. The tooltips explains the function of each action.
 
void contextMenuEvent (QContextMenuEvent *event)
 The context menu setup member. More...
 
QString strippedName (const QString &fullFileName)
 Returns the filename with the path stripped.
 
void dragEnterEvent (QDragEnterEvent *event)
 Part of the Drag and Drop feature members. Tells what drags to accept.
 
void dropEvent (QDropEvent *event)
 Part of the Drag and Drop feature members. Opens the dropped files.
 
void closeEvent (QCloseEvent *event)
 Tasks to complete when closing.
 

Protected Attributes

bool debugMode
 Debug output mode?
 
bool whiteBackground
 Prefer white backgrounds?
 
bool humanGlyph
 Prefer showing human glyph?
 
int subWindowSize
 Window size of child windows to use.
 
int maxProcessors
 Max processors to use.
 
int magnifyFactor
 Screenshot magnify factor.
 
bool timestamping
 Prefer showing timestamp?
 
bool interpolationImages
 Prefer showing interpolation for images?
 
bool orientationImages
 Prefer applying orientation to images?
 
bool interpolationModels
 Prefer applying interpolation to models?
 
bool scalarBarModels
 Show scalar bar for models?
 
QMenuBar * menuBar
 Menu bar for the window.
 
QMenu * menuFile
 File menu.
 
QMenu * menuImages
 File menu.
 
QMenu * menuData
 Data menu.
 
QMenu * menuWindows
 Windows menu.
 
QMenu * menuHelp
 Help menu.
 
size_t progressCallCount
 Takes account of how many calls of working have been made.
 
int windowIterator
 Keep track of current window being traversed.
 
QString saveSupport
 Save file extension support list, cats all known extensions.
 
QString openSupport
 Load file extension support list, cats all known extensions.
 
QAction * actionOpen
 open action
 
QAction * actionOpenSeries
 open series action
 
QAction * actionOpenCollect
 open collection action
 
QAction * actionSave
 save action
 
QAction * actionSaveScreen
 save action
 
QAction * actionCloseActive
 Close active window in tab action.
 
QAction * actionCloseAll
 Close all windows in tab action.
 
QAction * actionsRecentFile [MaxRecentFiles]
 Array of recent file actions.
 
QAction * actionRecentFileSeparator
 Pointer to separator so it can be turned on and off.
 
QAction * actionExit
 Exit action.
 
QAction * actionNewTab
 New Tab action.
 
QAction * actionBlendImages
 blend images batch operation action
 
QAction * actionAddImages
 add images batch operation action
 
QAction * actionAverageImages
 average images batch operation action
 
QAction * actionSubtractImages
 subtract images batch operation action
 
QAction * actionMultiplyImages
 multiply images batch operation action
 
QAction * actionConvolveImages
 Convolve images batch operation action.
 
QAction * actionMergeLabels
 Merge labelled images batch operation action.
 
QAction * actionLinkWindows
 Using linked cameras for all windows in a tab?
 
QAction * actionCascade
 Cascade windows in workspace action.
 
QAction * actionTile
 Tile windows in workspace action.
 
QAction * actionTileVertically
 Tile vertically windows in workspace action.
 
QAction * actionTileHorizontally
 Tile horizontally windows in workspace action.
 
QAction * actionConsole
 toggle action for console
 
QAction * actionContents
 Action for showing contents of help.
 
QAction * actionPreferences
 Action for showing program preferences.
 
QAction * actionControls
 Action for showing about information.
 
QAction * actionAbout
 Action for showing about information.
 
QAction * actionCompare
 Action for comparing data.
 
QMenu * menuWindowList
 Menu for list of windows.
 
QMenu * importFromMenu
 Menu import from data menu.
 
QToolBar * fileToolBar
 Some actions from file menu.
 
QToolBar * windowToolBar
 Some actions from window menu, like tile, cascade etc.
 
QToolBar * defaultToolBar
 Some actions from default stuff menu, like view etc.
 
QToolBar * imageToolBar
 Some actions for images, like view etc.
 
QAction * actionImageText
 toggle text annotate mode
 
QSlider * imageLevelSlider
 adjust window level of image display
 
QPushButton * imageLevelButton
 auto level button
 
QPushButton * refreshButton
 window refresh button
 
QPushButton * cursorButton
 crosshairs button
 
QTabWidget * workspaces
 Pointer to the Workspace environment for the user.
 
QSignalMapper * windowMapper
 Mapper of mulit-connections.
 
QList< QPointer< milxQtPluginInterface > > plugins
 List of plugins loaded succesfully.
 
QList< QAction *> renderExtsActions
 List of render window extenstion actions loaded succesfully.
 
QList< QAction *> modelExtsActions
 List of model extenstion actions loaded succesfully.
 
QList< QAction *> imageExtsActions
 List of image extenstion actions loaded succesfully.
 
QList< QAction *> dockActions
 List of dock actions of dock widgets loaded succesfully.
 
QProgressBar * progressBar
 Progress bar for computation.
 
QPointer< milxQtConsoleconsole
 console docked window
 
QComboBox * defaultViewBox
 Box for default view.
 
QComboBox * defaultViewTypeBox
 Box for default view type (1 view or scanner type/4 view)
 
QComboBox * defaultOrientationTypeBox
 Box for default orientation type (radiological or neurological orientation)
 
QPointer< milxQtUnifiedWindowcurrentUnifiedWindow
 Current window for multi-display.
 
QList< QPointer< milxQtModel > > modelWindows
 List of model windows opened.
 
QList< QPointer< milxQtImage > > imageWindows
 List of model windows opened.
 
vtkSmartPointer< vtkEventQtSlotConnect > Connector
 VTK Events to slots convertor.
 

Detailed Description

This class represents the MILX Qt Main Window object using Qt.

Author
Shekhar S. Chandra, 2013

The class is able to display milxQtImage, milxQtModel and other classes into tabbed workspaces. This forms the main user interface of the library and wraps the overall usage of the display classes.

The rendering is encapsulated within a Qt QMainWindow widget.

Usage Example:

QPointer<milxQtMain> MainWindow = new milxQtMain;
QPointer<milxQtModel> model = new milxQtModel;
model->setName("Original Model");
model->SetInput(sphere->GetOutput());
model->generateModel();
model->generateLabels();
vnl_matrix<double> rotationMatrix = doSomething();
QPointer<milxQtImage> imageViewer = new milxQtImage;
imageViewer->setName("Rotation Matrix");
imageViewer->setData(rotationMatrix);
imageViewer->generateImage();
MainWindow->display(model); //Model
MainWindow->display(imageViewer); //Image
MainWindow->show();

One can also iterate through the all the windows in the current tab as the following example:

MainWindow.loadFiles(files);
MainWindow.initialiseWindowTraversal();
for(int j = 0; j < MainWindow.getNumberOfWindows(); j ++)
{
QPointer<milxQtModel> mdl = MainWindow.nextModel();
if(mdl)
procrustes->SetInput(j, mdl->GetOutput()); //Do something
}

Definition at line 85 of file milxQtMain.h.

Constructor & Destructor Documentation

◆ milxQtMain()

milxQtMain::milxQtMain ( QWidget *  theParent = 0)

The standard constructor.

Connect Progress Object for progress updates in file and imaging

Establish a workspace for user

Setup Console

Setup the UI Menus and boxes

Setup the UI Toolbar

Setup Connections

Setup tooltips

Load plugins

Setup progress bar

Read the application settings/preferences

Setup ITK Threads

Program Info

Style

Definition at line 38 of file milxQtMain.cpp.

Member Function Documentation

◆ activeName()

QString milxQtMain::activeName ( )

Returns the name of the active window regardless of being an image, table or surface plot.

Todo:
Possible Bug: Handling when no window active.

Check for image validity already done so safely do...

Check for image validity already done so safely do...

Check for image validity already done so safely do...

Definition at line 152 of file milxQtMain.cpp.

◆ activeNamePrefix()

QString milxQtMain::activeNamePrefix ( )

Returns the name with prefix of the active window regardless of being an image, table or surface plot.

Todo:
Possible Bug: Handling when no window active.

Check for image validity already done so safely do...

Check for image validity already done so safely do...

Check for image validity already done so safely do...

Check for image validity already done so safely do...

Definition at line 181 of file milxQtMain.cpp.

◆ commonChildProperties()

void milxQtMain::commonChildProperties ( QWidget *  widget)
protected

Sets all the common child properties of the data windows such as images, plots etc.

Check if deletable on close

Definition at line 2721 of file milxQtMain.cpp.

◆ contextMenuEvent()

void milxQtMain::contextMenuEvent ( QContextMenuEvent *  event)
protected

The context menu setup member.

< Only exists for the duration of the context selection

Definition at line 3127 of file milxQtMain.cpp.

◆ createComboBoxes()

void milxQtMain::createComboBoxes ( )
protected

Creates the combo boxes for main window.

Assigned is deliberately reversed,

Todo:
Why need to reverse?

Definition at line 2929 of file milxQtMain.cpp.

◆ createConnections()

void milxQtMain::createConnections ( )
protected

Creates the signals and slots connections within the main window.

Need for ensuring cross thread signalling

Actions File

Data

Images

Windows

Help

Common actions

Definition at line 3025 of file milxQtMain.cpp.

◆ createMenu()

void milxQtMain::createMenu ( )
protected

Creates the menu actions.

Setup Exit Action and File Menus File

Data

Images

Windows

Help

Common Actions/Menus

Todo:
enable compare when fixed

Image Toolbar actions

Definition at line 2740 of file milxQtMain.cpp.

◆ currentWindow

milxQtWindow * milxQtMain::currentWindow ( )
slot

Get the current window opened in the current tab.

Use initialiseWindowTraversal() is reset to the first window.

Definition at line 1780 of file milxQtMain.cpp.

◆ display [1/5]

void milxQtMain::display ( milxQtRenderWindow rnd)
slot

Handles the displaying of renders as they are produced.

Set the render into the viewer

Add extension actions

Add common menus

Options

Definition at line 1065 of file milxQtMain.cpp.

◆ display [2/5]

void milxQtMain::display ( milxQtImage img)
slot

Handles the displaying of images as they are produced.

Set the image into the viewer

Add extension actions

Add common actions/menus

Connect inter-model connections

Options

Definition at line 1205 of file milxQtMain.cpp.

◆ display [3/5]

void milxQtMain::display ( milxQtModel mdl)
slot

Handles the displaying of models as they are produced.

Set the Model into the viewer

Add extension actions

Connect custom menus and actions

Connect inter-model connections

Add common actions

Options

Definition at line 1288 of file milxQtMain.cpp.

◆ display [4/5]

void milxQtMain::display ( milxQtUnifiedWindow uni)
slot

Handles the displaying of unified (multi) display windows as they are produced.

Options

Definition at line 1360 of file milxQtMain.cpp.

◆ display [5/5]

void milxQtMain::display ( vtkPolyDataCollection *  modelCollection,
QStringList &  filenames 
)
slot

Handles the display of collections.

Check plugins for collection support

User says no, move to next plugin etc.

< if Plugin loaded collection then return,

Init Colours

Get Colour

< Pull colour for data

Build model

< Add data to general display

Ask for mean meshes

< Add data to general display

Definition at line 1382 of file milxQtMain.cpp.

◆ imagesAdd

void milxQtMain::imagesAdd ( )
slot

Add all open images together to create new image.

All data from open image windows are added to the first image.

< For all windows, do operation

Definition at line 2513 of file milxQtMain.cpp.

◆ imagesBlend

void milxQtMain::imagesBlend ( QVector< float >  opacities)
slot

Blend all open images together to create new image. 'opacities' would hold a list of floats for blending each image.

All data from open image windows are blended to the first image.

< For all windows, do operation

Definition at line 2415 of file milxQtMain.cpp.

◆ imagesConvolve

void milxQtMain::imagesConvolve ( )
slot

Convolve all open images together to create new image.

All data from open image windows are convolved into the first image.

Definition at line 2591 of file milxQtMain.cpp.

◆ imagesMergeLabels

void milxQtMain::imagesMergeLabels ( )
slot

Merge all open labelled images together to create new labelled image.

All data from open image windows are merged into a single image.

Definition at line 2618 of file milxQtMain.cpp.

◆ imagesMix

void milxQtMain::imagesMix ( )
slot

Blend all open images together to create new image usaing a mixer dialog.

All data from open image windows are blended to the first image.

< For all windows, do operation

Definition at line 2315 of file milxQtMain.cpp.

◆ imagesMultiply

void milxQtMain::imagesMultiply ( )
slot

Multiply all open images together to create new image.

All data from open image windows are multiplied to the first image.

< For all windows, do operation

Definition at line 2565 of file milxQtMain.cpp.

◆ imagesSubtract

void milxQtMain::imagesSubtract ( )
slot

Subtract all open images together to create new image.

All data from open image windows are subtracted from the first image.

< For all windows, do operation

Definition at line 2539 of file milxQtMain.cpp.

◆ imageToPlot

void milxQtMain::imageToPlot ( vtkSmartPointer< vtkImageData >  img,
int  displaceAxis = 2 
)
slot

Display image as a surface plot.

displaceAxis is the axis to displace the surface along.

Definition at line 2277 of file milxQtMain.cpp.

◆ imageToPseudoImage

void milxQtMain::imageToPseudoImage ( vectorImageType::Pointer  img)
slot

Compute pseudo image from vector image.

Setup vector field

Definition at line 1964 of file milxQtMain.cpp.

◆ imageToStreamLines

void milxQtMain::imageToStreamLines ( vectorImageType::Pointer  img,
floatImageType::Pointer  magImg,
size_t  subsampleFactor = 0 
)
slot

Compute streamlines from vector image from the extents supplied (pixels of which are used as start points for the streams).

Check mag image if its a 2D slice

Subsample image to reduce computation costs

Need to flip y-axis because of VTK's CG coordinate system

Create Polydata to hold vector field

Setup seed points

Setup vector field

Definition at line 2177 of file milxQtMain.cpp.

◆ imageToTensorField

void milxQtMain::imageToTensorField ( vectorImageType::Pointer  img,
floatImageType::Pointer  magImg,
int  subsampleFactor = 0,
float  scaling = 0.0 
)
slot

Compute tensor field from image.

Subsample image to reduce computation costs

Need to flip y-axis because of VTK's CG coordinate system

Create Polydata to hold vector field

Definition at line 2065 of file milxQtMain.cpp.

◆ imageToVectorField

void milxQtMain::imageToVectorField ( vectorImageType::Pointer  img,
floatImageType::Pointer  magImg,
int  subsampleFactor = 0,
float  scaling = 0.0 
)
slot

Compute vector field from image.

Subsample image to reduce computation costs

Need to flip y-axis because of VTK's CG coordinate system

Create Polydata to hold vector field

Definition at line 1984 of file milxQtMain.cpp.

◆ loadFile

bool milxQtMain::loadFile ( const QString &  filename)
slot

Opens a file for viewing in the current tab.

Check filename with plugins

Check if threaded

if not then use serial methods

< If success, Plugin loaded it so return, else continue

Check filename with Model and Image

Ambiguous, choosing 2 columns or 3D scatter or surface plot?

Definition at line 529 of file milxQtMain.cpp.

◆ loadFiles

void milxQtMain::loadFiles ( const QStringList &  filenames)
slot

Opens multiple files for viewing in the current tab.

<

Todo:
Add error handling

Definition at line 523 of file milxQtMain.cpp.

◆ loadPlugins

bool milxQtMain::loadPlugins ( )
slot

Loads plugins (which are assumed to be DLLs) according to the milxQtPluginInterface.

<

Todo:
use better cross-platform method here

Connect cross-thread signals and slots

< If a dock plugin, load the dock widget

< If an extension, load it

Definition at line 3186 of file milxQtMain.cpp.

◆ newTab

void milxQtMain::newTab ( )
slot

Creates a new tab for the workspace.

Todo:
Workspace class is deprecated. Update to MdiArea.

Definition at line 215 of file milxQtMain.cpp.

◆ nextImage

milxQtImage * milxQtMain::nextImage ( )
slot

Get the next image opened in the current tab.

Use initialiseWindowTraversal() is reset to the first window.

Definition at line 1845 of file milxQtMain.cpp.

◆ nextModel

milxQtModel * milxQtMain::nextModel ( )
slot

Get the next model opened in the current tab.

Use initialiseWindowTraversal() is reset to the first window.

Definition at line 1825 of file milxQtMain.cpp.

◆ nextRenderWindow

milxQtRenderWindow * milxQtMain::nextRenderWindow ( )
slot

Get the next render window opened in the current tab.

Use initialiseWindowTraversal() is reset to the first window.

Definition at line 1805 of file milxQtMain.cpp.

◆ nextWindow

milxQtWindow * milxQtMain::nextWindow ( )
slot

Get the next window opened in the current tab.

Use initialiseWindowTraversal() is reset to the first window.

Definition at line 1791 of file milxQtMain.cpp.

◆ open

bool milxQtMain::open ( )
slot

Opens data for viewing in the current tab.

<

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

Definition at line 417 of file milxQtMain.cpp.

◆ predisplay

void milxQtMain::predisplay ( milxQtImage img)
slot

Handles the pre-displaying tasks for images, such as checking view type and if 3D viewing is needed etc.

This has to be used in a number of places so its made modular.

Here we use the Qt signals and slots directly as it was found that the VTK-Qt connector caused problems with the image actors.

link the data properties too, one change updates others

Definition at line 1104 of file milxQtMain.cpp.

◆ preferences

void milxQtMain::preferences ( )
slot

Show the preferences for the program.

Multi-page dialog is populated with options Upon acceptance, the settings are directly written to the MainWindow

Definition at line 1008 of file milxQtMain.cpp.

◆ readSettings

void milxQtMain::readSettings ( )
slot

Load the necessary GUI settings/state for the main class.

Handle saving dock positions/areas etc.

Definition at line 3339 of file milxQtMain.cpp.

◆ save

void milxQtMain::save ( QString  filename = "")
slot

Saves the data in the current tab to file. The saving is content sensitive and depends on the extension provided.

Check if plugin's window

Definition at line 732 of file milxQtMain.cpp.

◆ transferViewToWindows

void milxQtMain::transferViewToWindows ( vtkObject *  obj,
unsigned  long,
void *  client_data,
void *  ,
vtkCommand *  command 
)
protectedslot

If the windows are linked, copy viewing options from one window to all others.

Copy camera of similar windows

< Get callers camera

< For all windows, copy camera

< Copy camera over

< refresh the destination display, quick

Definition at line 1867 of file milxQtMain.cpp.

◆ unify

void milxQtMain::unify ( )
slot

Add the active window to the current multi (unified) display.

Up cast and unify appropriately

Definition at line 2680 of file milxQtMain.cpp.

◆ windowActionList

QActionGroup * milxQtMain::windowActionList ( QMenu *  menuForList,
bool  groupTogether = true,
bool  applyMapper = false 
)
slot

Creates an action list of windows currently opened to the menu provided.

Action Group is applied only if Boolean is set to true.

Definition at line 1705 of file milxQtMain.cpp.


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