Navigation | | |
:---: | :---: | :---: | :---:
Project Plan | Project Requirements | Project Design | README
Revision |
Date |
Description |
1.4.0 |
7/15/16 |
Updates to the Qt Designs and the Class and Sequence Diagrams |
0.5.1 |
9/23/15 |
Added Class Diagram & UC1 Sequence Diagram |
0.1 |
6/11/15 |
Initial Write-Up |
Qt is a modern user interface with the look and feel of a native system program.
The design of the Qt user interface (UI) is handled by Qt Creator, an integrated development environment (IDE) for creating program-specific UI files.
There are three UI files associated with this software:
- about.ui
- input_user.ui
- mainwindow.ui
Below are screenshots of each UI file and a list of the Qt objects with a description of their purpose.
For information on how to convert UI files to Python modules, see PyQt.
The About is a QDialog window that displays information regarding the software and project file.
Qt Design |
|
Qt Type |
Qt Name |
Label |
Description |
QLabel |
version_about |
<version> |
Displays the current software version |
QLabel |
copy_about |
This software is freely available to the public for use. |
The public domain notice. |
QLabel |
url_about |
bitbucket.org |
Hyperlink to the Prida README wiki |
QLabel |
author_about |
<author> |
Displays the project file's user name |
QLabel |
contact_about |
<contact> |
Displays the project file's user's email address |
QLabel |
plants_about |
<no of plants> |
Displays the total number of plants (PIDs) in the project file |
QLabel |
sessions_about |
<no of sessions> |
Displays the total number of sessions in the project file |
QLabel |
photos_about |
<no of photos> |
Displays the total number of images in the project file |
QTextEdit |
summary_about |
Displays the project file's summary text |
|
QPushButton |
edit |
Edit |
Signals for editing the about fields |
QDialogButtonBox |
buttonBox |
Close |
Closes the QDialog window |
The Input User is a QDialog window that serves as an interface for inputing the project file's user name, contact email, and summary statement.
Qt Design |
|
Qt Type |
Qt Name |
Label |
Description |
QLineEdit |
user |
(first and last name) |
Entry field for user name |
QLineEdit |
email |
(user@email.com) |
Entry field for user email |
QTextEdit |
about |
(summary statement) |
Entry field for project summary |
Main Menu
The Main Menu is the first view in mainwindow.ui and serves as a welcome screen and starting point for the user interaction with the software.
Qt Design |
Qt View |
|
MAIN_MENU |
Qt Type |
Qt Name |
Label |
Description |
IDA |
welcome |
"Welcome to Prida" |
Display graphic |
QPushButton |
new_hdf |
"Create" |
Create a new project file |
QPushButton |
open_hdf |
"Open" |
Open an existing project file |
QPushButton |
search_hdf |
"Search" |
Search existing project files |
QPushButton |
re_configure |
"Replace" |
Replace the configuration file |
The Viewer is the second view in mainwindow.ui and serves as the main interface between the user and their project file's contents.
Qt Design |
Qt View |
|
VIEW |
Qt Type |
Qt Name |
Label |
Description |
QPushButton |
menuButton |
"Menu" |
Return to main menu |
QPushButton |
aboutButton |
"About" |
Overview the file contents |
QPushButton |
saveButton |
"Save" |
Save compressed copy of current file |
QLineEdit |
search |
"Search..." |
Filter view based on search words |
QTreeView |
session_sheet |
|
|
QTreeView / IDA |
sheet / ida |
|
|
QTreeView |
img_select |
|
|
QCommandLinkButton |
create_session |
"Image" |
Start a new imaging session |
QCommandLinkButton |
perform_analysis |
"Analyze" |
Analyze root images |
QCommandLinkButton |
import_data |
"Import" |
Add existing data to this file |
QCommandLinkButton |
export_data |
"Extract" |
Save images and metadata to file |
QCommandLinkButton |
make_edit |
"Edit" |
Edit a selected field |
The Input Session is the third view in mainwindow.ui and serves as the user interface for inputing new or editing existing plant and session metadata.
Qt Design |
Qt View |
|
INPUT_EXP |
Qt Type |
Qt Name |
Label |
Description |
QLineEdit |
c_pid |
"Plant ID" |
Unique plant identifier |
QLineEdit |
c_usda_plants |
"USDA PLANTS ID" |
Agricultural genus species database key |
QLineEdit |
c_gen_sp |
"Genus Species" |
Plant scientific name |
QLineEdit |
c_line |
"Line" |
Plant cultivar type |
QLineEdit |
c_rep_num |
"Rep" |
Experiment repetition identifier |
QLineEdit |
c_tubid |
"Tub ID" |
Experiment tub identifier |
QLineEdit |
c_germdate |
"Germination Date" |
Date plant was germinated |
QLineEdit |
c_transdate |
"Transplant Date" |
Date plant was transplanted |
QLineEdit |
c_treatment |
"Treatment Type" |
Experimental treatment |
QLineEdit |
c_damage |
"Damage" |
Plant damage description |
QLineEdit |
c_plant_notes |
"Plant Notes" |
Additional important information |
QLineEdit |
c_media |
"Growth Media" |
Media in which the plant was grown |
QLineEdit |
c_tubsize |
"Tub Size" |
Size of tub in which plant was grown |
QLineEdit |
c_nutrient |
"Nutrient" |
Plant nutrient additive description |
QLineEdit |
c_growth_temp_day |
"Daytime Temp" |
Experiment daytime growth temperature |
QLineEdit |
c_growth_temp_night |
"Nighttime Temp" |
Experiment nighttime growth temperature |
QLineEdit |
c_growth_light |
"Lighting Conditions" |
Natural or artificial light description |
QLineEdit |
c_water_sched |
"Watering Schedule" |
How often plant was watered |
QLineEdit |
c_session_user |
"Session User" |
Who input this information |
QLineEdit |
c_session_addr |
"Contact Info" |
Email address of session user |
QDateEdit |
c_session_date |
"Session Date" |
Date when data was collected |
QLineEdit |
c_session_number |
"Session Title" |
Descriptive name for session |
QLineEdit |
c_session_rig |
"Rig Name" |
Where data was collected |
QLineEdit |
c_num_images |
"Number of Images" |
How many images were taken |
QLineEdit |
c_plant_age |
"Plant Age" |
Age of plant when images were taken |
QLineEdit |
c_session_notes |
"Session Notes" |
Additional important information |
QLineEdit |
c_cam_make |
"Camera Make" |
Make of the camera used for imaging |
QLineEdit |
c_cam_model |
"Camera Model" |
Model of the camera used for imaging |
QLineEdit |
c_cam_shutter |
"Exposure Time" |
Exposure setting on the camera |
QLineEdit |
c_cam_aperture |
"Aperture" |
Aperture setting on the camera |
QLineEdit |
c_cam_exposure |
"ISO" |
ISO setting on the camera |
QLineEdit |
c_cam_distance |
"Distance to Tank" |
Distance camera is away from center of tank |
QComboBox |
c_img_orient |
"Image Orientation" |
Change to fix sideways or upside down images |
QComboBox |
c_exclude |
"Exclude" |
Set to "True" to exclude session during save |
QDialogBox |
c_buttons |
"Cancel / OK" |
"OK" starts imaging or import; "Cancel" returns to viewer |
The Run Session is the fourth view in mainwindow.ui and serves as a loading screen and progress bar during session imaging and importing.
Qt Design |
Qt View |
|
RUN_EXP |
Qt Type |
Qt Name |
Label |
Description |
QLabel |
label |
"Acquiring Images ..." |
|
QLabel |
c_preview |
|
Displays current import or first imaging preview |
QProgressBar |
c_progress |
|
Displays the progress of import or imaging session |
QPushButton |
abortButton |
"Cancel" |
Disabled |
The File Search is the fifth view in mainwindow.ui and serves as interface for users to explore multiple project files to find a file with specific plant details.
Qt Design |
Qt View |
|
FILE_SEARCH |
Qt Type |
Qt Name |
Label |
Description |
QPushButton |
menuButton2 |
"Main Menu" |
Return to the main menu |
QPushButton |
add_file |
"+" |
Add files to search list |
QPushButton |
rm_file |
"-" |
Remove selected file from search list |
QLineEdit |
f_search |
"Search..." |
Filter search list with keywords |
QTreeView |
file_browse_sheet |
|
List of all search files |
QTreeView |
file_search_sheet |
|
List of all plants within search files |
QCommandLinkButton |
explore_file |
"Explore" |
Open the selected search file |
The Analysis is the sixth view in mainwindow.ui and serves as the interface for users to perform camera calibration and/or image processing.
Qt Design |
Qt View |
|
ANALYSIS |
Qt Type |
Qt Name |
Label |
Description |
QLabel |
sessionTitleLabel |
"Session Title:" |
|
QLabel |
a_sess_title |
"n/a" |
Displays the selected session title |
QLabel |
sessionDateLabel2 |
"Session Date:" |
|
QLabel |
a_sess_date |
"n/a" |
Displays the selected session date |
QLabel |
imageCountLabel |
"Image Count:" |
|
QLabel |
a_sess_count |
"n/a" |
|
QListView |
a_thumb |
|
|
IDA |
a_preview |
|
|
QPushButton |
a_save |
"Back" |
|
QPushButton |
a_undo |
"Undo" |
|
QPushButton |
a_rLeft |
"Rotate Left" |
|
QPushButton |
a_rRight |
"Rotate Right" |
|
QPushButton |
a_gray |
"Grayscale" |
|
QPushButton |
a_thresh |
"Threshold" |
|
QPushButton |
a_invert |
"Invert" |
|
Release v.1.4
Release v.1.4