agpipeline / issues-and-projects Goto Github PK
View Code? Open in Web Editor NEWThis project forked from terraref/computing-pipeline
Repository for issues and projects
License: BSD 3-Clause "New" or "Revised" License
This project forked from terraref/computing-pipeline
Repository for issues and projects
License: BSD 3-Clause "New" or "Revised" License
Task to do
Set up and document an automated process for ingesting gantry data into CyVerse Data Store (IRODS)
Reason
Result
Steps to take
Two questions: can we make this so that it doesn't need left and right, if that makes sense; is there a way to make the left and right processing a loop (if both are needed here)?
Originally posted by @Chris-Schnaufer in #46
Task to do
Create technical documentation for template-lidar-plot and add it to the Organization web site
Reason
Documenting technical approach to repo, and what's provided by code is helpful for developers
Result
Technical documentation on the Lidar plot-level template is available
Note:
Task to do
Create the base image used as with the template-lidar-plot repo. This is similar to the rgb-plot-base-transformer folder, except for Lidar [try the following link if the previous one doesn't work and browse to the a branch that has the folder name: https://github.com/AgPipeline/drone-pipeline-transformer]
Reason
As part of making writing Lidar plot-level algorithms easier, a base image is needed to provide the context the algorithm runs in
Result
Ability to create new Docker images that can be used as the basis for plot-level Lidar algorithms
Steps to take
Note:
Task to do
Enable the download of data after check_continue() call returns with an indication that data can be downloaded.
Reason
For some environments it's better to delay downloading data until conditions are right. This issue is to enable that functionality
Result
The environment is able to download data when needed
Task to do
Redevelop Canopy Cover algorithm to use plot-level template
Reason
Reduces the specialized code that needs to be maintained
Result
Steps to take
Task to do
Write a proposal and plan to modify the transformer architecture
Reason
We want to balance reliability, reproducibility, and developer ergonomics of the pipeline transformers
Result
Steps to take
Task to do
Due to class requirements, the current canopy cover code was kept intact. Development happened in Chris Schnaufer's UA account. This needs to be merged back into AgPipeline organization.
Reason
Common source for calculating canopy cover
Result
AgPipeline canopy cover will be plot-level based and common with Drone Pipeline
Meet with Chris Martin and see about how to make an "admin" email account to be in charge of repos and the travis ci deployment for now as well as future proofing.
Jupyter Lab seems to be the future of jupyter and code notebooks so it may come up that everything we do currently in regular jupyter notebook should work with jupyter lab.
This shouldn't really be a problem since both use the same file, labs simply have more user facing functionality but it's good to keep this in mind.
Task to do
See #46 (comment)
Would it be possible to provide a small dataset that could be used to run this? It could be available on Google Drive under the account that Jorge setup in .tar format?
Reason
To allow easy testing of the pipeline.
Result
One or more sample data sets (different sizes) available from a URL (e.g. Google Drive or CyVerse DE public link)
USERID should probably get its value from the jx-args.json file so that it can be configured
Originally posted by @Chris-Schnaufer in #46
Task to do
Review transformers for typos and incorrect return type declarations
Reason
Remove any spelling errors and/or declaration issues
Result
Better code and READMEs
Task to do
Pre-production testing of process through final analysis step and store resulting data products
Reason
Ensure environment is setup to correctly process data and all data products are available. Allows follow on testing of plot-level analysis with Urbana generated data
Result
Able to access final analysis results to compare against current system. Able to compare intermediate data products against Urbana generated data.
I'll have to go over this stuff with Chris to figure out what needs figuring out.
Task to do
Change some tests for better coverage
Reason
Changes to help expand testing in the future and for better coverage
Result
test_entrypoint.py:
test_transformer.py:
Task to do
Port las2height and panicle_detection extractors to transformers (for Eric's class as well)
Reason
Giving higher precedence to these so they can be used by the class
Result
Dockerized transformers
Task to do
All data captured at the Maricopa field site is shipped to UA.
Reason
This not only is a necessary first step but also allows longer term testing of transfers before entering production mode, determination of space requirements, and other logistics.
Result
Data captures regularly are available for UA processing
Steps to take
Task to do
Create unit and functional tests for the non-docker-image and docker-image template
Reason
Preparation for integrating with TravisCI
Result
A fully tested extractor template
Review ply2las extractor and compare to work Max is doing
https://github.com/terraref/extractors-3dscanner/tree/master/ply2las
Task to do
Use template-lidar-plot template repo as the basis for the canopy height transformer
Reason
Much less code to maintain and standardization of plot-level transformers
Result
Updated canopy-height transformer
Task to do
To support python 3.7 change the links in /usr/bin for Python3 to point to Python3.7. Also add a link for python to run python 3
Reason
Python 3.7 has additional features that are useful for timestamp conversions and other benefits
Result
Scripts will run Python3.7 by default (and not 3.6)
Command to add to Dockerfile
Currently the process for extractor dev is here https://docs.terraref.org/developer-manual/developing-clowder-extractors
It includes a standard structure for documenting individual extractors in a readme - this can be a template in the extractor templates. There is lots of other stuff to review and delete, modify, and put somewhere.
Please update and incorporate into agpipeline docs / wiki etc.
Task to do
Integrate common-code library developed earlier into rgb-plot-base-transformer and lidar-plot-base-transformer repos and remove common code now provided by library
Reason
Less code to maintain
Result
Smaller code repo's to support
What do you think of putting the version number of the docker images to use in the jx-args.json file?
Originally posted by @Chris-Schnaufer in #46
Based on data transfer rates to date, it is clear that we don't need the 1 Gigabit line that we currently have and costs thousands / month. What is the minimum transfer rate from MAC to the internet that we need so that we can keep up with historical data generation rates?
Discuss w/ JD and Sean Stevens, then let Matt Rahr know requirements
The current behavior or issue
The code crashes if no tif file is specified on command line.
The steps taken to reproduce the behavior or issue, or specify a location where the steps were recorded
To reproduce, run the code with no TIF file specified on the command line
Expected behavior
An warning gets reports and the code doesn't crash
Add other supporting information that may be useful
https://github.com/AgPipeline/transformer-soilmask/blob/6ec902e26a2d0bc2b33a4ef8aeb2ae051b8bec86/transformer.py#L363
Completion criteria
The code doesn't crash
Task to do
The current code makes a call directly to terrautils to get the EPSG code. Moving this to the Transformer class allows the removal of a dependency and introduces flexibility benefiting the Drone pipeline through common code
Reason
Moving the functionality allows greater flexibility in providing a common code solution
Result
The dependent code doesn't directly call into terrautils allowing the Transformer class to better provide for its environment
Task to do
Move common code to a library that's published
Reason
Common sourcing plot-level code allows easier updating of dependent applications and Docker images
Result
A published library containing common code for plot-level algorithm bases
Steps to take
The current behavior or issue
Currently the agpipeline/cleanmetadata
and agpipeline/canopycover
steps call out to an external database (BETYdb at Illinois).
This will cause reliability, scalability and reproducibility problems.
Expected behavior
Every run of a pipeline (same code and input) should be deterministic and idempotent.
There can be a 'stateful' wrapper around a deterministic core which talks to external systems.
Completion criteria
(DRAFT SOLUTION)
See https://github.com/terraref/workflow-pilot for inspiration.
Task to do
Finish makeflow workflow for Drone Processing Pipeline
Reason
Migration from Clowder-only workflow
Result
Able to leverage the Cyverse environment
Steps to take
Task to do
After tests are built, integrate with TravisCI
Reason
Able to automatically test changes to extractor template
Result
Full integration with TravisCI and ability to make Pull Requests dependent upon successful CI runs
Take the drone pipeline template-rgb-plot code and develop ua-gantry-pipeline equivalent.
Tasks:
Need to coordinate with Sean Stevens at UA
[11/27/2019 - Chris S: I added 'with restricted access' to github repository line]
Need to archive data from the Storage Condo and Nearline tape at UIUC on GDrive using Globus transfer.
Coordinate with Sean Stevens to set up a plan. Allocation on Storage Condo officially ends in December (?) and tape in March of next year, so we need to transfer ~1PB of the zipped archived files by then.
Task to do
Create the code structure needed for, and create repo, for simple plot-level lidar algorithms
Reason
Provides simplified interface for implementing plot-level lidar transformers
Result
Steps to take
Task to do
Enable loading metadata to Clowder
Reason
Leverage Clowder search capabilities
Result
Metadata is available in Clowder
Steps to take
Task to do
Port the ply2las extractor to AgPipeline template
Reason
Test out the new template for extractors & provide an extractor for another sensor
Result
A docker container for the new extractor
Task to do
Add another variable to configuration.py that the generate_docker.py script can use as the base image
Reason
Currently there's only a command line parameter override that allows the base image to be changed when generating Dockerfile. This will allow a more permanent change that won't rely on command line parameters being remembered
Result
The variable will allow the override of the base image for Dockerfile, and still allow the command line override to take precedence
Steps to take
Task to do
Use the new transformer-lidar-plot repo as the basis for canopy height analysis
Reason
Result
Specialized image for calculating canopy height
Task to do
Create a Lidar plot-level template similar to template-rgb-plot template except dealing with Lidar data.
Reason
Enables plot-level Lidar algorithm developers to easily create working workflow components
Result
Have a repository that can be used as a template to create new workflow algorithms
Steps to take
Notes:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.