Field Science issueshttps://code.cs.earlham.edu/groups/field-science/-/issues2023-02-15T14:39:12-05:00https://code.cs.earlham.edu/field-science/fjord-cam/-/issues/2Image quality comparison2023-02-15T14:39:12-05:00Porter LibbyImage quality comparisonFOV, fstop, exposure may all make a difference for this project.FOV, fstop, exposure may all make a difference for this project.https://code.cs.earlham.edu/field-science/fjord-cam/-/issues/1Add higher res image from GoPro2023-02-15T14:37:31-05:00Porter LibbyAdd higher res image from GoProGoPro has photo resolution options. The images I have been capturing are 5MP, but I think it can scale up to 11MPw.GoPro has photo resolution options. The images I have been capturing are 5MP, but I think it can scale up to 11MPw.Porter LibbyPorter Libbyhttps://code.cs.earlham.edu/field-science/datavis/-/issues/23Import CSV without spotname field, use id or spotid in place of2022-05-31T12:47:30-04:00Porter LibbyImport CSV without spotname field, use id or spotid in place ofhttps://code.cs.earlham.edu/field-science/datavis/-/issues/13Show units on graph view for streaming2022-01-07T12:42:30-05:00Craig EarleyShow units on graph view for streaminghttps://code.cs.earlham.edu/field-science/datavis/-/issues/19Slicing options for streaming data2022-01-07T12:41:19-05:00Craig EarleySlicing options for streaming dataAllow users to subset streaming set to be viewed close up.Allow users to subset streaming set to be viewed close up.https://code.cs.earlham.edu/field-science/datavis/-/issues/8Set default zoom to closer view2021-12-15T12:15:26-05:00Craig EarleySet default zoom to closer viewWe should zoom in closer on map view, as currently the dots are either overlapping or hard to see.We should zoom in closer on map view, as currently the dots are either overlapping or hard to see.https://code.cs.earlham.edu/field-science/images/-/issues/11Remove API key from web-image-display/imageThumbnails.php2021-12-08T08:49:46-05:00Porter LibbyRemove API key from web-image-display/imageThumbnails.phpShould be included in a config file or envShould be included in a config file or envhttps://code.cs.earlham.edu/field-science/datavis/-/issues/20Map data tooltips2021-12-01T09:44:28-05:00Craig EarleyMap data tooltipsshow information for a point on hover in map viewshow information for a point on hover in map viewhttps://code.cs.earlham.edu/field-science/images/-/issues/8Combine scripts into one or more complete workflows2021-07-05T11:28:11-04:00Craig EarleyCombine scripts into one or more complete workflowsWe have a lot of individual scripts but no structure or glue to bring them together into a complete workflow, for either 2D, 3D, or any other assembly. Choose those and begin building them.
This should be broken into specific issues and...We have a lot of individual scripts but no structure or glue to bring them together into a complete workflow, for either 2D, 3D, or any other assembly. Choose those and begin building them.
This should be broken into specific issues and then closed.https://code.cs.earlham.edu/field-science/images/-/issues/2Add project logo :)2021-07-05T11:27:38-04:00Craig EarleyAdd project logo :)https://code.cs.earlham.edu/field-science/images/-/issues/9Get 3D assembly working2021-07-05T11:27:19-04:00Craig EarleyGet 3D assembly workingI haven't worked on this but I'm told we have issues with 3D assembly and wanted to capture that. Please fill in details, and/or I will do so after we look into it more closely.I haven't worked on this but I'm told we have issues with 3D assembly and wanted to capture that. Please fill in details, and/or I will do so after we look into it more closely.https://code.cs.earlham.edu/field-science/FieldDay/-/issues/35Rename and add information to the Protocols feature in Notebook2021-04-03T10:13:50-04:00Craig EarleyRename and add information to the Protocols feature in NotebookThere's a collection of features called "Notebook" in Field Day, and it includes Google Drive, "Note Pad", and "Protocols". Currently, "Note Pad" has minimal functionality and "Protocols" has none (for historic reasons that aren't releva...There's a collection of features called "Notebook" in Field Day, and it includes Google Drive, "Note Pad", and "Protocols". Currently, "Note Pad" has minimal functionality and "Protocols" has none (for historic reasons that aren't relevant to the current configuration). This issue is about Protocols.
I propose we add buttons pointing to a few pieces of read-only content to the Protocols section:
- a frequently-asked-questions page
- troubleshooting common problems
- our glossary of terms (currently in Drive)
- maybe move the About and Settings buttons here, off the valuable main screen
Since this strays from some strict lab definition of "protocols", consider renaming it as well.https://code.cs.earlham.edu/field-science/FieldDay/-/issues/47Rearrange and rephrase UI buttons2021-04-03T10:12:40-04:00Craig EarleyRearrange and rephrase UI buttons[See this photo of the new layout (the whiteboard text on the right)](/uploads/0e2744b4a152f3d4bba5543fe14ea803/field-day-ui-revise.jpg)[See this photo of the new layout (the whiteboard text on the right)](/uploads/0e2744b4a152f3d4bba5543fe14ea803/field-day-ui-revise.jpg)https://code.cs.earlham.edu/field-science/FieldDay/-/issues/46Crash on tapping the bench sample picture button2021-03-10T10:27:00-05:00Craig EarleyCrash on tapping the bench sample picture buttonText of logcat message will be in the comments.Text of logcat message will be in the comments.https://code.cs.earlham.edu/field-science/FieldDay/-/issues/33Device rotation while streaming disrupts current data stream2021-02-13T11:16:03-05:00Craig EarleyDevice rotation while streaming disrupts current data streamRotation of the Android device during a stream is buggy.
To replicate this, open Field Day, configure your database, go to "Builtin Sensors", and observe the following:
* User action: Choose site and sector > choose a 1 sec interval > ...Rotation of the Android device during a stream is buggy.
To replicate this, open Field Day, configure your database, go to "Builtin Sensors", and observe the following:
* User action: Choose site and sector > choose a 1 sec interval > touch "Stream" > wait a few seconds > rotate
* Result: stream appears to stop: the button no longer blinks, and after pressing the button again it uses the default 3 sec interval rather than the (visually highlighted) 1 sec interval; control of streaming also becomes confusing, as the streaming entries counter on the Database Actions screen keeps increasing
* Desired result: after rotation, stream continues uninterrupted at the 1 sec interval, button blinks to reflect this, as if we hadn't rotated the screen at all
(It's true that other activities and fragments without so much dynamic content seem to handle rotation fine, but I'd still characterize this as a pretty significant bug - a real "other than that, Mrs. Lincoln..." situation.)
In the short term, we're fine to tell people to do a rotation lock on their device, which I'm guessing has been our pattern. For the long term, let's fix this.https://code.cs.earlham.edu/field-science/FieldDay/-/issues/45Fix the way we do uploads2021-02-08T11:10:28-05:00Craig EarleyFix the way we do uploadsGathering field data works, but we get a lot of buggy behavior around uploads.
After an upload of, say, X streaming and Y reading rows, we still see X and Y as the local database status. Our understanding should be that, once we’ve uplo...Gathering field data works, but we get a lot of buggy behavior around uploads.
After an upload of, say, X streaming and Y reading rows, we still see X and Y as the local database status. Our understanding should be that, once we’ve uploaded them to the central database, those rows are no longer "local" to the device only.
There are a few possible solutions, and we should discuss them:
1. Completely re-do database setup after each upload - we might then relabel “Upload” as “Upload and sync”. I mildly favor this approach over the others.
2. Auto-sync everything whenever we have Internet.
2. [I think this approach is rejected.] Re-sync the uploads database only. This presents challenges for consistency: on initial setup, we have a complete clone of the subset of the database that’s relevant to our chosen trip. If we merely bring back the timestamp, our uploads would be consistent but nothing else.https://code.cs.earlham.edu/field-science/FieldDay/-/issues/44Discussion and notes: user interface and feature ideas2021-02-08T11:05:33-05:00Craig EarleyDiscussion and notes: user interface and feature ideasWe need to sort these. Many of these bullet points could become issues, but I am mainly using this is a heap where I can dump the information.
Some of our ideas. Some have issues associated with them already.
1. Move the sampling stuff...We need to sort these. Many of these bullet points could become issues, but I am mainly using this is a heap where I can dump the information.
Some of our ideas. Some have issues associated with them already.
1. Move the sampling stuff to the front screen
2. Scrolling
3. Brighter buttons, more muted backgrounds (including gray rather than bright colors)
4. Bigger buttons
5. Less on any one screen? So split DB actions into multiple screens, for example
6. Linear user flow: database -> platform -> sample (or platform -> sample -> DB)
7. Gestures?
8. Rotation #33
Other stuff
dark mode?
```
setContentView(R.layout.activity_database_actions);
View someView = findViewById(R.id.databaseStatus);
// Find the root view
View root = someView.getRootView();
// Set the color
root.setBackground(getDrawable(R.drawable.background_dark));
```
Navigation (unordered)
* Get a toolbar that can take you to the things you rarely need:
* Settings
* About
* Sensors are the big-ticket items, they get most of the real estate under that
* Database setup and lab notebook are beneath them
* Other
* NavigationUI
* ActionBar
more ideas
* automated unit tests?
* revise data model/re-architect # some notes: two columns: headstream, varchar(5) - sampleunitid, integer (taking the place of spot or stream id)
* license
* take picture of spot, where a spot’s image includes the 3 flags where we’re digging - picture may also include surrounding area, want to correlate images to the data from microbial sampling
* bad idea to have CREATE statements in code a la ReadingsDatabase?
* 2. Fieldday_Streaming_GIS table, with geopoint, is not used
* Postgres fieldday_streaming_gis table
* We should add the geopoint to the fieldday_streaming table
* compute geopoint based on lat and long columns
* mutually_exclusive_group?
* document our testing
* Test elevation streaming
* Leave, walk downstairs, go to the rock, come back
* Or, leave, go to the first crack in the sidewalk at the 4-way stop at public safety where there will be the top of a 2x2 with a nail
* quality control
* rotations
* no sector is displayed but the device will still stream when the button is pressed
* maybe a display problem not a data problem? streaming data appears to be collected
* also the stream button doesn’t blink
* but we get a weird runaway streaming problem where I can’t seem to stop the streaming after a rotation
* Field Day crashes on erasing local database if you have already done so
* Can’t select a sector with the default site, have to change it to get the sector dropdown active
* Number of values each sensor returns
* some return 1,2,3, etc. values
* we don’t do a good job of detecting the number of values in-place
* UX questions
* What do people do? Is there an order?
* Display aggregates - what kinds? count of reads/streams? mean/median/mode/range? lat/long/times start/stop? can there be a map?
* Global settings, or settings changed rarely (e.g. databases)?
* What devices? Is this mainly a tablet app, phone app, or both? (I think both)
* Documentation: "As previously mentioned, the map() function uses integer math. So fractions might get suppressed due to this. For example, fractions like 3/2, 4/3, 5/4 will all be returned as 1 from the map() function, despite their different actual values. So if your project requires precise calculations (e.g. voltage accurate to 3 decimal places), please consider avoiding map() and implementing the calculations manually in your code yourself."
* [Storage Access Framework](https://commonsware.com/blog/2019/06/07/death-external-storage-end-saga.html)https://code.cs.earlham.edu/field-science/images/-/issues/4Try a workflow using SIFT and SURF2020-10-31T11:50:24-04:00Craig EarleyTry a workflow using SIFT and SURFFrom notes we have:
- Build a workflow using SIFT and SURF
- Individual images or a mosaic?
Other context welcome. :)From notes we have:
- Build a workflow using SIFT and SURF
- Individual images or a mosaic?
Other context welcome. :)https://code.cs.earlham.edu/field-science/images/-/issues/10Run a programmatic quality check on 3D assemblies2020-10-13T10:13:03-04:00Craig EarleyRun a programmatic quality check on 3D assembliesWe have two possible approaches to quality checking 3D (and maybe 2D) assemblies:
* Sobel edge detection
* tricks in ImageMagick
Edge detection is a more well-defined place to begin, so let's start there.We have two possible approaches to quality checking 3D (and maybe 2D) assemblies:
* Sobel edge detection
* tricks in ImageMagick
Edge detection is a more well-defined place to begin, so let's start there.https://code.cs.earlham.edu/field-science/FieldDay/-/issues/26Sampling fragments should display units2020-09-30T09:35:28-04:00Craig EarleySampling fragments should display unitsThe bluetooth, built-in, and bench sample fragments should display the units along with each sensor value (e.g. air pressure, temperature, etc.) These are available from the fieldday_sensorThe bluetooth, built-in, and bench sample fragments should display the units along with each sensor value (e.g. air pressure, temperature, etc.) These are available from the fieldday_sensor