All Projects → typpo → Asterank

typpo / Asterank

Licence: mit
asteroid database, interactive visualizations, and discovery tools

Projects that are alternatives of or similar to Asterank

Trois
✨ ThreeJS + VueJS 3 + ViteJS ⚡
Stars: ✭ 648 (+123.45%)
Mutual labels:  webgl, three-js
Three.js Pathtracing Renderer
Real-time PathTracing with global illumination and progressive rendering, all on top of the Three.js WebGL framework. Click here for Live Demo: https://erichlof.github.io/THREE.js-PathTracing-Renderer/Geometry_Showcase.html
Stars: ✭ 872 (+200.69%)
Mutual labels:  webgl, three-js
Roygbiv
A 3D engine for the Web
Stars: ✭ 499 (+72.07%)
Mutual labels:  webgl, three-js
Vue Gl
Vue.js components rendering 3D WebGL graphics reactively with three.js
Stars: ✭ 434 (+49.66%)
Mutual labels:  webgl, three-js
Threejs Sandbox
Set of experiments and extensions to THREE.js.
Stars: ✭ 163 (-43.79%)
Mutual labels:  webgl, three-js
Threejs Webpack Es6 Boilerplate
A basic boilerplate for a Three.js project compiled with Webpack and transpiled via Babel to enable using ES6 syntax.
Stars: ✭ 267 (-7.93%)
Mutual labels:  webgl, three-js
Postprocessing
A post processing library that provides the means to implement image filter effects for three.js.
Stars: ✭ 830 (+186.21%)
Mutual labels:  webgl, three-js
Solarsys
Realistic Solar System simulation with three.js
Stars: ✭ 49 (-83.1%)
Mutual labels:  webgl, three-js
Patches
Patches is a visual programming editor for building WebVR and WebGL experiences.
Stars: ✭ 164 (-43.45%)
Mutual labels:  webgl, three-js
Cezanne
This is a project showing varied shading algorithms with a simple apple.
Stars: ✭ 85 (-70.69%)
Mutual labels:  webgl, three-js
Livecodelab
a web based livecoding environment
Stars: ✭ 276 (-4.83%)
Mutual labels:  webgl, three-js
Particulate Medusae
Soft body jellyfish simulation.
Stars: ✭ 239 (-17.59%)
Mutual labels:  webgl, three-js
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (-4.14%)
Mutual labels:  webgl, three-js
Maps Pair Programming
Fastest marker render +500k markers
Stars: ✭ 280 (-3.45%)
Mutual labels:  webgl
Litescene.js
A WebGL 3D Engine library with component-based node hierarchy. Used by WebGLStudio
Stars: ✭ 268 (-7.59%)
Mutual labels:  webgl
Leaflet.pixioverlay
Bring Pixi.js power to Leaflet maps
Stars: ✭ 264 (-8.97%)
Mutual labels:  webgl
Easycanvas
数据驱动、2D&3D、渐进式Canvas库,支持JSX,配备Chrome调试插件,支持微信小游戏、物理引擎等。
Stars: ✭ 281 (-3.1%)
Mutual labels:  webgl
Webgl Fundamentals
WebGL lessons that start with the basics
Stars: ✭ 3,315 (+1043.1%)
Mutual labels:  webgl
Sessions
A series of creative coding sessions
Stars: ✭ 262 (-9.66%)
Mutual labels:  webgl
Dino3d
🦖 Google Chrome T-Rex Run! in 3D (WebGL experiment)
Stars: ✭ 263 (-9.31%)
Mutual labels:  webgl

Asterank

Asterank (www.asterank.com) is a space development platform. It supports calculations over the entire set of known asteroids and provides APIs and visualizations for many data sources, including NASA/JPL Horizons, NASA SkyMorph/NEAT and SDSS sky surveys, the Kepler Project, and the Minor Planet Center.

The main purpose of Asterank is to make space-related data readily accessible to the public. Another goal of the site is to educate and inspire by demonstrating the importance of asteroid discovery and exploration. Using publicly available data and scientific papers, the project evaluates the economic prospects of mining nearly 600,000 cataloged asteroids. In addition, Asterank is the basis of a crowdsourced asteroid discovery citizen science initiative.

Asterank has been featured by BBC News, Popular Science, and other media.

The basics

Asterank is configured to run with virtualenv. Virtual environment setup:

  1. Install python and python virtualenv dependencies, eg. on ubuntu:
```
sudo apt-get install python python-virtualenv
```
  1. Enter the Asterank directory. Then, create the virtual environment and install packages:
```
virtualenv  venv
source venv/bin/activate
pip install -r requirements.txt
```
  1. The web app requires mongodb. sudo apt-get install mongodb.

  2. The image pipeline requires some paths in /var/asterank. Set them up like so:

    mkdir -p /var/asterank/neat_binary_store
    mkdir -p /var/asterank/neat_binary_cache
    mkdir -p /var/asterank/skymorph_store
    mkdir -p /var/asterank/skymorph_cache
    
  3. The main app is a Flask web application. You should be able to run it now.

```
./app.py
```

You'll quickly notice that there's no data. Continue reading for instructions on how to import data.

The data pipeline

The data/pipeline folder contains the scrapers used to aggregate and build the database and associated APIs.

SBDB setup

The SBDB is too large to include in this repo, and downloading it takes some time. Download http://www.ianww.com/latest_fulldb.csv to data/pipeline/static/, or produce your own database by going to http://ssd.jpl.nasa.gov/sbdb_query.cgi and downloading all attributes for all objects in CSV format.

Running the pipeline

Pipeline tasks are folders in the pipeline/run directory and are executed in increasing lexical order. Tasks with the same numeric prefix may be run in parallel.

To execute the pipeline, simply run ./pipeline. To execute a specific task, run eg. ./pipeline 00_mytask, where 00_mytask matches a directory. In order to run Asterank, you at least need to run steps 00_deltav and 10_sbdb.

The sky survey/discovery process

NEAT

Sky survey data is scraped from NEAT. The process is generally three steps per asteroid:

  1. Collect asteroid observations and group them into nearby observations (within ~30 min of one another).

  2. Fetch images corresponding to each image group.

  3. Compute/extract astrometry from the image. We use the open-source library available at astrometry.net.

Note that sky survey data depends on redis: sudo apt-get install redis-server.

All this happens in v2/stackblink. In data/astrometry there are scripts available to help you bootstrap your astrometry setup.

SDSS

SDSS setup:

  1. cd sdss
  2. cat stripe_82 | ./load_data.sh
  3. ./process_images.sh

How to collaborate

  1. Fork this repository
  2. Make changes
  3. Create a pull request on github

If you think you might like to contribute, feel free to contact me! ianw_asterank at ianww.com.

Notes and Todo

See github issues.

License (MIT)

Copyright (C) 2012 by Ian Webster (asterank.com)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].