GithubHelp home page GithubHelp logo

grahamwaters / pyseas Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 323.02 MB

Using Computer Vision, ML, ESRGAN, and Image Processing to find the best sunsets across the ocean.

Python 17.50% Jupyter Notebook 82.49% Shell 0.02%
computer-vision esrgan machine-learning noaa-data earth-observation environmental-monitoring science weather

pyseas's Introduction

PySeas

main

PySeas

PySeas Purpose

The world's oceans are an untapped wealth of information that we are only barely beginning to understand. More of the ocean has been untouched by man than any other place on earth.

temp_2

Using PySeas as a enVita Artist Agent

Our first application of this project is to create art with the images from these buoys, and use them to generate a tapestry of the beautiful oceans.

Previously, our code was written as shown below, as an outline for a class structure. We will keep the class structure, but we will be using a different approach to the project.

class BuoyImage:
    def __init__(self, location, weather_conditions, image_data):
        self.location = location
        self.weather_conditions = weather_conditions
        self.image_data = image_data

    def get_images(self):
        # Retrieve the images from the NOAA API
        pass

    def stitch_images(self):
        # Stitch the images together
        pass

    def blend_images(self):
        # Blend the images over time
        pass

# Create a GAN to generate images
class GAN:
    def __init__(self, image_data):
        self.image_data = image_data

    def generate_images(self):
        # Generate images using a GAN
        pass

    def blend_images(self):
        # Blend the images over time
        pass

class PanoramicImage:
    def __init__(self, stitched_image_data, horizon_line, time_lapse_data):
        self.stitched_image_data = stitched_image_data
        self.horizon_line = horizon_line
        self.time_lapse_data = time_lapse_data

    def blend_images(self):
        # Blend the images over time
        pass

    def detect_horizon(self):
        # Detect the horizon line
        pass

    def create_time_lapse(self):
        # Create a time-lapse animation
        pass

class Website:
    def __init__(self, layout, content):
        self.layout = layout
        self.content = content

    def generate_html(self):
        # Generate the HTML for the website
        pass

    def generate_css(self):
        # Generate the CSS for the website
        pass

    def generate_javascript(self):
        # Generate the JavaScript for the website
        pass

Phase One: Sunrise over the Sea

Create sunsets over the sea using the images from the NOAA API.

Phase Two: The Raging of the Storm

Find images of storms and hurricanes, and create a time-lapse of the storm.

PySeas

PySeas is a Python project aimed at analyzing buoy data. The project is structured into several directories, each serving a specific purpose in the data analysis pipeline.

Directories

src: This directory contains the main scripts of the project. It includes phase_one.py and phase_two.py, which perform initial data loading, cleaning, and visualization.

notebooks: This directory contains Jupyter notebooks that demonstrate the usage of the project modules. For example, PyBuoy.ipynb shows how to use the PyBuoy module to fetch and analyze buoy data.

utils: This directory typically contains utility scripts used across the project. These can include data processing functions, helper functions, and other reusable code snippets.

How to Run the Program

  • Clone the repository to your local machine.
  • Navigate to the project directory.
  • Install the required dependencies listed in the requirements.txt file. You can do this by running pip install -r requirements.txt in your terminal.
  • Run the scripts in the src directory. For example, you can run python src/phase_one.py to execute the first phase of the data analysis pipeline.

License

PySeas is licensed under the MIT License. See LICENSE for more information.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for more information.

Acknowledgements

The Sunset Tapestry

The Tapestry of the Ocean's Life

pyseas's People

Contributors

grahamwaters avatar

Stargazers

 avatar

Watchers

 avatar  avatar

pyseas's Issues

create matrix of buoy ids

create a matrix 36 x 36 containing buoy ids

# https://www.ndbc.noaa.gov/buoycam.php?station=xxxxx
# this gets most recent photo from the buoy with the code xxxxx
# https://tidesandcurrents.noaa.gov/api-helper/url-generator.html
#https://www.ndbc.noaa.gov/rss/ndbc_obs_search.php?lat=40N&lon=73W&radius=100

#https://www.ndbc.noaa.gov/data/realtime2/ (station id) .swdir

#https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?begin_date=20130808 15:00&end_date=20130808 15:06&station=8454000&product=water_temperature&units=english&time_zone=gmt&application=ports_screen&format=json

stitch images

Use cv2 to stitch images together in each batch of panels. This presents a challenge due to the imbalanced horizon lines.

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.