Requirements - mwgeurts/viewray_fielduniformity GitHub Wiki
The following sections detail the use cases software requirements specifications for the ViewRay Field Uniformity-Timing 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 measured profile uniformity statistics |
Rationale | This is the first primary use case for this application, where the user is looking to evaluate whether the radiation field uniformity he/she measures is comparable to an expected or reference value. Here, uniformity statistics refers to flatness and symmetry. |
Users | Medical physicist |
Preconditions | The user has acquired SNC IC Profiler PRM data on a ViewRay MRIdian system |
Course of Events |
|
Version | 1.0.0 and forward |
ID | B |
---|---|
Summary | Evaluate timing accuracy of system from measured data |
Rationale | This is the second primary use case for this application, where the user is also looking to evaluate the timing accuracy of the ViewRay MRIdian system. This is accomplished by executing a procedure that delivers a known duration of radiation to the SNC IC Profiler, and then comparing the duration measured by the device to the expected value. |
Users | Medical physicist |
Preconditions | The user has acquired SNC IC Profiler PRM data on a ViewRay MRIdian system using a 30 second exposure and has completed Use Case A |
Course of Events |
|
Version | 1.0.0 and forward |
ID | C |
---|---|
Summary | Compare measured field width to reference |
Rationale | In addition to comparing uniformity, the user may also wish to evaluate the collimator accuracy |
Users | Medical physicist |
Preconditions | The user has acquired SNC IC Profiler PRM data on a ViewRay MRIdian system using a 27.3 cm x 27.3 cm exposure (at the detector plane) and has completed Use Case A |
Course of Events |
|
Version | 1.0.0 and forward |
ID | D |
---|---|
Summary | Compare Gamma index of measured data |
Rationale | In addition to comparing uniformity 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 acquired SNC IC Profiler PRM data on a ViewRay MRIdian system and 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 acquired SNC IC Profiler PRM data on a ViewRay MRIdian system and has completed Use Cases A-D |
Course of Events |
|
Version | 1.1.0 and forward |
ID | F |
---|---|
Summary | Evaluate multiple field sizes |
Rationale | The user may choose to collect data from several field sizes to evaluate the field uniformity at multiple collimator positions. The tool must be capable of determining which field size was measured and select the correct reference data. |
Users | Medical physicist |
Preconditions | The user has acquired SNC IC Profiler PRM data on a ViewRay MRIdian system using field sizes that match one or more reference profiles loaded by this application and has completed Use Case A |
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 FieldUniformity |
U002 | A | 4 | The interface shall include a button to Browse for measured data |
U003 | A | 4 | Upon clicking the Browse button, the user shall be prompted with a file selection dialog box |
U004 | A | 5 | Upon selecting input data, the IC Profiler PRM data shall automatically be processed |
U005 | A | 5 | The interface shall list name and path of the selected file |
U006 | A | 5 | The user shall see a progress bar while the data is processed |
U007 | A | 6 | The interface shall include a table which lists the measured MLC X/Y flatness and symmetry |
U008 | B | 2 | The interface shall include a table which lists the time difference |
U009 | B | 3 | The interface shall include a plot selection drop down menu which includes time plot |
U010 | C | 3 | The interface shall include a table which lists the FWHM difference |
U011 | D | 3 | The interface shall include a plot selection drop down menu which includes X, Y, and diagonal Gamma comparison |
U012 | D | 4 | The interface shall include a table which lists the MLC X & Y max Gamma |
U013 | A | 7 | The interface shall contain duplicate Browse, file, plot, and statistics widgets for all three heads |
U014 | E | 1 | The interface shall include a Print Report button |
U015 | F | 2 | 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 | C | 2 | 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 | 5 | If the user provides an invalid file, he/she shall be notified |
F005 | A | 5 | The application shall extract cumulative data for all ion chambers from the PRM data |
F006 | A | 5 | The application shall extract time-dependent data for the central ion chamber from the PRM data |
F007 | A | 5 | The application shall correct the measured data based on the array calibration data provided in the PRM data |
F008 | A | 5 | The application shall interpolate the response of ignored detectors in the PRM data |
F009 | A | 5 | The application shall compute the flatness of each measured profile using the formula (max - min)/(max + min) over the central 80% of the FWHM defined field |
F010 | A | 5 | The application shall compute the areal symmetry of each measured profile using the formula (right - left)/(right + left) * 2 over the central 80% of the FWHM defined field |
F011 | A | 6 | The application shall store processed data and results independently for three separate input files (one for each head) |
F012 | B | 1 | The application shall compute the measured beam on time as the FWHM of the time-dependent central chamber data |
F013 | B | 2 | The application shall compute the difference between an expected time and the measured time |
F014 | B | 3 | The application shall plot the time-dependent response of the central ion chamber when the timing profile is selected from the plot selection drop down menu |
F015 | B | 3 | If PRM data has not been loaded, the timing profile plot shall display nothing and resume without error |
F016 | C | 1 | The application shall compute the FWHM of each primary axis |
F017 | C | 1 | 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 |
F018 | F | 3 | The application shall identify the reference data that best matches the measured data by comparing the correlation coefficient |
F019 | C | 2 | The application shall compute the FWHM of each reference profile |
F020 | C | 3 | The application shall compute the difference between measured and reference FWHM along the MLC X and Y axes |
F021 | D | 1 | The application shall declare Gamma criteria in the opening function |
F022 | D | 2 | The application shall use the declared criteria to compute the Gamma index along each profile (X, Y, diagonals) |
F023 | D | 3 | The application shall plot the Gamma index of the requested profile when chosen from the plot selection drop down menu |
F024 | D | 3 | The Gamma comparison plot shall display the reference profile (blue), measured profile (red), and Gamma index (light blue) |
F025 | D | 3 | If PRM data has not been loaded, the Gamma index profile plot shall display nothing and resume without error |
F026 | D | 4 | The maximum value of the MLC X and Y Gamma index profiles shall be computed |
F027 | E | 1 | The Print Report button shall be disabled until the user loads at least one PRM file |
F028 | E | 2 | The report shall include the user name determined from the system user name (whoami), or if not present, from user input |
F029 | E | 2 | The report shall include the current date and time |
F030 | E | 2 | The report shall include the application version, SNC version, collector model and serial number |
F031 | E | 2 | The report shall include MLC X Gamma index profiles for each head where data exists |
F032 | E | 2 | The report shall include MLC Y Gamma index profiles for each head where data exists |
F033 | E | 2 | The report shall include the Gamma criteria, beam on time difference, and MLC X & Y flatness, symmetry, and FWHM difference statistics for each head where data exists |
F034 | E | 3 | The report shall automatically be saved as a PDF file in the temporary directory and opened using the default PDF viewer application |
F035 | F | 2 | The Clear All Data button shall remove all stored variable data from memory for the head selected |
F036 | F | 2 | The Clear All Data button shall clear the plot selection dropdown, plot display, and table statistics |
ID | Case | Step | Requirement |
---|---|---|---|
P001 | A | 3 | The application shall load in less than 2 seconds on modern hardware |
P002 | A | 5 | The application shall process provided PRM data and return results in less than 5 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 PRM data from SNC Profiler version 3.3.1 |
C013 | C | 2 | The application shall contain reference data for a 27.3 cm x 27.3 cm exposure |
C014 | F | 3 | The application shall contain reference data for a 10.5 cm x 10.5 cm exposure |
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 |