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.
- Use Cases
- User Interface Requirements
- Functional Requirements
- Performance Requirements
- Compatibility Requirements
- Documentation Requirements
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
Version | 1.1.0 and forward |
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 |
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 |
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 |
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) |
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 |