-
Notifications
You must be signed in to change notification settings - Fork 72
Software Requirements Specifications: medInria 5
This document presents the software requirements specifications of medInria software development project.
It describes: requirements of functionalities, performances, interfaces, environment, tests principles and definitions of validation methods of requirements, the compliance of requirements to customer needs, the relative importance and precedence of requirements.
medInria: main software with imaging tools. ROI: region of interest. VOI: volume of interest.
The verification methods of the requirements are defined below:
-
Inspection (I): control or visual verification
- Control of the physical implementation or the installation of a component. The control verifies that the implementation or the installation of a component is compliant with the requirements of diagrams.
- Control of the documentation describing a component. The control verifies that the documentation is compliant with the requirements.
-
Analysis (A): verification based upon analytical evidences
- Verification of a functionality, performance or technical solution of a component by analyzing the data collected by tests in real conditions, by simulation of real conditions or by an analysis report.
- Analysis of test data or of design data is used as appropriate to verify requirements.
- The verification is based upon analytical evidences obtained by calculations, like modeling, simulation and forecasting.
- Analysis is used when an acceptable level of confidence cannot be established by other methods or if analysis is the most cost-effective solution.
-
Demonstration (D): verification of operational characteristics, without quantitative measurement
- Verifying a requirement by demonstration implies that the required functionality specified by a requirement is complete.
- Demonstration is used when quantitative measurement is not required for verification of the requirements
- Demonstration includes the control of the technical solutions specified by the non-functional requirements.
-
Test (T): verification of quantitative characteristics with quantitative measurement
- Verifying a functionality, performance or technical solution of a component by executing testing scenarios in predefined, controlled and traceable testing conditions.
- Tests require the use of special equipment, instrumentation, simulation techniques, or the application of established principles and procedures,
- Data produced during tests is used to evaluate quantitative results and compare them with requirements.
For each requirement of the SRS, a verification method is defined. Method is abbreviated I, A, D or T.
For Ubuntu binaries, you can start by terminal with --debug
- Requirement ID: SRS-STA-001
- Title: Packaging
- Verification: D
- Description: medInria is installed
- Test: download the current release on the web-portal, install it. For Mac testers only: the DMG install-shield on Mac is used. On Windows: the executable is installed through Windows tools (if there is a previous installation of medInria, uninstall it before, with the uninstall tool in the installation directory). Check that you can open the application.
- Requirement ID: SRS-STA-002
- Title: Menu items and other widgets
- Verification: I
- Description: medInria has specific items on homepage
- Test:
- On left, check number of columns and their name: there are 2 columns named "Basic", "Methodology".
- On top: the logo is displayed with a presentation of the software application at its right.
- There is a menu bar on top with at least "File", "Workspaces", "Window", "Capture", "Settings", "Notif" and "?", and a notification icon at right of the menu.
- Requirement ID: SRS-GLO-001
- Title: Open File(s)
- Verification: D
- Description:
- Test:
- In File menu click on the menu item.
- Find and select a file, vtk or mha: the data is displayed in Visualization workspace.
- Requirement ID: SRS-GLO-001
- Title: Open Dicom
- Verification: D
- Description:
- Test:
- In File menu click on the menu item.
- Find and select a Dicom directory: the data is displayed in Visualization workspace.
- Requirement ID: SRS-GLO-001
- Title: Save on disk
- Verification: D
- Description:
- Test:
- In File menu click on the menu item.
- Requirement ID: SRS-GLO-001
- Title: Data sources
- Verification: D
- Description:
- Test:
- In File menu click on the menu item.
- The Browser area is displayed on "Data sources" tab.
- Requirement ID: SRS-GLO-001
- Title: Import files
- Verification: D
- Description:
- Test:
- In File menu click on the menu item.
- The Browser area is displayed, choose "Import files" tab.
- Select a repertory, right-click "Bookmark": the repertory is added in bookmarks at left.
- Find and double-click on a vtk or mha: a success notification widget is displayed. The data has been import in the database seen in workspaces.
- Go back to the browser, right-click on another data and choose "View".
- The application switches to Visualization workspace and display the data.
- Requirement ID: SRS-GLO-001
- Title: Go to Welcome Page
- Verification: D
- Description:
- Test:
- In File menu click on the menu item.
- The application switches to the homepage.
- Requirement ID: SRS-GLO-001
- Title: Recent files
- Verification: D
- Description:
- Test:
- In File menu click on the menu item.
- Requirement ID: SRS-GLO-001
- Title: Source Visibility
- Verification: D
- Description:
- Test:
- In File menu click on the menu item.
- Requirement ID: SRS-GLO-005
- Title: Quit
- Verification: D
- Description: A tool to close the application
- Test:
- In File menu click on the menu item: the application closes.
- Requirement ID: SRS-GLO-005
- Title: Workspaces
- Verification: D
- Description: Switch between workspaces
- Test:
- Switch between workspaces
- Write "Iterative" for instance in the search bar: the Meshing workspace is highlighted and the toolbox can be opened.
- Requirement ID: SRS-GLO-005
- Title: Maximize
- Verification: D
- Description: a tool to maximize a view
- Test:
- Open a workspace as Visualization.
- Open a data in the view.
- In Window menu click on the menu item.
- Requirement ID: SRS-GLO-005
- Title: Adjust Containers Size
- Verification: D
- Description: A tool to resize containers in imagery workspaces
- Test:
- Open a workspace as Visualization.
- Open a data in the view.
- In Window menu click on the menu item.
- Grab the inner border between the 2 views and move it elsewhere.
- Click on the "Adjust Containers Size" button in bar: the views are reset.
- Requirement ID: SRS-GLO-005
- Title: Vertical split
- Verification: D
- Description: A tool to split in half a view vertically
- Test:
- Open a workspace as Visualization.
- In Window menu click on the menu item.
- Requirement ID: SRS-GLO-005
- Title: Horizontal split
- Verification: D
- Description: A tool to split in half a view horizontally
- Test:
- Open a workspace as Visualization.
- In Window menu click on the menu item.
- Requirement ID: SRS-GLO-005
- Title: 4 split
- Verification: D
- Description: A tool to split in 4 the current view
- Test:
- Open a workspace as Visualization.
- In Window menu click on the menu item.
- Requirement ID: SRS-GLO-002
- Title: Screenshot
- Verification: D
- Description: A screenshot tool allows to capture screenshot of 1 or more views.
- Test:
- Open a workspace as Visualization.
- Drop a 3D volume in a view.
- Click on the "Screenshot" menu item in Capture menu.
- Choose a location and export: the file is created at the right location and is not corrupted.
- Click on the "Tools" button of the view and split it.
- Drop an other volume in the new view.
- CTRL-click on the second view to select it, both should be surrounded by an orange line.
- Click on the "Screenshot" menu item in Capture menu.
- Choose a location and export: the file is created at the right location, is not corrupted and display both the views.
- Requirement ID: SRS-GLO-003
- Title: Video export
- Verification: D
- Description: A video tool allows to export videos of a view.
- Test:
- Open a workspace as Visualization.
- Drop a 3D volume in a view.
- Click on the "Movie" menu item in Capture menu.
- Choose "Slice" parameter.
- Choose a location and export: the file is created at the right location, with the chosen format and is not corrupted.
- Close the view and drop a mesh in it.
- Click on the "Movie" menu item in Capture menu.
- Choose "Rotation" parameter.
- Choose a location and export: the file is created at the right location, with the chosen format and is not corrupted.
- Close the view and drop a 4D volume in it.
- Click on the "Movie" menu item in Capture menu.
- Choose "Time" parameter.
- Choose a location and export: the file is created at the right location, with the chosen format and is not corrupted.
- Requirement ID: SRS-GLO-005
- Title: General
- Verification: D
- Description:
- Test:
- In Settings menu click on the menu item.
- Requirement ID: SRS-GLO-005
- Title: Data sources
- Verification: D
- Description:
- Test:
- In Settings menu click on the menu item.
- Requirement ID: SRS-GLO-005
- Title: Notification Show/Hide
- Verification: D
- Description:
- Test:
- In Notif menu click on the "Show/Hide" menu item.
- Requirement ID: SRS-GLO-005
- Title: Notification clear all
- Verification: D
- Description:
- Test:
- In Notif menu click on the "Clear all" menu item.
- Requirement ID: SRS-STA-002
- Title: About the application
- Verification: I
- Description: medInria displays an "About…" panel with the current version of the application.
- Test:
- In "?" menu click on the menu item.
- A widget is displayed. Check that the version of medInria is the good one for the release.
- Requirement ID: SRS-STA-002
- Title: Authors
- Verification: I
- Description: a list of authors of the application
- Test:
- In "?" menu click on the menu item.
- A widget is displayed. Check that the list is updated.
- Requirement ID: SRS-STA-002
- Title: Release Notes
- Verification: I
- Description: a list of authors of the application
- Test:
- In "?" menu click on the menu item.
- A widget is displayed. Check that the list is updated.
- Requirement ID: SRS-STA-002
- Title: License
- Verification: I
- Description: a widget with the application license
- Test:
- In "?" menu click on the menu item.
- A widget is displayed. Check that the license is OK.
- Requirement ID: SRS-STA-007
- Title: Help
- Verification: I
- Description: medInria is delivered with a user guide (online or not).
- Test:
- In "?" menu click on the menu item.
- The medInria website opens in a browser.
- Requirement ID: SRS-STA-008
- Title: Application logs
- Verification: D
- Description: medInria generates a log file containing: the state of the application and the steps performed to reach that state, the possible error logs, if any.
- Test:
- Close medInria, open it, in Notif menu bar, click on "Logs" and "Show".
- Open "medInria.log": the log file should contain states of medInria.
- Requirement ID: SRS-GLO-001
- Title: Notification icon
- Verification: D
- Description:
- Test:
todo tools buttons, settings, database
- Requirement ID: SRS-STA-006
- Title: Pin/Unpin
- Verification: D
- Description:
- Test:
- Requirement ID: SRS-STA-006
- Title: Create Folder
- Verification: D
- Description:
- Test:
- Requirement ID: SRS-STA-006
- Title: Remove a data
- Verification: D
- Description:
- Test:
- Requirement ID: SRS-STA-006
- Title: Fetch
- Verification: D
- Description:
- Test:
- Requirement ID: SRS-STA-005
- Title: Data Information
- Verification: D
- Description: medInria ensures that the displayed patient data are the same as read in the input files. The patient’s data are: first name, last name, date of birth.
- Test:
- Import a data.
- In Visualization workspace, in database column, right-click on the image and click "Information".
- A widget shows the same information as in the original data.
- Requirement ID: SRS-STA-006
- Title: Searching for data
- Verification: D
- Description: medInria contains a search window on top of the database column. It allows the operator to browse the database system of the software and select patients, series or studies.
- Test:
- you should have more that 1 data in your database.
- In the research panel of the database, enter the name of the first patient or series. The others data should be hidden accordingly.
- Requirement ID: SRS-STA-006
- Title: View central buttons
- Verification: D
- Description:
- Test:
- In a view, click on "Open a file from your system", open a data, it's displayed in the view.
- Close the view.
- Click on "Open a scene from your system", open a scene, it's displayed in the view.
- Requirement ID: SRS-STA-006
- Title: View settings button
- Verification: D
- Description:
- Test:
- Open a view, click on the Settings button.
- Click on "Open" and choose a data, it's displayed in the view.
- In Settings, split the view with V and H split. They are split.
- Choose one of them and switch Maximize item. The selected one takes all the space or revert to its original place.
- Open a new data and click on 4 Split item. The 4-Split tool is displayed in the view with 3 orientation + 3D.
- Close the view, open a data and Save Scene.
- Close the view, open a data from "Open a scene from your system" and open the saved scene. The data and parameters are kept.
- Close the view, open a mha data and choose "Histogram" item, an histogram is displayed under the image.
- Requirement ID: SRS-STA-006
- Title: Mouse Interaction
- Verification: D
- Description:
- Test:
- Requirement ID: SRS-STA-006
- Title: View settings
- Verification: D
- Description:
- Test:
- Requirement ID: SRS-STA-006
- Title: Layer settings
- Verification: D
- Description:
- Test:
todo
At opening of Filtering workspace, users can choose between several toolboxes:
- Requirement ID: SRS-FIL-001
- Title: XOR
- Verification: D
- Description: On a mask, this toolbox allows to: drop a second binary data in a drop area, clear the drop area, display the output data in a view, save the output data.
- Test: In Binary Operation. Click on 'Run' button': result (common parts excluded) is displayed in the OUTPUT window with the name {initial 1st data name}+' (XOR' + {initial 2nd data name}+')' stored in cache.
- Requirement ID: SRS-FIL-002
- Title: AND
- Verification: D
- Description: On a mask, this toolbox allows to: drop a second binary data in a drop area, clear the drop area, display the output data in a view, save the output data.
- Test: In Binary Operation. Click on 'Run' button': result (common parts kept) is displayed in the OUTPUT window with the name {initial 1st data name}+' (AND' + {initial 2nd data name}+')' stored in cache.
- Requirement ID: SRS-FIL-003
- Title: OR
- Verification: D
- Description: On a mask, this toolbox allows to: drop a second binary data in a drop area, clear the drop area, display the output data in a view, save the output data.
- Test: In Binary Operation. Click on 'Run' button': result (all parts merged) is displayed in the OUTPUT window with the name {initial 1st data name}+' (OR' + {initial 2nd data name}+')' stored in cache.
- Requirement ID: SRS-FIL-004
- Title: NOT
- Verification: D
- Description: On a mask, this toolbox allows to: display the output data in a view, save the output data.
- Test: In Binary Operation. Put a binary data in the 'input' view, click on 'Run' button: result (input data excluded) is displayed in the OUTPUT window with the name {initial data name}+' (NOT)' stored in cache.
- Requirement ID: SRS-FIL-005
- Title: Add constant
- Verification: D
- Description: On an image, this toolbox allows to: choose a constant value, display the output data in a view, save the output data.
- Test:
- In ITK Basic Filters. Drag and drop the data into the INPUT window: data is displayed in 2D viewer in INPUT view.
- Put 200 to 'Constant value': value is kept in the form.
- Click on 'Run' button: data is displayed in the OUTPUT view with the name {initial data name}+'add filter (200)' stored in cache. Min intensity value is '200'.
- Compare intensity value between input and output window at same coordinates: difference between both values is '200'.
- On viewers, compare WL value between input and output windows: difference between output and input values is +200.
- Requirement ID: SRS-FIL-006
- Title: Subtract constant
- Verification: D
- Description: On an image, this toolbox allow to: choose a constant value, display the output data in a view, save the output data.
- Test:
- In ITK Basic Filters. Drag and drop the data into the INPUT view: data is displayed in 2D viewer in INPUT view.
- Put 200 to 'Constant value': value is kept in the form.
- Click on 'Run' button: data is displayed in the OUTPUT view with the name {initial data name}+'substract filter (200)' stored in cache.
- Compare intensity value between input and output window at same coordinates: difference between both values is '200' (or the data reached the type minimum, as 0 for MRI data)
- On viewers, compare WL value between input and output windows: difference between output and input values is -200, or the minimum is the type minimum.
- Requirement ID: SRS-FIL-007
- Title: Multiply by constant
- Verification: D
- Description: On an image, this toolbox allows to: choose a constant value, display the output data in a view, save the output data.
- Test:
- In ITK Basic Filters. Drag and drop the data into the INPUT view: data is displayed in 2D viewer in INPUT view.
- Put 3 to 'Constant value': value is kept in the form.
- Click on 'Run' button: data is displayed brighter in the OUTPUT view with the name {initial data name}+'multiply filter (3)' stored in cache.
- Compare intensity value between input and output window at same coordinates: rate between both values is 3.
- On viewers, compare WW/WL values between input and output windows: rate between output and input values is 3.
- Requirement ID: SRS-FIL-008
- Title: Divide by constant
- Verification: D
- Description: On an image, this toolbox allows to: choose a constant value, display the output data in a view, save the output data.
- Test:
- In ITK Basic Filters. Drag and drop the data into the INPUT view: data is displayed in 2D viewer in INPUT view.
- Put 3 to 'Constant value': value is kept in the form.
- Click on 'Run' button: data is displayed darker in the OUTPUT view with the name {initial data name}+'divide filter (3)' stored in cache.
- Compare intensity value between input and output window at same coordinates: rate between both values is 3.
- On viewers, compare WW/WL values between input and output windows: rate between output and input values is 3.
- Requirement ID: SRS-FIL-009
- Title: Gaussian blur
- Verification: D
- Description: On an image , this toolbox allows to: choose a sigma value, display the output data in a view, save the output data.
- Test:
- In ITK Basic Filters. Drag and drop the data into the INPUT view: data is displayed in 2D viewer in INPUT view.
- Put 2 to 'Sigma value': value is kept in the form.
- Click on 'Run' button': data is displayed blured in the OUTPUT window with the name {initial data name}+'gaussian filter (2)' stored in cache.
- Requirement ID: SRS-FIL-010
- Title: Normalize image
- Verification: D
- Description: On an image, this toolbox allows to: display the output data in a view, save the output data.
- Test: In ITK Basic Filters. Drag and drop the data into the INPUT view, click on 'Run' button': data is displayed in the OUTPUT window with the name {initial data name}+'normalize filter' stored in cache.
- Requirement ID: SRS-FIL-011
- Title: Median filter
- Verification: D
- Description: On an image, this toolbox allows to: display the output data in a view, save the output data.
- Test: In ITK Basic Filters. Drag and drop the data into the INPUT view, click on 'Run' button': data is displayed in the OUTPUT window with the name {initial data name}+'Median filter' stored in cache.
- Requirement ID: SRS-FIL-012
- Title: Invert intensity
- Verification: D
- Description: On an image, this toolbox allows to: display the output data in a view, save the output data.
- Test: In ITK Basic Filters. Drag and drop the data into the INPUT view, click on 'Run' button': data is displayed posterized in the OUTPUT window with the name {initial data name}+'invert filter' stored in cache.
- Requirement ID: SRS-FIL-013
- Title: Shrink image
- Verification: D
- Description: On an image, this toolbox allows to: choose X, Y and Z shrink factors, display the output data in a view, save the output data.
- Test:
- In ITK Basic Filters. Drag and drop the data into the INPUT view: result is displayed in 2D viewer in INPUT view.
- Put 2 into the three input texts to define 'Shrink factors (X,Y,Z)': values are kept in the form.
- Click on 'Run' button': data is displayed in the OUTPUT window with the name {initial data name}+' shrink filter (2,2,2)' stored in cache.
- Compare 'Image size' and 'Voxel size' between both windows: 'Image size' is divided by 2 and 'Voxel size' is doubled.
- Requirement ID: SRS-FIL-014
- Title: Intensity windowing
- Verification: D
- Description: On an image, this toolbox allows to: choose minimum, maximum, output minimum and output maximum parameters, display the output data in a view, save the output data.
- Test:
- In ITK Basic Filters. Drag and drop the data into the INPUT view: data is displayed in 2D viewer in INPUT view.
- Fill form with values {0 ; 130 ; 100 ; 200} to respectively {Minimum ; Maximum ; Output minimum ; Output maximum} fields: values are kept in the form.
- Click on 'Run' button': result is displayed brighter in the OUTPUT window with the name {initial data name}+' windowing x y' stored in cache.
- Check min/max intensities values in the Layer settings toolbox: values are 100 and 200.
- Requirement ID: SRS-FIL-015
- Title: Threshold an image
- Verification: D
- Description: On an image, this toolbox allows to: choose a threshold value, choose if kept values are going to be greater or lower than the threshold, choose the output value for discarded values, display the output data in a view, save the output data.
- Test:
- In ITK Basic Filters. Drag and drop the data into the INPUT view: data is displayed in 2D viewer in INPUT view.
- Set 100 to 'greater than' value and 2 to 'to:' value: values are kept in the form.
- Click on 'Run' button': result is displayed in the OUTPUT window with the name {initial data name}+'(thresholded 100)' stored in cache.
- Check values on result output viewer: all values are lower than '100' and values over 100 in input data set are set to 2 on output data set.
- Requirement ID: SRS-FIL-016
- Title: Remove isolated voxels/pixels
- Verification: D
- Description: On an image, this toolbox allows to: choose the minimum size of an object to keep, display the output data in a view, save the output data.
- Test:
- In ITK Basic Filters. Drag and drop the data into the INPUT view: data is displayed in 2D viewer in INPUT view.
- Set 100 to 'Minimum size of an object' value: value is kept in the form.
- Click on 'Run' button': result is displayed in the OUTPUT window with the name {initial data name}+' ConnectedComponent filter (100)' stored in cache.
- Requirement ID: SRS-FIL-017
- Title: Mask Application
- Verification: D
- Description: On an image in the input view, this toolbox allows to: drop a mask in a drop area, clear the drop area, choose a background value, display the output data in a view, save the output data.
- Test:
- Put the data set in the 'INPUT' view and the binary data in the drop site: data set is displayed in the 'INPUT' view and binary data in drop site.
- Click on 'Run' button': the mask is displayed in the panel.
- Put the mask in the 'Drop the mask' filtering panel: result (data visible only through the mask) is displayed in the OUTPUT window with the name {initial data name}+' (masked)' stored in cache.
- Requirement ID: SRS-FIL-018
- Title: Dilate
- Verification: D
- Description: On a mask, this toolbox allows to: choose a kernel radius in millimeters or pixels, display the output data in a view, save the dilated mask.
- Test:
- In Morphological Filters. Drag and drop the binary into the INPUT window: binary is displayed in 2D viewer in INPUT view.
- Put 5mm to Kernel radius: value is kept in the form.
- Click on 'Run' button: after calculation, a bigger binary is displayed in the OUTPUT window with the name {initial data name}+'(dilated x/y/z)' stored in cache.
- Requirement ID: SRS-FIL-019
- Title: Erode
- Verification: D
- Description: On a mask, this toolbox allows to: choose a kernel radius in millimeters or pixels, display the output data in a view, save the eroded mask.
- Test:
- In Morphological Filters. Drag and drop the binary into the INPUT window: binary is displayed in 2D viewer in INPUT view.
- Put 5mm to Kernel radius: value is kept in the form.
- Click on 'Run' button: after calculation, a smaller binary is displayed in the OUTPUT window with the name {initial data name}+'(eroded x/y/z)' stored in cache.
- Requirement ID: SRS-FIL-020
- Title: Binary Open
- Verification: D
- Description: On a mask, this toolbox allows to: choose a kernel radius in millimeters or pixels, display the output data in a view, save the output data.
- Test:
- In Morphological Filters. Drag and drop the binary into the INPUT view: binary is displayed in 2D viewer in INPUT window.
- Put 5mm to Kernel radius: value is kept in the form.
- Click on 'Run' button: after calculation, an opened binary is displayed in the OUTPUT window with the name {initial data name}+'(binaryOpened x/y/z mm)' stored in cache.
- Requirement ID: SRS-FIL-021
- Title: Grayscale Open
- Verification: D
- Description: On a volume, this toolbox allows to: choose a kernel radius in millimeters or pixels, display the output data in a view, save the output data.
- Test:
- In Morphological Filters. Drag and drop the data set into the INPUT view: data set is displayed in 2D viewer in INPUT window.
- Put 5mm to Kernel radius: value is kept in the form.
- Click on 'Run' button: after calculation, an opened binary is displayed in the OUTPUT window with the name {initial data name}+'(grayscaleOpened x/y/z mm)' stored in cache.
- Requirement ID: SRS-FIL-022
- Title: Binary Close
- Verification: D
- Description: On a mask, this toolbox allows to: choose a kernel radius in millimeters or pixels, display the output data in a view, save the output data.
- Test:
- In Morphological Filters. Drag and drop the binary into the INPUT view: binary is displayed in 2D viewer in INPUT window.
- Put 5mm to Kernel radius: value is kept in the form.
- Click on 'Run' button: after calculation, a closed binary is displayed in the OUTPUT window with the name {initial data name}+'(binaryClosed x/y/z mm)' stored in cache.
- Requirement ID: SRS-FIL-023
- Title: Grayscale Close
- Verification: D
- Description: On a volume, this toolbox allows to: choose a kernel radius in millimeters or pixels, display the output data in a view, save the output data.
- Test:
- In Morphological Filters. Drag and drop the data set into the INPUT view: data set is displayed in 2D viewer in INPUT window.
- Put 5mm to Kernel radius: value is kept in the form.
- Click on 'Run' button: after calculation, a closed binary is displayed in the OUTPUT window with the name {initial data name}+'(grayscaleClosed x/y/z mm)' stored in cache.
- Requirement ID: SRS-FIL-024
- Title: N4 Bias Correction
- Verification: D
- Description: This toolbox allows to run the N4 bias field correction algorithm to correct nonuniformity associated with MR images.
- Test:
- Open "N4 Bias Correction" toolbox
- Add an MRI in the INPUT view, click on "Run".
- An output MRI is displayed in the OUTPUT view with corrected intensities.
At opening of Meshing workspace, users can choose between several toolboxes:
- Requirement ID: SRS-MES-001
- Title: Create Mesh From Mask
- Verification: D
- Description: On a mask, this toolbox allows to: define a threshold: keep only data over or equal this value, apply a decimation on the mesh through a reduction parameter, apply a smoothing on the mesh through an iteration number and a relaxation factor, save the resulting mesh.
- Test:
- Drag and drop the mask into the central viewer: mask is displayed in a 2D viewer.
- Click on 'Run' button: mesh named : {initial data name} + '(mesh from mask)' is stored in cache.
- Requirement ID: SRS-MES-002
- Title: Iterative Closest Point
- Verification: D
- Description: On two meshes put in the view and chosen in comboboxes, this toolbox allows to: choose between different transformations to constrain the registration of the source mesh: Rigid Body/Similarity/Affine, define boolean parameters to start by matching centroids, and to check the mean distance, define scale factor, maximum mean distance, maximum number of iteration, and maximum number of landmark, save the registered mesh.
- Test:
- Drag and drop both meshes [A] then [B] in the central panel: both meshes [A]&[B] are displayed.
- In the meshing panel, under 'Select the source mesh', click on 'Select a layer' list to select mesh [A]: mesh [A] is selected for 1st mesh.
- Under 'Select the target mesh', click on 'Select a layer' list to select mesh [B]: mesh [B] is selected for 2nd mesh.
- Click on 'Run' button: mesh named : {[A] name} + '(ICP)' is stored in cache.
- Requirement ID: SRS-MES-003
- Title: Mesh Manipulation
- Verification: D
- Description: On a mesh, this toolbox allows to: display a 3D bounding box on the mesh with several handles to translate, scale, rotate, stretch or compress the box. These transformations are automatically applied to the mesh, save the modified mesh, export the transformation in a text file, import a transformation from a text file, reset the modifications on the mesh.
- Test:
- Drag and drop the mesh into the central viewer: mesh is displayed in a 3D viewer. White 3D box with 3 axes are displayed on the mesh.
- Drag and drop an handle from an axis: mesh is enlarged or shrunk on the axis following movement of the handle and the mesh keep the last transformation.
- Click on 'Save' button: mesh named : {initial data name} + '(manually modified)' is stored in cache.
- Click on 'Export matrix' button: a new window 'Export the matrix file' appears.
- Define a name [A] and a location for the export file then click on 'Save': window is closed.
- Close 'Meshing' Tab: empty 'Meshing' tab is displayed and invites to add data. All 'Mesh Manipulation' buttons are disabled.
- Drag'n drop the intial mesh: mesh is displayed in a 3D viewer. White 3D box with 3 axes are displayed on the mesh.
- Drag and drop an handle from an axis: mesh is modified depending of the movement done.
- Click on 'Cancel' button: mesh comes back to its original shape.
- Click on 'Import matrix' button: file explorer window is opened.
- Select the file [A] and click on 'Open' button: mesh is transformed as the previous manually modified transformation done.
- Requirement ID: SRS-MES-004
- Title: Mesh Mapping
- Verification: D
- Description: On a 3D image and a mesh put in the view and chosen in comboboxes, this toolbox allows to: maps the intensities of the image voxels at the intersection of the mesh, save the mapped mesh.
- Test:
- Drag and drop volume [A] then mesh [B] in the central panel and choose the 3D viewer: volume and mesh are both displayed.
- In the meshing panel, under 'Select the data to map', click on 'Select a layer' list to select volume [A]: volume [A] is selected for data to map.
- Under 'Select the structure', click on 'Select a layer' list to select mesh [B]: mesh [B] is selected for structure.
- Click on 'Run' button: mesh named : {[B] name} + '(mapping)' is stored in cache.
- Close 'Meshing' Tab: empty 'Meshing' tab is displayed and invites to add data.
- Drag'n drop mesh mapping just generated: mesh slice is displayed in a 2D view.
- In 'Layer settings', Attributes list, select 'scalars' option: colored mesh slice is displayed in a 2D view.
- In 'View settings', check 'Scalar Bar' checkbox and select 3D view": colored mapping is displayed in 3D view with a scalar bar ???
- Requirement ID: SRS-MES-005
- Title: Remeshing
- Verification: D
- Description: On a mesh, this toolbox allows to: decimate: divide by four the number of polygons, refine: multiply by four the number of polygons, manually choose the number of polygons, smooth the mesh through an iteration number and a relaxation factor, reset the changes, save the remeshed mesh.
- Test:
- Add a mesh in view area: mesh is displayed in 3D.
- Uncheck 'Decimate preserve topology' radio button: radio button is unchecked.
- Define 'number of cells' value to 1000 and click on 'Run' button on its right: 'New number of cells' value is '1000' and the mesh is modified.
- Click on 'Refine' button: 'New number of cells' value is '4000' and the mesh is modified.
- Click twice on 'Decimate' button: 'New number of cells' value is '250' and the mesh is modified.
- Click on 'Reset' button: 'Original number of cells' and 'new number of cells' values match.
- Click on 'Run' in the 'Smooth' area: mesh is smoothed.
- Each step created a mesh: meshes named : {initial data name} + '(smoothed/manual/refined/decimated)' following the applied processes is stored in cache.
At opening of Reformat workspace, users can choose between several toolboxes:
- Requirement ID: SRS-REF-001
- Title: Cropping
- Verification: D
- Description: On one or more images displayed in the view, this toolbox allows to: display a box showing the region to be cropped, manipulate the box edges in every orientation, save cropped image(s).
- Test:
- Drag and drop a volume into the central panel: volume is displayed and a green square is drawn.
- Move to a corner of the box: cursor becomes a resizer.
- Drag and drop this corner: vertical and horizontal lines, linked to the corner, follows and keep the last position.
- Move to a vertical side of the box: cursor becomes a column resizer.
- Move to an horizontal side of the box: cursor becomes a row resizer.
- Drag and drop this side: side selected follows the mouse and keep the last position.
- Move cursor inside the box: cursor becomes a drag cursor.
- Click inside the box to drag and drop it: box follows the mouse and keep the last position.
- Click on 'Apply' button: the cropped volume is displayed, its name in the viewer becomes {data name} + '(cropped)' and white box is still displayed.
- Click on 'Save' button: volume named : {initial data name} + '(cropped)' is stored in cache.
- Requirement ID: SRS-REF-002
- Title: Reslice
- Verification: D
- Description: On a 3D image, this toolbox allows to: display the image in three planes (sagittal, coronal, axial), manipulate the orientation of the image in these three planes, keeping its orthogonality, display in a fourth view the volume in MSR (Multi Slice Reconstruction), choose resampling parameters between “Spacing” in millimeters, or “Dimension” in number of pixels, save the resliced 3D image.
- Test:
- Drag and drop a volume into the central panel: volume is displayed in a 2D viewer.
- Click on 'Start Reslice' button: volume is now displayed in three 2D viewers and one 3D viewer.
- On each 2D view, grab lines and intersection of lines: for each selected windows, its box becomes thicker and 3D viewer displays new orientations.
- Press 'o': axes come back to their initial positions in 2D viewers.
- Change X,Y,Z values of 'Spacing' to 1mm,2mm,3mm: X, Y, Z values are kept in the form.
- Click on 'Save Image': image named : {date name} + '(reformatted)' is stored in cache.
- Double click on this new image: image is displayed.
- In 'View settings' select the first 2D view: voxel size is 2x3.
- In 'View settings' select the second 2D view: voxel size is 2x1.
- In 'Reformat' panel, switch 'resample parameter' to 'Dimension': X,Y,Z are displayed in pixels in the form and X,Y values match with 'Image Size' values (YxX) in 2D viewer.
At opening of Registration workspace, users can choose between several toolboxes. The inputs are: an image in the FIXED view of the workspace, and an other which is going to be registered in the MOVING view.
- Requirement ID: SRS-REG-001
- Title: Diffeomorphic Demons
- Verification: D
- Description: This toolbox allows to compute "diffeomorphic demons" registration.
- Test:
- Drop two images with the same size and spacing into the FIXED and MOVING views.
- Click on "Run": the output is shown in Fuse tab, in the redo/undo widget under the toolbox, and a temporary data of the output is displayed in the database in the left column.
- Requirement ID: SRS-REG-002
- Title: LCC Log Demons
- Verification: D
- Description:
- Test:
- Drop two images with the same size and spacing into the FIXED and MOVING views.
- Click on "Run": the output is shown in Fuse tab, in the redo/undo widget under the toolbox, and a temporary data of the output is displayed in the database in the left column.
- Requirement ID: SRS-REG-003
- Title: Manual Registration
- Verification: D
- Description: From two images, this toolbox allows to: place landmarks, remove landmarks, move landmarks, compute and display the registered image, save the registered image, export the applied transformation.
- Test:
- Click on 'Start Manual Registration' button: button text changes to 'Stop Manual Registration' and more buttons appear below.
- Click in the 'FIXED' view: orange box appears around the 'fixed' view.
- Shift+click to create a landmark on the 'FIXED' view: landmark is created with a color [A].
- Click in the 'MOVING' view: orange box appears around the 'MOVING' view.
- Shift+click to create a landmark on the 'MOVING' view representing the same position than the previous landmark: landmark is created with the [A] color.
- Shift+click to create a second landmark on the 'FIXED' view: landmark is created with the [B] color in the 'FIXED' view.
- Shift+click to create a second landmark on the 'MOVING' view representing the same position than the previous landmark: landmark is created with the [B] color in the 'MOVING' view.
- Hover the cursor on the second landmark in the 'FIXED' view: cursor becomes a hand cursor.
- Drag and drop the landmark to another position in the 'fixed' view: landmark follows the movement of the mouse and keep the new position in the 'FIXED' view.
- Backspace+click on the second landmark in 'MOVING' view: landmarks with color [B], in the both views, are deleted.
- Click on "Compute Registration" button: a line is added in the Undo-Redo panel. An image named: {initial data name} + '(registered)' is stored in cache.
- Change current tab to 'Fuse' one: the result of the computation is displayed.
- Comeback to 'Registration' tab: 'FIXED' and 'MOVING' views are displayed.
- Click on 'Export Transformation' button: a new 'Save transformation in tfm...' window appears.
- Choose a file name, a storage location and click on 'Save' button: go to a file manager to check if the file is well stored.
- Requirement ID: SRS-REG-004
- Title: Optimus
- Verification: D
- Description:
- Test:
- Drop two images with the same size and spacing into the FIXED and MOVING views.
- Click on "Run": the output is shown in Fuse tab, in the redo/undo widget under the toolbox, and a temporary data of the output is displayed in the database in the left column.
At opening of Segmentation workspace, users can choose between several toolboxes:
- Requirement ID: SRS-SEG-001
- Title: Paint Segmentation
- Verification: D
- Description: This toolbox used on an image allows to: draw/erase a ROI with a paintbrush, segment with a region growing tool, interpolate segmentation between several slices of the image, save the resulting mask.
- Test:
- Click on "Paint / Erase": button is highlighted.
- Left click on the image and move the mouse: a painted area is drawn under the mouse cursor. A tick is created on the view slider at this slice.
- Use the "mask" slider in the Layer settings toolbox to change the transparency of the painted area.
- Right click on the paint and move the mouse: paint is erased under the mouse cursor.
- Click on "Clear Mask" button: no more mask is displayed on image.
- Click on "Magic Wand" button: button is highlighted.
- Click on a pixel in the image to plant the seed and change the Lower and Upper thresholds: selection grown around the pixel selected to pixels with a value between the lower and upper threshold.
- Click on "Clear Mask" button: no more mask is displayed on image.
- Click on "Paint / Erase": button is highlighted.
- Left click on the image and move the mouse: a painted area is drawn under the mouse cursor.
- Slide to another slice of the volume: no paint area.
- Left click on the image to draw something else: something else is drawn. A second tick is added to the view slider.
- Click on "Interpolate" button and slide to the previous slice: interpolated areas has been calculated and shown on intermediate slices. Intermediate ticks have been added to the view slider.
- Click on "Save" button: a new data has been stored in cache with the name : initial data name + "(painted)"
- Requirement ID: SRS-SEG-002
- Title: Polygon ROI
- Verification: D
- Description: Used on a 3D image, this toolbox allows to: manually define polygonal ROIs by placing landmarks on the view, remove landmarks of ROIs, manually move landmarks of ROIs, use a repulsor tool to model ROIs, interpolate several ROIs between slices, emphasize slices with ROIs by adding a mark on the slice slider, save the resulting mask.
- Test:
- Click on "Activate Toolbox": toolbox is activated.
- On slice [A], draw a polygon by left click on the image: each left click generates a red point joined to the previous one by a green curve, a tick is added on the slicing scroll bar at the current slider position. Buttons are enabled.
- Continue curve until closing it by clicking on the first point created: the polygonal ROI is closed.
- Drag and drop an existing point: point and shape of the ROI follow the mouse cursor to the new position.
- Hold a left click on the green curve and move the mouse: a new point is added and the shape of the ROI is updated.
- Hold a left click on a point then press Suppr (fn+backspace on Mac !): point is deleted and the trail of the ROI is updated.
- Click on 'Repulsor' button: button is highlighted.
- Hold 2 left clicks on the image: the cursor becomes a circle.
- Move the cursor around the ROI (still holding left click): the ROI models its shape to the contact with the circle.
- Slide to another slice [B] (scroll up or down): there is no more ROI in the view.
- Click on 'Closed Polygon': button is highlighted, 'Repulsor' button not highlighted anymore.
- Draw a closed polygon: a green ROI is drawn, a new tick is added on the slicing scroll bar at the current slider position.
- New ticks appear on the slicing scroll bar between slices [A] and [B].
- Slide through the marked slices ([B] to [A]): each slice has an interpolated curve.
- Click on 'Mask(s)': image named : {initial data name} + '(mask Label [label number])' is stored in cache.
- Click on 'Contour(s)': image named : {initial data name} + '(contour Label [label number])' is stored in cache.
- Requirement ID: SRS-SEG-003
- Title: VOI Cutter
- Verification: D
- Description: Used on a 3D volume, this toolbox allows to: manually remove areas on the volume, save the resulting volume.
- Test:
- Drop the input 3D mask volume: volume is displayed in Volume Rendering mode (3D), button "Cut Volume" is enable but not activated, button "Save Image" is disable.
- Move the volume to a preferential position by holding a left click to rotate or scrolling to zoom in/zoom out: Volume is on a preferential position to be cut.
- Click on "Cut volume" button: button is highlighted.
- Left click on the view and place at least 3 points to define an area to remove from the volume: closed polygon is defined.
- Press backspace: voxels inside the selected area have now a value of 0 (black).
- Left click on the view and place at least 3 points to define an area to keep from the volume: closed polygon is defined.
- Press enter: voxels inside the selected area remain unchanged, others have a value of 0 (black).
- Click on 'Save Image' button: image named : {initial data name} + "(voiCutting)" is stored in cache.
- Requirement ID: SRS-SEG-004
- Title: Variational Segmentation
- Verification: D
- Description: The toolbox computes the contour of a VOI by placing landmarks on a volume.
- Test:
- Open a data in the view and click on "Start Segmentation".
- On the data, place some landmarks with Shift-right-click inside the VOI.
- Place some landmarks with Shift-left-click on the contour of the VOI: a contour appears.
- Place landmarks outside the VOI with Shift-ctrl-right-click.
- Click "Save Mask": a temporary mask is added in the database.
- Click "Apply and Save Segmentation": the mask is applied on the original data and displayed in the view, and temporary added in the database.