Wiki

Clone wiki

prida_one / requirements

Navigation | | | :---: | :---: | :---: | :---: Project Plan | Project Requirements | Project Design | README

Project Requirements

Revisions

Revision Date Description
0.2.0 8/31/15 First full draft of requirements document. Up-to-date with PRIDA v0.5. Still pending release dates.
0.1.4 8/25/15 Updated Feature Requirements. Began defining Use-Cases.
0.1.3 7/24/15 Added additional Feature Requirements. Formatting issues have been encountered with use-cases.
0.1.2 7/8/15 Added problem statement references.
0.1.1 7/8/15 Initial draft of Feature Requirements. Added basic user profiles. Added newest problem statement.
0.1 6/11/15 Initial write-up.

Problem Statement

See Project Plan.

Stakeholders

  • Researchers:
    • Biologists in the lab are spending more time working on technical difficulties than researching plants. The system refinements should allow them to better do their job by more streamlined handling of the data collection and processing.
  • Technicians:
    • Lab technicians have to contend with the system on a regular basis; the new system needs to be easy to learn and effective so as to streamline their work flow and the archiving of data.
  • Outside Labs:
    • Other labs are interested in the RootReader3D system. Considering the non-technical nature of the interested parties, the system needs to be easy to assemble, configure and utilize. Additionally, the more inexpensive the system the better, as the ideal is to be able to use the system in lower income environments.
  • Developers:
    • Future developers will be tasked with continuing to update and refine the system. The current iteration is poorly documented without any known coding standards. To simplify the process so that the software can keep up with the growth of the research, traceability and proper documentation need to be enforced.
  • Administrators:
    • Administration is invested in the success of the system; not only in terms of the expenses already incurred, but additionally as it is becoming an increasingly important tool for the research being pursued. Improved accuracy of data along with better data archiving will significantly increase the usefulness and longevity of the research tool.

System Requirements

Prida runs in Python 3.4, for both Hardware Mode and Explorer Mode. Prida no longer supports Python 2 compatibility. Dependencies include Pillow, Numpy, pip, PyQt5, h5py and libgphoto2. The data collection software runs off of the Raspberry Pi 2 with the ArchLinux OS. Additional hardware requirements include:

  • ArchLinuxARM for Raspberry Pi (8 GB micro SD Card)

  • stepper motor controller (such as the Adafruit Stepper Motor HAT)

  • Brass M2.5 Standoffs

  • 5V 1A (or 2A) USB PSU

  • DuinoCase

  • HDMI to VGA converter.

Data archiving is done in HDF5 format for improved usability, and image processing is done through SciPy.

User Profiles

  • General Users:
    • Must have access to all required hardware, including a compatible motor, driver, camera, turntable and computer.
    • Must be comfortable with basic computer operations such as interacting with buttons and forms.
  • Researchers:
    • Must input all relevant metadata completely and correctly.
    • Must archive their data in a consistent manner.
  • Technicians:
    • Must maintain all relevant hardware.
    • Must familiarize themselves with the associated documentation.
  • Administration:
    • Must be comfortable with basic searching functionality.

Feature Requirements

No. User Story Name Description Release
1 Camera Controls Users may specify the number of images to be taken during a single collection sequence. pending
2 Metadata Inputs Users may input data describing the experiment corresponding to a particular collection sequence. This data will be associated with the raw images during any further manipulation, processing or analysis. pending
3 Mesh Users have a mesh that is capable of supporting the root architecture of a 14 day old corn plant in order to maintain integrity of collected data. pending
4 Ball Bearing Users will have a bearing capable of smooth rotation and a inner diameter large enough to accommodate a 14 day old corn plant. pending
5 Lighting Users will have the ability to backlight or side-light the plant for imaging. pending
6 Camera Calibration Users will be able to calibrate the camera before an image collecting sequence. The calibration process will be fully automated and will correct for relative camera position and lens distortions. pending
7 Motor Drive Users will have a motor drive that drives the rotation with a settling time of less than two seconds. pending
8 Root Tracking System shall be able to identify roots across a time series experiment. pending
9 Session Calibration System shall automatically calibrate the camera settings and lens distortion. pending
10 Image Calibration System shall automatically calibrate for the relative position of each plant. pending
11 Data Archiving Users will be prevented from modifying archived data from completed experiments. pending
12 Image Comparisons Users may view collected images in a side-by-side comparison view. pending
13 Searchable Data Collected data may be searched for specific keywords and terms. pending
14 Searchable Archive Searches may be performed across multiple datasets. pending
15 Export Data Collected metadata may be exported to a CSV. pending
16 Export Images Images may be exported as a folder system of .jpg files. pending
17 Linked Metadata Metadata and images will be inseparable within the file. pending

Use Case Descriptions

UC01 - New File

Use-Case Number UC-01
Use-Case Name New File
Overview User enters relevant meta data, specifies a file name and creates a new HDF5 file.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. System is on an software is running.
2. PRIDA is at the main menu.
Scenario Flow ----
1. User selects 'New File.'
2. System requests user and experiment metadata.
3. User enters and submits the user and experiment metadata.
4. System redirects user to file browser.
5. User selects desired file location and name.
6. System creates HDF5 with the specified name at the specified location and redirects the user to the PID viewer.
Alternate Flow After step 1, at any time the user may select 'cancel.' Then the following steps occur:
1. System requests cancel confirmation.
2. Users selects continue.
3. System redirects user to main menu and no file is saved.
Post-Condition HDF5 file exists as desired and user is viewing file contents.

UC02 - Open File

Use-Case Number UC-02
Use-Case Name Open File
Overview User selects file and system displays desired information.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. System is on an software is running.
2. PRIDA is at the main menu.
Scenario Flow ----
1. User selects 'Open File.'
2. System redirects user to file browser.
3. User selects desired file to open.
4. System opens the file and redirects the user to the PID viewer.
Alternate Flow After step 1, at any time the user may select 'cancel.' Then the following steps occur:
1. System requests cancel confirmation.
2. Users selects continue.
3. System redirects user to main menu and no file is saved.
Post-Condition User is viewing PIDs of desired file.

UC03 - Create Session

Use-Case Number UC-03
Use-Case Name Create Session
Overview User enters session metadata and system collects and saves plant root images.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. Completion of UC-1 or UC-2.
Scenario Flow ----
1. User selects Create Session.
2. System redirects user to session metadata form.
3. User fills out form, including desired number of images, and presses go.
4. System calibrates hardware and collects the specified number of images.
5. System redirects user to an updated HDF5 file PID view including the new session.
Alternate Flow 1 During step 2:
1. User selects cancel.
2. System returns user to PID view and does not save form data.
Alternate Flow 2 During steps 3-4:
1. User selects abort.
2. System saves currently collected images and associated metadata.
3. System stops collecting further images.
4. System returns user to PID view.
Post-Condition User is at PID view and new session data is added to file.

UC04 - Do Analysis

Use-Case Number UC-04
Use-Case Name Do Analysis
Overview Perform basic image processing on a single session.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. Completion of UC-1 or UC-2.
2. HDF5 file contains at least one imaging session.
Scenario Flow ----
1. User selects a Do Analysis and a session.
2. System prompts user for cropping coordinates.
3. User inputs cropping coordinates.
4. System saves coordinates and crops a temp image copy.
5. System prompts user for thresholding value.
6. User inputs thresholding value.
7. System saves thresholding value and thresholds the temp image copy.
8. User selects skeletonization.
9. System applies skeletonization algorithm to the temp image.
10. System saves the temp image to the HDF5 file.
11. System redirects user to the PID view.
Alternate Flow 1 Any time following step 1:
1. User selects cancel.
2. System returns user to PID view and does not save processing data.
Alternate Flow 2 After steps 4 or 7:
1. User selects done.
2. System saves all intermediate processing data previously input.
3. System returns user to PID view.
Post-Condition Processing parameter data and fully processed image copy saved to HDF5. User is at the PID view.

UC05 - Import Data

Use-Case Number UC-05
Use-Case Name Import Data
Overview Associate metadata to previously collected images.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. Completion of UC-1 or UC-2.
Scenario Flow ----
1. User selects "Import Data".
2. System prompts user to select images to import.
3. User selects images for importing.
4. System re-directs user to metadata input form.
5. User enters metadata to be associated with the imported sessions' images.
6. System saves images in the HDF5 file as new session under the specified PID with input metadata.
7. System redirects user to PID view.
Alternate Flow After step 1, user may select "Cancel" at any time. The following steps occur:
1. System prompts user to confirm intent to cancel.
2. User confirms intent.
3. System redirects user to PID view and does not save any information or images to the file.
Post-Condition A new session is created under the specified PID with the imported images and metadata. User is at the PID view.

UC06 - Export Data

Use-Case Number UC-06
Use-Case Name Export Data
Overview Exports specified data to non-HDF5 file formats for user processing.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. Completion of UC-1 or UC-2.
2. HDF5 file contains at least one imaging session of data.
3. User has selected desired data to be exported.
Scenario Flow ----
1. User selects "Export Data".
2. System prompts user for target directory for exported files.
3. User selects desired directory.
4. System reconstructs HDF5 hierarchy as a file structure in the specified folder.
5. System populates folder structure with respective images and meta data.
Alternate Flow When prompted for a directory:
1. User selects "Cancel".
2. System redirects user to PID view.
Post-Condition User has direct access to the images and metadata at the specified directory.

UC07 - About

Use-Case Number UC-07
Use-Case Name About
Overview Display information about the overall experiment file and associated user/author metadata.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. Completion of UC-1 or UC-2.
Scenario Flow ----
1. User selects "About".
2. System displays saved metadata concerning the experiment and contributing authors.
3. User selects "Close".
4. System redirects user to PID view.
Alternate Flow None
Post-Condition User has viewed experiment level metadata and has returned to the PID view.

UC08 - View Session Metadata

Use-Case Number UC-08
Use-Case Name View Session Metadata
Overview User selects a PID and views all available session metadata and image thumbnails.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. Completion of UC-1 or UC-2.
2. HDF5 file contains at least one imaging session of data.
Scenario Flow ----
1. User selects PID to expand.
2. System displays all known sessions of imaging the particular PID and their associated metadata and thumbnails.
Alternate Flow None
Post-Condition User is viewing the session metadata and image thumbnails of a particular PID.

UC09 - View Image

Use-Case Number UC-09
Use-Case Name View Image
Overview User selects and views a particular image.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. User has completed UC-8.
Scenario Flow ----
1. User selects an image thumbnail.
2. System redirects user to higher resolution image viewer (IDA)
Alternate Flow After step 2, the user may proceed as follows:
1. User selects "Return to spreadsheet".
2. System redirects user to the PID view.
Post-Condition User is viewing the desired image in large-format.
Use-Case Number UC-10
Use-Case Name Intra-file Search
Overview User filters the PID metadata based on specified search terms.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. Completion of UC-1 or UC-2.
Scenario Flow ----
1. User enters desired keywords into search bar
2. System filters PID spreadsheet by keywords.
3. System displays only those PID's with metadata or session metadata containing the keywords.
Alternate Flow None
Post-Condition User is viewing a filtered spreadsheet of the PID view.
Use-Case Number UC-11
Use-Case Name Inter-file Search
Overview User filters the experiment metadata across multiple files based on specified search terms.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. System is on and software is running.
2. PRIDA is at the main menu.
3. Multiple experiment files exist and are accessible by the user.
Scenario Flow ----
1. User selects 'File Search' from the main menu.
2. System redirects user to the file-search view.
3. User selects 'Add File'.
4. System opens the file dialogue and prompts user for a selection.
5. User selects files which they want to search across.
6. System populates the sheet model with pids from selected files.
7. User enters desired keywords into search bar.
8. System filters sheet model by keywords.
9. System displays only those PID's with metadata or session metadata containing the keywords.
Alternate Flow After step 6, the user may proceed as follows:
1. User selects a file to remove from the loaded file list and clicks 'remove file.'
2. System removes the file and its associated PIDs from the sheet model.
Post-Condition User is viewing a filtered spreadsheet of PIDs from multiple files.

UC12 - Edit Metadata

Use-Case Number UC-12
Use-Case Name Edit Metadata
Overview User selects a session or PID and is given access to the metadata for editing. When finished, save the new data to the HDF5 file and redirect to the PID view.
Actor(s) Technicians, Researchers, General Users
Pre-Conditions ----
1. Completion of UC-1 or UC-2.
2. User is at the PID view.
3. At least one PID or session exists in the file.
Scenario Flow ----
1. User selects the PID or session they wish to edit and selects 'Edit.'
2. System redirects user to input experiment view, with fields populated by existing metadata.
3. User edits the desired fields and confirms the changes.
4. System saves the changes and returns the user to the PID view.
Alternate Flow After step 2, the user may proceed as follows:
1. User selects 'Cancel.'
2. System returns the user to the PID view and does not save any changes.
Post-Condition User is viewing the edited metadata at the PID view.

Updated