Requirements - mwgeurts/viewray_mlc GitHub Wiki

The following sections detail the use cases software requirements specifications for the ViewRay MLC Position Check tool. Each use case is assigned a letter ID and describes the rationale, intended users, preconditions, a step by step sequence of events, and the software tool version where this use case was introduced.

Software requirements are classified into three categories: user interface, functional, and non-functional. Non-functional requirements are further broken down into three additional types: performance, compatibility and documentation. Each interface and functional requirement is traced to a specific use case and step within the course of events and is provided a four character ID, where the first character is a letter indicating the requirement type and the final three are an incremental number.

Performance requirements may reference modern hardware. This refers to a typical base-level configuration of a business desktop or laptop computer, which would include a 64-bit operating system, 4 GB of RAM, and Intel Core i5 processor at minimum. Refer to the Unit Testing page for details on the system configuration used to verify these requirements.

To determine which requirements apply to a given software version, trace the requirement back to the Use Case using the referenced Use Case letter ID and note the version. It is implied that all specifications attached to Use Cases that include the statement and forward will continue to be applied to the current and all future versions of the application.

Contents

Use Cases

ID A
Summary Evaluate MLC positioning accuracy for standard set of MLC positions
Rationale This is the primary use case for this application, where the user has measured IC Profiler data at each MLC position and would like to compare the MLC positioning accuracy (defined here as the FWHM-defined field edge of along the MLC-Y axis) to an expected value (determined from the Treatment Planning System).
Users Medical physicist
Preconditions The user has acquired SNC IC Profiler ASCII data on a ViewRay MRIdian system
Course of Events
  1. The user installs the ViewRay MLC Position Check application
  2. The user acquires measurement data using the SNC IC Profiler
  3. The user executes the application from MATLAB
  4. The user selects the location of the measured ASCII data
  5. The application prompts the user to select the gantry angle from which the data was measured
  6. The application computes the measured FWHM-defined field edges for each profile provided along the primary axis
  7. The application finds the the reference file that best matches each measured field
  8. The application computes the reference FWHM-defined field edges along the primary axis
  9. The application computes the field edge differences
  10. The application plots the front and back field edge differences for each measured profile
  11. The application reports the maximum, minimum, and average variation as well as the percentage of differences less than 1 mm
  12. The user repeats the analysis for the remaining heads
Version 1.0.0 and forward
ID B
Summary Compare results from multiple gantry angles
Rationale In addition to comparing the measured MLC accuracy at a single position, the user may also wish to evaluate the impact of gantry angle on MLC positioning accuracy by repeating the test at multiple locations.
Users Medical physicist
Preconditions The user completed Use Case A
Course of Events
  1. The user loads an additional data set for a given head
  2. The field edge and width difference results are plotted alongside the first dataset
  3. The user may also choose to clear the existing results and just load the new result
Version 1.0.0 and forward
ID C
Summary Compare FWHM to expected values
Rationale Although the principal metric is field edge position, the combined influence of front and back MLC positions will also impact field width.
Preconditions The user completed Use Case A
Course of Events
  1. The user selects to display the FWHM difference for each measured profile
  2. The application plots the FWHM difference
  3. The application reports the maximum, minimum, and average deviation
Version 1.0.0 and forward
ID D
Summary Compare Gamma index for measured data
Rationale In addition to comparing field edge and FWHM, the user may also wish to compare the measured to reference data using a Gamma index. The application should provide default values but should be customizable such that users can adjust the Gamma parameters.
Users Medical physicist, Software developer
Preconditions The user has completed Use Case A
Course of Events
  1. The developer adjusts the Gamma parameters
  2. The application computes the Gamma index between the measured and reference profiles along each axis
  3. The user selects to display the Gamma comparison for a given axis
  4. The application plots the Gamma index
  5. The maximum Gamma index is displayed
Version 1.0.0 and forward
ID E
Summary Generate results PDF report
Rationale After computing all statistics, the user will need to export the results to a file they can include in their quality management program. This report should include the most relevant results
Users Medical physicist
Preconditions The user has completed Use Cases A-D
Course of Events
  1. The user selects a Print Report button
  2. A PDF report is generated
  3. The PDF report opens using the default system application
Version 1.1.0 and forward
ID F
Summary Load PRM data
Rationale It may be more efficient for the user to acquire all profiles for a given head with the same IC Profiler measurement, where the results are saved as a PRM file.
Users Medical physicist
Preconditions The user has acquired SNC IC Profiler PRM data on a ViewRay MRIdian system
Course of Events
  1. The user installs the ViewRay MLC Position Check application
  2. The user acquires measurement data using the SNC IC Profiler
  3. The user executes the application from MATLAB
  4. The user selects the location of the measured PRM data
  5. The application performs the same analysis as Use Case A
Version 1.1.0 and forward

User Interface Requirements

ID Case Step Requirement
U001 A 3 A graphical user interface shall open when the user executes AnalyzeMLCProfiles
U002 A 4 Upon clicking the Browse button, the user shall be prompted with a file selection dialog box
U003 A 5 Upon selecting input data, the user shall be prompted to select the gantry angle from which the data was measured
U004 A 5 The user may choose the gantry angle on the interface prior to selecting the Browse button
U005 A 6 Upon selecting the gantry angle, the IC Profiler data shall automatically be processed
U006 A 6 The user shall see a progress bar while the data is processed
U007 A 10 The interface shall include a plot selection drop down menu which includes field edge differences
U008 A 11 The interface shall include a table which lists the maximum, minimum, and average field edge difference
U009 A 11 The interface shall include a table which lists the percentage of field edge differences less than 1 mm
U010 B 1 The interface shall include four file location and Browse buttons for loading measured data
U011 C 1 The interface shall include a plot selection drop down menu which includes field width differences
U013 D 3 The interface shall include a plot selection drop down menu which includes Gamma index for each loaded dataset
U014 D 5 The interface shall include a table which lists the maximum Gamma index for each loaded dataset
U015 A 12 The interface shall contain duplicate Browse, file, plot, and statistics widgets for all three heads
U016 E 1 The interface shall include a Print Report button
U017 B 4 The interface shall include a Clear All Data button

Functional Requirements

ID Case Step Requirement
F001 A 3 If not all components of the application are present, the application shall throw an error to the user
F002 A 7 The application shall extract reference profiles from one or more provided reference DICOM files for comparison to measured IC Profiler profiles
F003 A 4 If the user does not select a file, the application will resume without error
F004 A 4 If the user provides an invalid file, he/she shall be notified
F005 A 5 If the gantry angle is already selected, the user will not be prompted to choose a gantry angle when loading data
F006 A 7 The application shall identify the reference data that best matches the measured data by comparing the correlation coefficient
F007 A 6 The application shall compute the FWHM-defined field edge of the measured data along the MLC-X axis
F008 A 8 The application shall compute the FWHM-defined field edge of the reference data along the MLC-X axis
F009 A 9 The application shall compute the field edge difference of the measured from the reference X1 and X2 edges
F010 A 6 The application shall identify if the FWHM cannot be accurately determined (if the field edge is too close to the profiler edge), and if so return a null value
F011 C 2 The application shall compute the FWHM of the measured data along the MLC-X axis
F012 C 2 The application shall compute the FWMH of the reference data along the MLC-X axis
F013 C 2 The application shall compute the FWHM difference of the measured from the reference
F014 A 10 The application shall plot the X1 and X2 field edge differences as a function of MLC-X position in different colors when the field edge offsets option is selected from the plot selection drop down menu
F015 B 2 The field edge offsets plot will display X1 and X2 differences for each loaded dataset as different colors
F016 A 10 If data has not been loaded, the field edge offsets plot shall display nothing and resume without error
F017 B 2 The field edge offsets plot will display a legend labeling each dataset
F018 B 3 The Clear All Data button shall remove all stored variable data from memory for the head selected
F019 B 3 The Clear All Data button shall clear the plot selection dropdown, plot display, and table statistics
F020 C 2 The application shall plot the FWHM differences for each profile when the field width differences option is selected from the plot selection drop down menu
F021 B 2 The field width differences plot will display FWHM differences for each loaded dataset as different colors
F022 B 2 The field width differences plot will display a legend labeling each dataset
F023 A 10 If data has not been loaded, the field width differences plot shall display nothing and resume without error
F024 D 1 The application shall declare Gamma criteria in the opening function
F025 D 2 The application shall use the declared criteria to compute the Gamma index along the MLC-X axis
F026 D 3 The application shall plot the Gamma index of all profiles in the requested dataset when chosen from the plot selection drop down menu
F027 D 3 The Gamma comparison plot shall display the reference profile (blue), measured profile (red), and Gamma index (light blue)
F028 D 3 If data has not been loaded, the Gamma index profile plot shall display nothing and resume without error
F029 D 4 The maximum value of the Gamma Index for all profiles in a given dataset shall be computed
F030 E 1 The Print Report button shall be disabled until the user loads at least one file
F031 E 2 The report shall include the user name determined from the system user name (whoami), or if not present, from user input
F032 E 2 The report shall include the current date and time
F033 E 2 The report shall include the application version, SNC version, collector model and serial number
F034 E 2 The report shall include the field edge offset plot for each head where data exists
F035 E 2 The report shall include the field width difference for each head where data exists
F036 E 2 The report shall include the field edge and field width difference statistics for each head where data exists
F037 E 3 The report shall automatically be saved as a PDF file in the temporary directory and opened using the default PDF viewer application

Performance Requirements

ID Case Step Requirement
P001 A 3 The application shall load in less than 2 seconds on modern hardware
P002 A 6 The application shall process provided ASCII data and return results in less than 10 seconds on modern hardware
P003 E 2 The application shall generate a report in less than 2 seconds on modern hardware

Compatibility Requirements

ID Case Step Requirement
C001 A 3 The application shall run successfully on 64-bit Windows 7
C002 A 3 The application shall run successfully on Windows 8
C003 A 3 The application shall run successfully on the latest version of Mac OSX
C004 A 3 The application shall run successfully on Ubuntu 12
C005 A 3 The application shall run successfully on Ubuntu 14
C006 A 3 The application shall run successfully using MATLAB R2012a
C007 A 3 The application shall run successfully using MATLAB R2012b
C008 A 3 The application shall run successfully using MATLAB R2013a
C009 A 3 The application shall run successfully using MATLAB R2013b
C010 A 3 The application shall run successfully using MATLAB R2014a
C011 A 3 The application shall run successfully using MATLAB R2014b
C012 A 2 The application shall be able to parse ASCII data from SNC Profiler version 3.3.1
C013 F 2 The application shall be able to parse PRM data from SNC Profiler version 3.3.1
C014 A 5 The application shall contain reference data for 0 and 90 degree gantry exposures (through front of IC Profiler)
C015 A 5 The application shall contain reference data for 180 degree gantry exposures (through couch and back of IC Profiler)
C016 A 5 The application shall contain reference data for Gantry 270 exposures (through back of IC Profiler)

Documentation Requirements

ID Case Step Requirement
D001 A 1 Documentation shall be provided to describe how to install the application
D002 A 2 Documentation shall be provided to describe how to acquire data using the SNC IC Profiler
D003 A 3 Documentation shall be provided to describe how to run the application
D004 D 1 Documentation shall be provided to describe how to adjust the Gamma criteria
⚠️ **GitHub.com Fallback** ⚠️