Code Monkey home page Code Monkey logo

field-book's Introduction

Field Book

Downloads Rating License: GPL v2 Build Status Latest Crowdin All Contributors

Field Book is a simple app for collecting phenotypic notes. Data capture in the field has traditionally been a laborious process requiring writing notes by hand followed by transcription. Field Book was created to replace paper field books and to enable increased collection speed with greater data integrity. Field Book uses custom layouts for different types of data to facilitate rapid data collection. Traits being collected are defined by the user and can be exported and transferred between devices. Sample files are provided in the app. Field Book is compatible with BrAPI which can be used to transfer data to compatible databases.

πŸ“– Help

Check the user manual and the wiki for usage instructions. If you run into a problem while using Field Book, search existing issues and discussions to see if it is currently being addressed. If you have a new feature idea or want to report a new bug, create a new issue.

🌎 Contribute

Visit our translation page to help translate Field Book to your language. To submit code or new features, please review our contribution guidelines before opening a pull request.

⬇️ Updates

Field Book regularly receives new updates to improve performance or add new features. To ensure these changes don't interfere with most field seasons, we do not update the Google Play version of the app between April 15 and September 15. An up-to-date version can be downloaded from the About section within the app or through our GitHub releases.

πŸ’° Funding

Development of Field Book is possible because of the support received from the following organizations:

✨ Contributors

This project follows the all-contributors specification. Contributions of any kind are welcome!

Trevor Rife
Trevor Rife

πŸ“† πŸ’» 🎨
Peter Selby
Peter Selby

πŸ’»
Tim Parsons
Tim Parsons

πŸ’» πŸ‘€
Nick
Nick

πŸ’» πŸ‘€ πŸ›
Chris Tucker
Chris Tucker

πŸ’»
Chaney Courtney
Chaney Courtney

πŸ’»
dmeidlin
dmeidlin

πŸ’»
Minoru Inamori
Minoru Inamori

πŸ’» πŸ€”
Nahuel Soldevilla
Nahuel Soldevilla

πŸ’»
Jessssica33
Jessssica33

πŸ’»
abatac
abatac

πŸ’»
Marcus McHale
Marcus McHale

πŸ’» πŸ›
Bryan Ellerbrock
Bryan Ellerbrock

πŸ’» πŸ€”
Irazema Fuentes-Bueno
Irazema Fuentes-Bueno
🌍
narinder singh
narinder singh

🌍
Daljit Singh
Daljit Singh

🌍
Sandra Dunckel
Sandra Dunckel

🌍
Shuangye Wu
Shuangye Wu
🌍
Erena Edae
Erena Edae
🌍
Tatiana Danilova
Tatiana Danilova
🌍
Rodrigo Pedrozo
Rodrigo Pedrozo
🌍
Cristiano Lemes da Silva
Cristiano Lemes da Silva
🌍
Sophie Bouchet
Sophie Bouchet
🌍
Hiroyoshi Iwata
Hiroyoshi Iwata

🌍
Goro Ishikawa
Goro Ishikawa
🌍
Mokhlesur Rahman
Mokhlesur Rahman
🌍
Alice Brunazzi
Alice Brunazzi
🌍
Khaled Al-Shamaa
Khaled Al-Shamaa

🌍
HMS17
HMS17

πŸ’»
zrm22
zrm22

πŸ’»
Joe Gage
Joe Gage

πŸ› πŸ’»
mobreza
mobreza

πŸ’»
Jenna Hershberger
Jenna Hershberger

πŸ› πŸ€” πŸ“‹
jessepoland
jessepoland

πŸ› 🎨 πŸ’΅ πŸ” πŸ€” πŸ““
Heather Manching
Heather Manching

πŸ““ πŸ› πŸ€”
Amanda Hulse-Kemp
Amanda Hulse-Kemp

πŸ““ πŸ› πŸ€”
Keo Corak
Keo Corak

πŸ› πŸ““ πŸ€”
Prasad Kamath
Prasad Kamath

πŸ’»
Akshat Savla
Akshat Savla

πŸ’»
jpietragalla
jpietragalla

🌍
Renier Pestana
Renier Pestana

πŸ’»

field-book's People

Contributors

abatac avatar akshat22 avatar allcontributors[bot] avatar bellerbrock avatar brapicoordinatorselby avatar chaneylc avatar dependabot[bot] avatar dmeidlin avatar hms17 avatar jessssica33 avatar jmh579 avatar kamathprasad9 avatar m-inamori avatar marcusmchale avatar mobreza avatar nahuel-soldevilla avatar nickpalladino avatar phenoapps-bot avatar rmcp avatar timparsons avatar trife avatar zrm22 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

field-book's Issues

F-Droid

Hi,

Since this app is GNU GPL 2 licensed, are you considering the fact to add it to F-Droid? It would be awesome for people like me that do not use Google Play nor anything else, except F-Droid.

You can find some documentation here

Option to advance plot in more than one dimension

This is a feature request with sweetpotato breeding in mind.

When a yield trial is first being dug breeders will walk along the field rows behind the chain digger, rating the plots as they go. Once enough plots are dug they will change directions and start walking across the rows (along the 'tiers' or columns) to be more efficient. In large trials they may have to switch back and forth between both strategies multiple times as they catch up to and then fall behind the digger.

Any plot stakes or labels are destroyed by vine mowing and the digger, so the only way to navigate the field is by x,y coordinates (row and tier/column numbers ). It's tricky to do with Fieldbook's existing features, but adding up and down plot advancement arrows along with the existing forward and back arrows could make it much more intuitive.

Our thinking is the forward and back arrows could increment over the primary order (we'd pick row) while the up and down arrows could increment over the secondary order (we'd pick tier/column). Then complex navigation in the field would be as simple as clicking the arrow pointing in the direction you are moving.

primary and secondary order are not working

As of release 4.0.2, primary and secondary order are not working. For example, if I import the field_sample.csv with column as the primary order, it still advances through the plots in the same order they appear in the csv file

FieldBook crashes on launch

Hi -

I've been using FieldBook on a Lenovo Tab3 A8 all summer with no issues, but on updating to 4.0.1, it threw the error "Unique identifier has duplicates" (even though it doesn't) on attempting to import a field I'd been using. Now that it's on 4.0.2, it won't even launch - about a second after opening, I get the dialog "Unfortunately, FieldBook has stopped". Restarts and clearing caches have done nothing. I'm not sure if this is an issue with my tablet (as FieldBook works fine on my phone, although unfortunately all the data is on the tablet!) or something to do with the app.

Any advice would be greatly appreciated - thanks!
Nia

Edit to add - I've been working with two files for this project, each for a location trial. I've tried importing both frames to the app on my phone (also on 4.0.2) - just as on the tablet, one field works, while the other throws a "unique identifier contains duplicates" error.

Edit 2 - On another user profile on the tablet, FieldBook launches fine (although this means I don't have access to previously collected data). I have determined that the duplicates error seems to be because both fields have the same plot numbering (i.e. 1001-1240) and that's set as the unique ID. I can import either csv fine, provided it's the first to be imported, but the second will always throw the error.

Time series measurements

Add option to each trait to take measurements over multiple times. Combination of trait id and date. May need to treat all traits as trait id + date if this is allowed as an option after the original trait definition.

image

Option to link traits to specfic resource image files

This just came up in a field exercise where users had to scroll through many file names to load the correct resource image for a given trait. Many users wished the resource symbol could just automatically load the correct image. I'm thinking maybe this wouldn't be too hard to implement if the correct resource file could be identified in the trait definition?

License problems with librairies

Android's support libraries you're using are Apache-2.0 licensed, however plain GPLv2 is not compatible with this license, as pointed out on gnu.org/licenses/license-list.html#GPLIncompatibleLicenses:

Apache License, Version 2.0 (#apache2)

This is a free software license, compatible with version 3 of the GNU GPL.

Please note that this license is not compatible with GPL version 2, because it has some requirements that are not in that GPL version. These include certain patent termination and indemnification provisions. The patent termination provision is a good thing, which is why we recommend the Apache 2.0 license for substantial programs over other lax permissive licenses.

To include this app in F-Droid, we need to respect the licenses, so I think that switching to GNU GPL v3+ is a good idear, but only if you and all contributors to this source code are ok...
What do you think? We could do a PR with the new license, and ask other contributors directly IN the PR.

Related to #14

Automatic switch to next plot without confirmation

In the software you have to "commit" (or confirm) when you are finished with the scoring of a plot, this is done with the "next >" button. As some of our breeders only score one trait per plot, this means doubling the number of clicks needed.
Can you please insert a option to enable users to "jump to the next plot" after a user defined number of traits (or at least for a small and simple solution after one trait)?

Please contact me for further questions, and many thx for you and your great project!

NA Button Blocks backspace on LG G4

Not sure if this is a phone specific problem, but the NA button for entering numeric data blocks the backspace button. I have attached the picture for you to see.
I am running Fieldbook version 3.3.1, and android version 6.0.
Thanks,
Matt
screenshot_2017-07-12-12-47-44

primary/secondary order display fails if Import field is named 'ID'

When a file with the field 'ID' is imported and the ID is selected as the primary or secondary order, a completely unrelated (internal?) value is displayed in the field view. The import field is still accessible in the field dropdowns but it is labelled as ID:1.

Replicated this on multiple devices. Not a high priority bug, but it sure was confusing.

errors in export

Hi Rife,
My tablets have the most recent version of field book installed. I I uploaded my import files correctly with any warning for duplicates. However, on exporting an

Some bugs in three activities

I downloaded PhonoApps_hack_2019 brank and tried to arrange FieldEditorActivity, TraitEditorActivity, and MainActivity because of their classes have so many fields.
In the process, I found some bugs.

  1. In FieldEditorActivity etc. we make it to the background and leave it a few minutes (2 minutes in my environment), and make it to the foreground. Then Field Book crashes.
  2. When editing a trait in FieldEditorActivity not in English, the previous format is kept.
  3. In FieldEditorActivity, relationship among initial, minimum, and maximum values is not checked.
  4. MultiCategory trait does not work.
  5. In Category and MultiCategory, category duplication is not checked.
  6. In MainActivity, if the minimum or maximum value is set for the trait for which data is being entered, the data will not be saved.
  7. In MainActivity, when long pressing leftRange, Field Book crashes in HIDE_ENTRIES_WITH_DATA mode.

wrong value is exported for photo traits

It looks like photo traits are given the value recorded for the previous trait when they are exported in table format, rather than the photo's path. The database format has duplicate rows, the first with the same error, and the second with the correct path.

I ran into this issue on a Nexus 5X running fieldBook version 3.2.5, then saw it again when I switched to a Nexus 7 running 3.2.4. The import, .trt, and export files I was using are attached as a zip file.
export_error_files.zip

Assuming I'm not doing something wrong, would this be a simple fix? We'd like to use photo traits to start uploading pictures recorded with the fieldbook app to sgn databases.

Recording audio causes Fieldbook to crash

Someone reported to us that audio recordings made with the fieldbook app were being overwritten by each subsequent recording. When testing to see if this was still an issue in the latest release, pressing record made the entire application crash.
screenshot_2015-09-30-15-20-59
screenshot_2015-09-30-15-21-19
this is on a Nexus seven, running Android version 5.1.1 and fieldbook v3.0.0

Multiple images per trait

@trife We're working on adding image export via the brapi /images endpoints. I see that you can have multiple images per image trait. It seems like ideally you'd want to have different image traits for different plant structures or whatever you are imaging. Maybe this is the intent, but I could see where it could be misused by having an image trait and then taking a bunch of pictures of different things and then lose the context for analysis. As far as I'm aware, the image trait is the only one where you can have multiple observations. Is your expectation that the functionality remain the same and all of the images for a plot are exported via brapi?

missing data on export csv in database format

Some entries are missing when I export a fieldbook database to csv in database format. They are there in the database and turn up when I export in table format but I need the metadata from these entries.

fieldbook-csv.zip

Attaching the db files as well

fieldbook-db.zip

I tried this on another device (re-created the database by entering data through the app, not by import) and had the same issue: attaching this data too.

example2.zip

also adding the fields.csv and traits.trt files that I used to set these up in case the issue is related to these:

fields_traits.zip

edit: the traits file in the above zip had a trait with 13 categories which is over the limit mentioned in the manual so I dropped the last of these from the traits.trt file and repeated the above with the same issue occurring. On this run I also replaced the fields.csv file with one one where all fields were completed (not just the uid). Attaching these files too just in case you want to test, it may make more sense to use these ones:

updated-fields_traits.zip

Select or import a field message displayed on Fields page

Starting from a clean install you can go into the Fields page and return back to the main menu page by hitting the back button in the upper left. If you then go into the Fields page and load a field, either local or through brapi, then delete the field, you cannot go back to the main menu with the back button. Instead a message is displayed saying "Select or import a field."

It seems like this shouldn't be the case but if there's a particular reason for it, let me know.

Parser trait

In conjunction with #16 : add ability to parse data from barcode (e.g. @h:72 could correspond to a height of 72)

Photo trait fails silently if there are forward slashes in unique identifier field

I encountered this when a user included the date in the unique id. Looks like it's because photos are saved using the unique identifier in the filename, and then the forward slashes in the name are interpreted as separating non-existent directories.

Ideally people just wouldn't use special characters in the unique id, but it happens. When they do, it would be helpful to warn users and/or fail to record a photo with an informative error if possible.

Field Book AR Commands

Tentative list of commands:

  • Listen/Pause - turn on/off collect data
  • Louder/Softer - turn voice volume up or down
  • Value - prefix to reading in data
  • Not available - inserts NA as value
  • Clear data - clears all values for plot/trait
  • Next/Previous Entry - Moves to next/previous plot in experiment
  • Next/Previous Trait - Moves to next/previous trait in experiment

Multiple traits using pictures

Hello Trevor,

First of all, great app, we love it in our lab. Secondly, I appreciate you fixing the issue with including the trait name in the filename when taking pictures. The issue still remains where all pictures show up for photo traits, not specifically that one for the trait.
For example, you have 2 traits setup to take pictures, if you take a picture for trait 1, go to trait 2, the picture for trait 1 shows up in the thumbnail section and vice versa. Having them separated makes it easier when acquiring the pictures.

Thank you again for a great app!

ability to sum up multiple measurements for a single trait entry

For a number of field measurements, especially repetitive ones on a single plot, it would be helpful to have field book handling simple formula, such as sum of multiple values, or average of multiple values.
ex: root weight measuremnts, disease scoring on plant basis, etc...

Observations aren't deleted when trait is deleted

If you import traits, collect data, and then delete one of the traits, its data will not appear in the data collection page. But, if you then create a trait with the same name as the one deleted, or import the same trait again, that observation value will reappear in the collect data page for the plot it was collected on, under the trait that was deleted and recreated.

This is in conflict with the warning when a trait is deleted that associated data will be deleted. Bug is present in the master branch, and the google play version.

Scan barcode option as a trait

Requested by NIR specialist at NCSU. Would be helpful for him to be able to record length, weight, and similar measurements by scanning a barcode ruler
barcode_ruler

Modify data structures for perennial breeders

Perennials (e.g. tree breeders) are evaluating the same plants each year and so their unique ids are the same each year. We need to devise a way to archive/delete/distinguish past-year data when collecting data in a new field season.

perennial mockup

Seasons is probably the biggest concept to implement to make this happen. While most annual crops will only have a single season with their entries, perennial crops will have multiple seasons with the same unique IDs. First ideas for implementation would be an option within each individual field page to "Start a new season using these entries" with the result being either 1) an additional field in the fields list, 2) a page before the fields list where the user selects/sets the season, or 3) a page after selecting a study where the user selects the current season. User could skip this screen by setting a default seasonal choice.

For perennial studies, one of the biggest issues is the death of individuals, so some approach to view/mark individuals as removed from the experiment would be necessary. Potentially to the point of hiding them from the Collect screen. #909

Data export would be revamped with a choice to also export data from previous seasons. BrAPI does have a seasons parameter, but I don't know if seasons would need to be created on partner database systems or if that's something that could be done solely in Field Book.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.