Code Monkey home page Code Monkey logo

medaprep's People

Contributors

dylanrstewart avatar nkamrath avatar tcmetzger avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

medaprep's Issues

Summarize geographical coverage of samples within dataset

Reason or Problem

Visualize geographical coverage of a dataset

Proposal

Given a STAC catalog, expose the locations of each sample within the dataset.

Design:
A function within the summarize module that returns the bounding box extents of all the samples within the dataset.

Usage:

import geolt
cat = geolt.load_catalog(parameters)
gdf = geolt.summarize.locations(catalog=cat, metadata=True, bbox=[x1,y1,x2,y2])

returns a GeoDataFrame with bounding boxes of all the locations covered within the catalog as well as basic attributes (e.g., data type, source, etc.). This GeoDataFrame can be visualized easily by calling gdf.explore() or output to .shp file. This can be used to help with making sure a specific area of interest is covered in the dataset.

Summarize Module

Reason or Problem

Given a STAC catalog, we should be able to summarize all data within the catalog.

Proposal

This module will hold functions to list metadata, plot distributions of various features, detect anomalies within the datasets, produce visualizations of features, return bounding boxes of data coverage (see #1)

Design:
A new module summarize which houses many functions that operate directly from the STAC catalog.

Usage:

import geolt
cat = geolt.load_catalog(parameters)
gdf_summary = geolt.summarize(catalog=cat, distributions=True, patches=True, bbox=[x1,y1,x2,y2])

based on the bbox, return:

  • return histograms (distributions) of each feature within the raw data
  • explicitly show the range of each feature
  • log possible outliers and the source (specific raster or sample)
  • explicitly show unique values for CRS
  • return bounding boxes of all locations within bbox
  • return summary GeoDataFrame

Precommit Setup

Author of Proposal:

Reason or Problem

Setting up pre-commit would be nice to help keep everyone accountable for best practices

Proposal

Setup a pre commit config for running style checks on merges

create test raster function

Reason or Problem

We need to generate rasters on the fly for testing.

Proposal

create_test_raster will be a function to instantiate a test raster given desired parameters.

Design:
Within the tests module, a create_test_raster function will create an xarray DataArray given specified input parameters. Like in xarray-spatial

Usage:

test_raster_parameters = ()
data = create_test_raster(test_raster_parameters)

"skim" the dataset

Given xarray Dataset

geolt.skim function returns a pandas DataFrame containing:

  • list of variables
  • data types
  • boolean indicating NaNs for each variable
  • means
  • standard deviations
  • min
  • max

Load catalog module

Reason or Problem

We need to be able to load a STAC catalog given a set of parameters.

Proposal

load_catalog will be used to instantiate catalog(s) for downstream use.

Design:
A new module load_catalog, which houses functions to load a STAC catalog based on input parameters.

Usage:

first version:

cat = geolt.load_catalog(address, bbox)

simple use:

import geolt
cat = geolt.load_catalog(address, bbox, sensor_type, labeled)

advanced case:

import geolt
cat = geolt.load_catalog(address=list(addresses), bbox=list(bboxes), sensor_type=list(sensor_types), labeled=list(labeled))

returns STAC catalog(s) based on input arguments.

Setup geolt packaging

Author of Proposal:

Reason or Problem

We need to setup packaging for geolt

Proposal

Setup pyproject and setup files

Testin Clickup integration

This is just a test of the GH - ClickUp integration and can be closed/deleted!

Author of Proposal:

Reason or Problem

Describe what the need for this new feature is or what problem this new feature will address.

Proposal

Description of the new feature, how it will be used, what it will fix, etc.

Design:
Include description of this feature's design with enough detail for those who are familiar enough with this project to understand the feature and how it could be implmented. This section should get into specifics of how the feature will be designed and implemented.

Usage:
Detailed instructions for this feature's use.

Value: What value does the implementation of this new feature bring to geolt.

Stakeholders and Impacts

Who are the stakeholders in this update? Will you be implementing this new feature or will someone else? What is the potential impact of implementing this new feature? Specifically, what are some other components would be impacted?

Drawbacks

What are potential reasons why this feature should not be implemented?

Alternatives

Describe other solutions or features you have considered when coming up with this proposal.

Unresolved Questions

What are parts of this feature's design that are undecided.

Additional Notes or Context

Anything elses that is important to know for the implementation of this new feature.

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.