This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code prog...
Public Lab is an open community which collaboratively develops accessible, open source, Do-It-Yourself technologies for investigating local environmental health and justice issues.
220 | warren |
February 17, 2016 14:42
| over 8 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see Our main repositories can be found here: https://github.com/publiclab Important -- to learn how to contribute to Public Lab software, see: http://publiclab.org/wiki/contributing-to-public-lab-software Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". Here is the template we used last year. Ideas listRich Profile Pages on PublicLab.orgPart of: PublicLab.org Description: A major build-out of profile pages on PublicLab.org, with tagging, geographic data, barnstars and research history browsing, sorting on /people, and lots of other features relevant to Community Development in Public Lab List: plots-dev@googlegroups.com Links:
Prerequisites: Ruby on Rails Difficulty level: hard Mentor: Jeff Warren (jeff@publiclab.org), Liz Barry (liz@publiclab.org) Browser-based Arduino sensor data transfer using WebRTC and headphone jackDescription: A way to read data off of sensors from a website, using only an audio cable, building on modem.js and SoftModem (see links). Dramatically eases connecting to a sensor using a laptop or smartphone directly from a web page, no software installation necessary. List: plots-dev@googlegroups.com Links:
Prerequisites: JavaScript, Arduino Difficulty level: medium/hard Mentor: Jeff Warren (jeff@publiclab.org) Distortable image ordering in MapKnitterPart of: MapKnitter, Leaflet.DistortableImage Description: Create simple methods for ordering images in Leaflet.DistortableImage, the heart of MapKnitter, and saving these asynchronously in MapKnitter. Modification of export system to accept an List: plots-dev@googlegroups.com Links:
Prerequisites: Ruby on Rails, JavaScript/jQuery Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Queue-based MapKnitter export systemPart of: MapKnitter Description: De-couple MapKnitter main app from GDAL-based export queue to enable better scaling of exports and fewer interruptions of primary MapKnitter.org service during large exports. List: plots-dev@googlegroups.com Links:
Prerequisites: Ruby on Rails, GDAL, asynchronous queue-based server architecture, Amazon S3 Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Commenting on specific wavelengths in Spectral WorkbenchPart of: Spectral Workbench Description: Enable comments on specific wavelengths which highlight those wavelengths in the displayed spectrum graph. List: plots-dev@googlegroups.com Links: https://github.com/publiclab/spectral-workbench/issues/45 Prerequisites: JavaScript, Ruby on Rails, possibly d3.js Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Expanded Q&A system for PublicLab.orgPart of: PulblicLab.org Description: This is a critical step for moving from a separated email and website structure towards clearly answered questions prominently featured as the knowledge base of Public Lab. This project features a posting form, styling for presentation, "answering" feature, more outreach display for recruiting, integration with Rich Profiles to feature "helpful" people, displays of "common questions". List: plots-dev@googlegroups.com Links:
Prerequisites: Ruby on Rails, JavaScript/jQuery Difficulty level: easy Mentor: Liz (or someone else) |
Revert | |
219 | warren |
February 17, 2016 14:38
| over 8 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see Our main repositories can be found here: https://github.com/publiclab Important -- to learn how to contribute to Public Lab software, see: http://publiclab.org/wiki/contributing-to-public-lab-software Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". Here is the template we used last year. Ideas listRich Profile Pages on PublicLab.orgPart of: PublicLab.org Description: A major build-out of profile pages on PublicLab.org, with tagging, geographic data, barnstars and research history browsing, sorting on /people, and lots of other features relevant to Community Development in Public Lab List: plots-dev@googlegroups.com Links:
Prerequisites: Ruby on Rails Difficulty level: hard Mentor: Jeff Warren (jeff@publiclab.org), Liz Barry (liz@publiclab.org) Browser-based Arduino sensor data transfer using WebRTC and headphone jackDescription: A way to read data off of sensors from a website, using only an audio cable, building on modem.js and SoftModem (see links). Dramatically eases connecting to a sensor using a laptop or smartphone directly from a web page, no software installation necessary. List: plots-dev Links:
Prerequisites: JavaScript, Arduino Difficulty level: medium/hard Mentor: Jeff Warren (jeff@publiclab.org) Distortable image ordering in MapKnitterPart of: MapKnitter, Leaflet.DistortableImage Description: Create simple methods for ordering images in Leaflet.DistortableImage, the heart of MapKnitter, and saving these asynchronously in MapKnitter. Modification of export system to accept an List: plots-dev, grassrootsmapping Links:
Prerequisites: Ruby on Rails, JavaScript/jQuery Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Queue-based MapKnitter export systemPart of: MapKnitter Description: De-couple MapKnitter main app from GDAL-based export queue to enable better scaling of exports and fewer interruptions of primary MapKnitter.org service during large exports. List: plots-spectrometry Links:
Prerequisites: Ruby on Rails, GDAL, asynchronous queue-based server architecture, Amazon S3 Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Commenting on specific wavelengths in Spectral WorkbenchPart of: Spectral Workbench Description: Enable comments on specific wavelengths which highlight those wavelengths in the displayed spectrum graph. List: plots-spectrometry Links: https://github.com/publiclab/spectral-workbench/issues/45 Prerequisites: JavaScript, Ruby on Rails, possibly d3.js Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Expanded Q&A system for PublicLab.orgPart of: PulblicLab.org Description: This is a critical step for moving from a separated email and website structure towards clearly answered questions prominently featured as the knowledge base of Public Lab. This project features a posting form, styling for presentation, "answering" feature, more outreach display for recruiting, integration with Rich Profiles to feature "helpful" people, displays of "common questions". List: plots-dev Links:
Prerequisites: Ruby on Rails, JavaScript/jQuery Difficulty level: easy Mentor: Liz (or someone else) |
Revert | |
218 | warren |
February 17, 2016 14:35
| over 8 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see Our main repositories can be found here: https://github.com/publiclab Important -- to learn how to contribute to Public Lab software, see: http://publiclab.org/wiki/contributing-to-public-lab-software Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". Here is the template we used last year. Ideas listRich Profile Pages on PublicLab.orgPart of: PublicLab.org Description: A major build-out of profile pages on PublicLab.org, with tagging, geographic data, barnstars and research history browsing, sorting on /people, and lots of other features relevant to Community Development in Public Lab List: plots-dev@googlegroups.com Links:
Prerequisites: Ruby on Rails Difficulty level: hard Mentor: Jeff Warren (jeff@publiclab.org), Liz Barry (liz@publiclab.org) Browser-based Arduino sensor data transfer using WebRTC and headphone jackDescription: A way to read data off of sensors from a website, using only an audio cable, building on modem.js and SoftModem (see links). Dramatically eases connecting to a sensor using a laptop or smartphone directly from a web page, no software installation necessary. List: plots-dev Links:
Prerequisites: JavaScript, Arduino Difficulty level: medium/hard Mentor: Jeff Warren (jeff@publiclab.org) Distortable image ordering in MapKnitterPart of: MapKnitter, Leaflet.DistortableImage
Description: Create simple methods for ordering images in Leaflet.DistortableImage, the heart of MapKnitter, and saving these asynchronously in MapKnitter. Modification of export system to accept an
Prerequisites: Ruby on Rails, JavaScript/jQuery Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Queue-based MapKnitter export systemPart of: MapKnitter Description: De-couple MapKnitter main app from GDAL-based export queue to enable better scaling of exports and fewer interruptions of primary MapKnitter.org service during large exports. List: plots-spectrometry Links: https://github.com/publiclab/mapknitter/issues, https://github.com/publiclab/mapknitter/blob/master/app/models/map.rb#L200, https://github.com/publiclab/mapknitter/blob/master/app/models/warpable.rb#L152 Prerequisites: Ruby on Rails, GDAL, asynchronous queue-based server architecture, Amazon S3 Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Commenting on specific wavelengths in Spectral WorkbenchPart of: Spectral Workbench Description: Enable comments on specific wavelengths which highlight those wavelengths in the displayed spectrum graph. List: plots-spectrometry Links: https://github.com/publiclab/spectral-workbench/issues/45 Prerequisites: JavaScript, Ruby on Rails, possibly d3.js Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Expanded Q&A system for PublicLab.orgPart of: PulblicLab.org Description: This is a critical step for moving from a separated email and website structure towards clearly answered questions prominently featured as the knowledge base of Public Lab. This project features a posting form, styling for presentation, "answering" feature, more outreach display for recruiting, integration with Rich Profiles to feature "helpful" people, displays of "common questions". List: plots-dev Links:
Prerequisites: Ruby on Rails, JavaScript/jQuery Difficulty level: easy Mentor: Liz (or someone else) |
Revert | |
217 | warren |
February 17, 2016 00:24
| over 8 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see Our main repositories can be found here: https://github.com/publiclab Important -- to learn how to contribute to Public Lab software, see: http://publiclab.org/wiki/contributing-to-public-lab-software Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". Here is the template we used last year. Ideas listStarting on the talk page |
Revert | |
216 | warren |
February 18, 2015 21:14
| over 9 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see Our main repositories can be found here: https://github.com/publiclab Important -- to learn how to contribute to Public Lab software, see: http://publiclab.org/wiki/contributing-to-public-lab-software Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". Here is the template we used last year. High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral WorkbenchWeb-based tools for collecting, analyzing, and sharing data from a DIY spectrometer - Issue tracker: https://github.com/publiclab/spectral-workbench
MapKnitterUpload your own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print - Issue tracker: https://github.com/publiclab/mapknitter
InfragramA web application for producing NDVI and other composites from DIY multispectral cameras - Issue tracker: https://github.com/p-v-o-s/infragram-js
PublicLab.orgThe PublicLab.org website - a collaborative research sharing platform and wiki - Issue tracker: https://github.com/publiclab/plots2
MapMillA Hot-or-Not styled crowdsourcing engine for sorting raw map imagery - Issue tracker: https://github.com/publiclab/mapmill |
Revert | |
215 | warren |
February 18, 2015 21:08
| over 9 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see Our main repositories can be found here: https://github.com/publiclab Important -- to learn how to contribute to Public Lab software, see: http://publiclab.org/wiki/contributing-to-public-lab-software Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". Here is the template we used last year. High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
PublicLab.org |
Revert | |
214 | warren |
April 16, 2014 19:15
| about 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". Here is the template we used last year. High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API Note: Much work has already been done on this, in two partially finished functions; $W.detect_peak(), found here, and $W.get_peak_pattern(), found here. Peak detection itself works all right, but the "peak pattern" method for matching it to a known reference needs a new approach. List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. This project is largely technically complete, and needs mostly interface design and integration work. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Spectral Workbench Macros and APIDescription: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Revised Image to Spectrum converterDescription: Modularization and cleanup of the system for extracting quantitative spectral data from a line of pixels in an image from a spectrometer. Development of user interface for changing this extraction, using the format (x1,y1,x2,y2) to describe a cross section of the image to extract. Auto-detection of cleanest/best line to extract. List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Expanded offline version of SpectralWorkbenchDescription: The existing offline version of spectralworkbench.org, based on an HTML5 offline manifest, does not allow saving or calibrated data. This project would involve using HTML5 localStorage to store the image and metadata for offline-captured spectra for later upload. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: iOS version of SpectralWorkbenchDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. A great deal of work has been done by Diego Rojas: https://github.com/inductionStep/spectralWorkbench_IOS Note: the relevant HTML code in Diego's project is here: https://github.com/inductionStep/spectralWorkbench_IOS/blob/master/spectralWorkbench/spectralWorkbench/video.html We can substitute the necessary files from https://github.com/jywarren/spectral-workbench/tree/master/webserver/app/views/capture/ which are also listed in the offline manifest: https://github.com/jywarren/spectral-workbench/tree/master/webserver/public/index.manifest Is there a way to have it use the most recent version directly from https://spectralworkbench.org/capture ? Perhaps simply display a webview of that address, which will offline-cache? List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116, https://github.com/inductionStep/spectralWorkbench_IOS Prerequisites: iOS Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsAdd an annotations layer to MapknitterDescription: Use Leaflet to allow Mapknitter users to add layer of scale-locked polygons, symbols and text at a variety of angles to their maps. List: grassrootsmapping, publiclaboratory Links: http://publiclab.org/notes/mathew/03-14-2014/mapknitter-annotations-gsoc Prerequisites: Javascript, Ruby/Rails Difficulty level: medium Mentor: Mathew Lippincott (mathew@publiclab.org), Jeff Warren (jeff@publiclab.org) MapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Sky Camera enhancementsDescription: Sky Camera is an Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos. We'd like to improve it with any of the following:
List: grassrootsmapping Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Image classification functions in Infragram.orgGoal: identify wetlands species and/or oil contamination with image classification methods List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js, http://github.com/jywarren/clashifier
Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Node.js, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Commenting, tagging, and more social features for Infragram.orgGoal: Connecting Infragram.org via OpenID to PublicLab.org will allow for more peer support via image comments, annotations, and tags. List: plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js,
Prerequisites: Node.js, JavaScript, maybe Bootstrap Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) |
Revert | |
213 | Sreyanth |
March 16, 2014 18:31
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". Here is the template we used last year. High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API Note: Much work has already been done on this, in two partially finished functions; $W.detect_peak(), found here, and $W.get_peak_pattern(), found here. Peak detection itself works all right, but the "peak pattern" method for matching it to a known reference needs a new approach. List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. This project is largely technically complete, and needs mostly interface design and integration work. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Spectral Workbench Macros and APIDescription: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Revised Image to Spectrum converterDescription: Modularization and cleanup of the system for extracting quantitative spectral data from a line of pixels in an image from a spectrometer. Development of user interface for changing this extraction, using the format (x1,y1,x2,y2) to describe a cross section of the image to extract. Auto-detection of cleanest/best line to extract. List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Expanded offline version of SpectralWorkbenchDescription: The existing offline version of spectralworkbench.org, based on an HTML5 offline manifest, does not allow saving or calibrated data. This project would involve using HTML5 localStorage to store the image and metadata for offline-captured spectra for later upload. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: iOS version of SpectralWorkbenchDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. A great deal of work has been done by Diego Rojas: https://github.com/inductionStep/spectralWorkbench_IOS Note: the relevant HTML code in Diego's project is here: https://github.com/inductionStep/spectralWorkbench_IOS/blob/master/spectralWorkbench/spectralWorkbench/video.html We can substitute the necessary files from https://github.com/jywarren/spectral-workbench/tree/master/webserver/app/views/capture/ which are also listed in the offline manifest: https://github.com/jywarren/spectral-workbench/tree/master/webserver/public/index.manifest Is there a way to have it use the most recent version directly from https://spectralworkbench.org/capture ? Perhaps simply display a webview of that address, which will offline-cache? List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116, https://github.com/inductionStep/spectralWorkbench_IOS Prerequisites: iOS Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsAdd an annotations layer to MapknitterDescription: Use Leaflet to allow Mapknitter users to add layer of scale-locked polygons, symbols and text at a variety of angles to their maps. List: grassrootsmapping, publiclaboratory Links: http://publiclab.org/notes/mathew/03-14-2014/mapknitter-annotations-gsoc Prerequisites: Javascript, Ruby/Rails Difficulty level: medium Mentor: Mathew Lippincott (mathew@publiclab.org), Jeff Warren (jeff@publiclab.org) MapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Sky Camera enhancementsDescription: Sky Camera is an Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos. We'd like to improve it with any of the following:
List: grassrootsmapping Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Image classification functions in Infragram.orgGoal: identify wetlands species and/or oil contamination with image classification methods List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js, http://github.com/jywarren/clashifier
Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Node.js, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Commenting, tagging, and more social features for Infragram.orgGoal: Connecting Infragram.org via OpenID to PublicLab.org will allow for more peer support via image comments, annotations, and tags. List: plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js,
Prerequisites: Node.js, JavaScript, maybe Bootstrap Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) |
Revert | |
212 | Sreyanth |
March 16, 2014 18:30
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". You can find the template we used last year. High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API Note: Much work has already been done on this, in two partially finished functions; $W.detect_peak(), found here, and $W.get_peak_pattern(), found here. Peak detection itself works all right, but the "peak pattern" method for matching it to a known reference needs a new approach. List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. This project is largely technically complete, and needs mostly interface design and integration work. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Spectral Workbench Macros and APIDescription: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Revised Image to Spectrum converterDescription: Modularization and cleanup of the system for extracting quantitative spectral data from a line of pixels in an image from a spectrometer. Development of user interface for changing this extraction, using the format (x1,y1,x2,y2) to describe a cross section of the image to extract. Auto-detection of cleanest/best line to extract. List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Expanded offline version of SpectralWorkbenchDescription: The existing offline version of spectralworkbench.org, based on an HTML5 offline manifest, does not allow saving or calibrated data. This project would involve using HTML5 localStorage to store the image and metadata for offline-captured spectra for later upload. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: iOS version of SpectralWorkbenchDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. A great deal of work has been done by Diego Rojas: https://github.com/inductionStep/spectralWorkbench_IOS Note: the relevant HTML code in Diego's project is here: https://github.com/inductionStep/spectralWorkbench_IOS/blob/master/spectralWorkbench/spectralWorkbench/video.html We can substitute the necessary files from https://github.com/jywarren/spectral-workbench/tree/master/webserver/app/views/capture/ which are also listed in the offline manifest: https://github.com/jywarren/spectral-workbench/tree/master/webserver/public/index.manifest Is there a way to have it use the most recent version directly from https://spectralworkbench.org/capture ? Perhaps simply display a webview of that address, which will offline-cache? List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116, https://github.com/inductionStep/spectralWorkbench_IOS Prerequisites: iOS Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsAdd an annotations layer to MapknitterDescription: Use Leaflet to allow Mapknitter users to add layer of scale-locked polygons, symbols and text at a variety of angles to their maps. List: grassrootsmapping, publiclaboratory Links: http://publiclab.org/notes/mathew/03-14-2014/mapknitter-annotations-gsoc Prerequisites: Javascript, Ruby/Rails Difficulty level: medium Mentor: Mathew Lippincott (mathew@publiclab.org), Jeff Warren (jeff@publiclab.org) MapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Sky Camera enhancementsDescription: Sky Camera is an Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos. We'd like to improve it with any of the following:
List: grassrootsmapping Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Image classification functions in Infragram.orgGoal: identify wetlands species and/or oil contamination with image classification methods List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js, http://github.com/jywarren/clashifier
Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Node.js, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Commenting, tagging, and more social features for Infragram.orgGoal: Connecting Infragram.org via OpenID to PublicLab.org will allow for more peer support via image comments, annotations, and tags. List: plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js,
Prerequisites: Node.js, JavaScript, maybe Bootstrap Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) |
Revert | |
211 | mathew |
March 14, 2014 19:54
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API Note: Much work has already been done on this, in two partially finished functions; $W.detect_peak(), found here, and $W.get_peak_pattern(), found here. Peak detection itself works all right, but the "peak pattern" method for matching it to a known reference needs a new approach. List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. This project is largely technically complete, and needs mostly interface design and integration work. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Spectral Workbench Macros and APIDescription: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Revised Image to Spectrum converterDescription: Modularization and cleanup of the system for extracting quantitative spectral data from a line of pixels in an image from a spectrometer. Development of user interface for changing this extraction, using the format (x1,y1,x2,y2) to describe a cross section of the image to extract. Auto-detection of cleanest/best line to extract. List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Expanded offline version of SpectralWorkbenchDescription: The existing offline version of spectralworkbench.org, based on an HTML5 offline manifest, does not allow saving or calibrated data. This project would involve using HTML5 localStorage to store the image and metadata for offline-captured spectra for later upload. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: iOS version of SpectralWorkbenchDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. A great deal of work has been done by Diego Rojas: https://github.com/inductionStep/spectralWorkbench_IOS Note: the relevant HTML code in Diego's project is here: https://github.com/inductionStep/spectralWorkbench_IOS/blob/master/spectralWorkbench/spectralWorkbench/video.html We can substitute the necessary files from https://github.com/jywarren/spectral-workbench/tree/master/webserver/app/views/capture/ which are also listed in the offline manifest: https://github.com/jywarren/spectral-workbench/tree/master/webserver/public/index.manifest Is there a way to have it use the most recent version directly from https://spectralworkbench.org/capture ? Perhaps simply display a webview of that address, which will offline-cache? List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116, https://github.com/inductionStep/spectralWorkbench_IOS Prerequisites: iOS Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsAdd an annotations layer to MapknitterDescription: Use Leaflet to allow Mapknitter users to add layer of scale-locked polygons, symbols and text at a variety of angles to their maps. List: grassrootsmapping, publiclaboratory Links: http://publiclab.org/notes/mathew/03-14-2014/mapknitter-annotations-gsoc Prerequisites: Javascript, Ruby/Rails Difficulty level: medium Mentor: Mathew Lippincott (mathew@publiclab.org), Jeff Warren (jeff@publiclab.org) MapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Sky Camera enhancementsDescription: Sky Camera is an Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos. We'd like to improve it with any of the following:
List: grassrootsmapping Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Image classification functions in Infragram.orgGoal: identify wetlands species and/or oil contamination with image classification methods List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js, http://github.com/jywarren/clashifier
Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Node.js, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Commenting, tagging, and more social features for Infragram.orgGoal: Connecting Infragram.org via OpenID to PublicLab.org will allow for more peer support via image comments, annotations, and tags. List: plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js,
Prerequisites: Node.js, JavaScript, maybe Bootstrap Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) |
Revert | |
210 | mathew |
March 14, 2014 19:49
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API Note: Much work has already been done on this, in two partially finished functions; $W.detect_peak(), found here, and $W.get_peak_pattern(), found here. Peak detection itself works all right, but the "peak pattern" method for matching it to a known reference needs a new approach. List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. This project is largely technically complete, and needs mostly interface design and integration work. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Spectral Workbench Macros and APIDescription: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Revised Image to Spectrum converterDescription: Modularization and cleanup of the system for extracting quantitative spectral data from a line of pixels in an image from a spectrometer. Development of user interface for changing this extraction, using the format (x1,y1,x2,y2) to describe a cross section of the image to extract. Auto-detection of cleanest/best line to extract. List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Expanded offline version of SpectralWorkbenchDescription: The existing offline version of spectralworkbench.org, based on an HTML5 offline manifest, does not allow saving or calibrated data. This project would involve using HTML5 localStorage to store the image and metadata for offline-captured spectra for later upload. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: iOS version of SpectralWorkbenchDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. A great deal of work has been done by Diego Rojas: https://github.com/inductionStep/spectralWorkbench_IOS Note: the relevant HTML code in Diego's project is here: https://github.com/inductionStep/spectralWorkbench_IOS/blob/master/spectralWorkbench/spectralWorkbench/video.html We can substitute the necessary files from https://github.com/jywarren/spectral-workbench/tree/master/webserver/app/views/capture/ which are also listed in the offline manifest: https://github.com/jywarren/spectral-workbench/tree/master/webserver/public/index.manifest Is there a way to have it use the most recent version directly from https://spectralworkbench.org/capture ? Perhaps simply display a webview of that address, which will offline-cache? List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116, https://github.com/inductionStep/spectralWorkbench_IOS Prerequisites: iOS Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsAdd an annotations layer to MapknitterDescription: Use Leaflet to allow Mapknitter users to add layer of scale-locked polygons, symbols and text at a variety of angles to their maps. List: grassrootsmapping, publiclaboratory Links: http://publiclab.org/notes/mathew/03-14-2014/mapknitter-annotations-gsoc Prerequisites: Javascript Difficulty level: medium Mentor: Mathew Lippincott (mathew@publiclab.org), Jeff Warren (jeff@publiclab.org) MapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Sky Camera enhancementsDescription: Sky Camera is an Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos. We'd like to improve it with any of the following:
List: grassrootsmapping Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Image classification functions in Infragram.orgGoal: identify wetlands species and/or oil contamination with image classification methods List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js, http://github.com/jywarren/clashifier
Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Node.js, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Commenting, tagging, and more social features for Infragram.orgGoal: Connecting Infragram.org via OpenID to PublicLab.org will allow for more peer support via image comments, annotations, and tags. List: plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js,
Prerequisites: Node.js, JavaScript, maybe Bootstrap Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) |
Revert | |
209 | mathew |
March 14, 2014 19:24
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API Note: Much work has already been done on this, in two partially finished functions; $W.detect_peak(), found here, and $W.get_peak_pattern(), found here. Peak detection itself works all right, but the "peak pattern" method for matching it to a known reference needs a new approach. List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. This project is largely technically complete, and needs mostly interface design and integration work. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Spectral Workbench Macros and APIDescription: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Revised Image to Spectrum converterDescription: Modularization and cleanup of the system for extracting quantitative spectral data from a line of pixels in an image from a spectrometer. Development of user interface for changing this extraction, using the format (x1,y1,x2,y2) to describe a cross section of the image to extract. Auto-detection of cleanest/best line to extract. List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Expanded offline version of SpectralWorkbenchDescription: The existing offline version of spectralworkbench.org, based on an HTML5 offline manifest, does not allow saving or calibrated data. This project would involve using HTML5 localStorage to store the image and metadata for offline-captured spectra for later upload. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: iOS version of SpectralWorkbenchDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. A great deal of work has been done by Diego Rojas: https://github.com/inductionStep/spectralWorkbench_IOS Note: the relevant HTML code in Diego's project is here: https://github.com/inductionStep/spectralWorkbench_IOS/blob/master/spectralWorkbench/spectralWorkbench/video.html We can substitute the necessary files from https://github.com/jywarren/spectral-workbench/tree/master/webserver/app/views/capture/ which are also listed in the offline manifest: https://github.com/jywarren/spectral-workbench/tree/master/webserver/public/index.manifest Is there a way to have it use the most recent version directly from https://spectralworkbench.org/capture ? Perhaps simply display a webview of that address, which will offline-cache? List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116, https://github.com/inductionStep/spectralWorkbench_IOS Prerequisites: iOS Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsMapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Sky Camera enhancementsDescription: Sky Camera is an Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos. We'd like to improve it with any of the following:
List: grassrootsmapping Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Image classification functions in Infragram.orgGoal: identify wetlands species and/or oil contamination with image classification methods List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js, http://github.com/jywarren/clashifier
Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Node.js, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Commenting, tagging, and more social features for Infragram.orgGoal: Connecting Infragram.org via OpenID to PublicLab.org will allow for more peer support via image comments, annotations, and tags. List: plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js,
Prerequisites: Node.js, JavaScript, maybe Bootstrap Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) |
Revert | |
208 | mathew |
March 14, 2014 17:56
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API Note: Much work has already been done on this, in two partially finished functions; $W.detect_peak(), found here, and $W.get_peak_pattern(), found here. Peak detection itself works all right, but the "peak pattern" method for matching it to a known reference needs a new approach. List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. This project is largely technically complete, and needs mostly interface design and integration work. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Spectral Workbench Macros and APIDescription: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Revised Image to Spectrum converterDescription: Modularization and cleanup of the system for extracting quantitative spectral data from a line of pixels in an image from a spectrometer. Development of user interface for changing this extraction, using the format (x1,y1,x2,y2) to describe a cross section of the image to extract. Auto-detection of cleanest/best line to extract. List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Expanded offline version of SpectralWorkbenchDescription: The existing offline version of spectralworkbench.org, based on an HTML5 offline manifest, does not allow saving or calibrated data. This project would involve using HTML5 localStorage to store the image and metadata for offline-captured spectra for later upload. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: iOS version of SpectralWorkbenchDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. A great deal of work has been done by Diego Rojas: https://github.com/inductionStep/spectralWorkbench_IOS Note: the relevant HTML code in Diego's project is here: https://github.com/inductionStep/spectralWorkbench_IOS/blob/master/spectralWorkbench/spectralWorkbench/video.html We can substitute the necessary files from https://github.com/jywarren/spectral-workbench/tree/master/webserver/app/views/capture/ which are also listed in the offline manifest: https://github.com/jywarren/spectral-workbench/tree/master/webserver/public/index.manifest Is there a way to have it use the most recent version directly from https://spectralworkbench.org/capture ? Perhaps simply display a webview of that address, which will offline-cache? List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116, https://github.com/inductionStep/spectralWorkbench_IOS Prerequisites: iOS Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsMapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Sky Camera enhancementsDescription: Sky Camera is an Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos. We'd like to improve it with any of the following:
List: grassrootsmapping Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Image classification functions in Infragram.orgGoal: identify wetlands species and/or oil contamination with image classification methods List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js, http://github.com/jywarren/clashifier
Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Node.js, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Commenting, tagging, and more social features for Infragram.orgGoal: Connecting Infragram.org via OpenID to PublicLab.org will allow for more peer support via image comments, annotations, and tags. List: plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js,
Prerequisites: Node.js, JavaScript, maybe Bootstrap Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) |
Revert | |
207 | warren |
March 04, 2014 17:58
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API Note: Much work has already been done on this, in two partially finished functions; $W.detect_peak(), found here, and $W.get_peak_pattern(), found here. Peak detection itself works all right, but the "peak pattern" method for matching it to a known reference needs a new approach. List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. This project is largely technically complete, and needs mostly interface design and integration work. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Spectral Workbench Macros and APIDescription: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Revised Image to Spectrum converterDescription: Modularization and cleanup of the system for extracting quantitative spectral data from a line of pixels in an image from a spectrometer. Development of user interface for changing this extraction, using the format (x1,y1,x2,y2) to describe a cross section of the image to extract. Auto-detection of cleanest/best line to extract. List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Expanded offline version of SpectralWorkbenchDescription: The existing offline version of spectralworkbench.org, based on an HTML5 offline manifest, does not allow saving or calibrated data. This project would involve using HTML5 localStorage to store the image and metadata for offline-captured spectra for later upload. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: iOS version of SpectralWorkbenchDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. A great deal of work has been done by Diego Rojas: https://github.com/inductionStep/spectralWorkbench_IOS Note: the relevant HTML code in Diego's project is here: https://github.com/inductionStep/spectralWorkbench_IOS/blob/master/spectralWorkbench/spectralWorkbench/video.html We can substitute the necessary files from https://github.com/jywarren/spectral-workbench/tree/master/webserver/app/views/capture/ which are also listed in the offline manifest: https://github.com/jywarren/spectral-workbench/tree/master/webserver/public/index.manifest Is there a way to have it use the most recent version directly from https://spectralworkbench.org/capture ? Perhaps simply display a webview of that address, which will offline-cache? List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116, https://github.com/inductionStep/spectralWorkbench_IOS Prerequisites: iOS Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsMapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Sky Camera enhancementsDescription: Sky Camera is an Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos. We'd like to improve it with any of the following:
List: grassrootsmapping Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Image classification functions in Infragram.orgGoal: identify wetlands species and/or oil contamination with image classification methods List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js, http://github.com/jywarren/clashifier
Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Node.js, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Commenting, tagging, and more social features for Infragram.orgGoal: Connecting Infragram.org via OpenID to PublicLab.org will allow for more peer support via image comments, annotations, and tags. List: plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js,
Prerequisites: Node.js, JavaScript, maybe Bootstrap Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) |
Revert | |
206 | warren |
February 27, 2014 19:08
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. How to post a proposalPlease first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API Note: Much work has already been done on this, in two partially finished functions; $W.detect_peak(), found here, and $W.get_peak_pattern(), found here. Peak detection itself works all right, but the "peak pattern" method for matching it to a known reference needs a new approach. List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. This project is largely technically complete, and needs mostly interface design and integration work. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Spectral Workbench Macros and APIDescription: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Revised Image to Spectrum converterDescription: Modularization and cleanup of the system for extracting quantitative spectral data from a line of pixels in an image from a spectrometer. Development of user interface for changing this extraction, using the format (x1,y1,x2,y2) to describe a cross section of the image to extract. Auto-detection of cleanest/best line to extract. List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Expanded offline version of SpectralWorkbenchDescription: The offline version of spectralworkbench.org, based on an HTML5 offline manifest, does not allow saving or calibrated data. This project would involve using HTML5 localStorage to store the image and metadata for offline-captured spectra for later upload. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: iOS version of SpectralWorkbenchDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. A great deal of work has been done by Diego Rojas: https://github.com/inductionStep/spectralWorkbench_IOS List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116, https://github.com/inductionStep/spectralWorkbench_IOS Prerequisites: iOS Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsMapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Sky Camera enhancementsDescription: Sky Camera is an Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos. We'd like to improve it with any of the following:
List: grassrootsmapping Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Image classification functions in Infragram.orgGoal: identify wetlands species and/or oil contamination with image classification methods List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js, http://github.com/jywarren/clashifier
Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Node.js, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Commenting, tagging, and more social features for Infragram.orgGoal: Connecting Infragram.org via OpenID to PublicLab.org will allow for more peer support via image comments, annotations, and tags. List: plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js,
Prerequisites: Node.js, JavaScript, maybe Bootstrap Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) |
Revert | |
205 | warren |
February 26, 2014 16:09
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
Either of these lists is fine; feel free to CC both. High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API Note: Much work has already been done on this, in two partially finished functions; $W.detect_peak(), found here, and $W.get_peak_pattern(), found here. Peak detection itself works all right, but the "peak pattern" method for matching it to a known reference needs a new approach. List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. This project is largely technically complete, and needs mostly interface design and integration work. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Spectral Workbench Macros and APIDescription: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Revised Image to Spectrum converterDescription: Modularization and cleanup of the system for extracting quantitative spectral data from a line of pixels in an image from a spectrometer. Development of user interface for changing this extraction, using the format (x1,y1,x2,y2) to describe a cross section of the image to extract. Auto-detection of cleanest/best line to extract. List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Expanded offline version of SpectralWorkbenchDescription: The offline version of spectralworkbench.org, based on an HTML5 offline manifest, does not allow saving or calibrated data. This project would involve using HTML5 localStorage to store the image and metadata for offline-captured spectra for later upload. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: iOS version of SpectralWorkbenchDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. A great deal of work has been done by Diego Rojas: https://github.com/inductionStep/spectralWorkbench_IOS List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116, https://github.com/inductionStep/spectralWorkbench_IOS Prerequisites: iOS Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsMapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Sky Camera enhancementsDescription: Sky Camera is an Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos. We'd like to improve it with any of the following:
List: grassrootsmapping Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Image classification functions in Infragram.orgGoal: identify wetlands species and/or oil contamination with image classification methods List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js, http://github.com/jywarren/clashifier
Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Node.js, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Commenting, tagging, and more social features for Infragram.orgGoal: Connecting Infragram.org via OpenID to PublicLab.org will allow for more peer support via image comments, annotations, and tags. List: plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js,
Prerequisites: Node.js, JavaScript, maybe Bootstrap Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) |
Revert | |
204 | warren |
February 26, 2014 15:55
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
If you have questions about a particular project, consider emailing the relevant topical lists for input:
High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API Note: Much work has already been done on this, in two partially finished functions; $W.detect_peak(), found here, and $W.get_peak_pattern(), found here. Peak detection itself works all right, but the "peak pattern" method for matching it to a known reference needs a new approach. List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. This project is largely technically complete, and needs mostly interface design and integration work. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Spectral Workbench Macros and APIDescription: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: Revised Image to Spectrum converterDescription: Modularization and cleanup of the system for extracting quantitative spectral data from a line of pixels in an image from a spectrometer. Development of user interface for changing this extraction, using the format (x1,y1,x2,y2) to describe a cross section of the image to extract. Auto-detection of cleanest/best line to extract. List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Expanded offline version of SpectralWorkbenchDescription: The offline version of spectralworkbench.org, based on an HTML5 offline manifest, does not allow saving or calibrated data. This project would involve using HTML5 localStorage to store the image and metadata for offline-captured spectra for later upload. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclab.org) Project: iOS version of SpectralWorkbenchDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. A great deal of work has been done by Diego Rojas: https://github.com/inductionStep/spectralWorkbench_IOS List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116, https://github.com/inductionStep/spectralWorkbench_IOS Prerequisites: iOS Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsMapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Sky Camera enhancementsDescription: Sky Camera is an Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos. We'd like to improve it with any of the following:
List: grassrootsmapping Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org), Stewart Long (stewart@publiclab.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclab.org), Jeff Warren (jeff@publiclab.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Image classification functions in Infragram.orgGoal: identify wetlands species and/or oil contamination with image classification methods List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js, http://github.com/jywarren/clashifier
Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Node.js, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) Project: Commenting, tagging, and more social features for Infragram.orgGoal: Connecting Infragram.org via OpenID to PublicLab.org will allow for more peer support via image comments, annotations, and tags. List: plots-infrared Links: http://github.com/Pioneer-Valley-Open-Science/infragram-js,
Prerequisites: Node.js, JavaScript, maybe Bootstrap Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org) |
Revert | |
203 | warren |
February 26, 2014 15:32
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Mirrors of all our main repositories can be found here: https://github.com/publiclab Who to contact with ideas/proposals
If you have questions about a particular project, consider emailing the relevant topical lists for input:
High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: hard Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: Spectral Workbench API v1.0Description: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: offline version of SpectralWorkbenchDescription: We need an offline version of spectralworkbench.org, , hopefully based on our HTML/JavaScript code. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: iOS version of SpectralWorkbench in PhoneGapDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116 Prerequisites: PhoneGap, Cordova Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: Mobile interface and cross-mobile-browser compatibility for SpectralWorkbench.orgDescription: A fuller mobile implementation of SpectralWorkbench would be a great, and might share a lot with the iOS project above or simply be a complete refit of the web-based version (https://spectralworkbench.org/capture, visit on Android device), since webcam APIs are now supported on versions of Chrome, Opera, and Firefox on Android. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/205 Prerequisites: JavaScript, Bootstrap, HTML/CSS, some Ruby on Rails, familiarity with getUserMedia() webcam API Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsMapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Android Aerial Acquisition App (Completed!)Description: Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos.
Info that'd be useful just before you launch: * wind direction for your location (and/or a link to a website that shows it for any location) * a link to our website for getting the materials to do a balloon or kite flight http://publiclab.org/wiki/balloon-mapping For after a flight (these are easy; just text and links): * a link to MapKnitter.org and basic outline of how to make your images into a map List: grassrootsmapping, publiclaboratory Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclaboratory.org), Jeff Warren (jeff@publiclaboratory.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: optimize and improve high-resolution stitching interfaceDescription: This could take the form of several ideas/approaches -- from caching the warped images as dataURLs in the canvas element to speed up interactivity, to implementing the Client Zoom feature in the most recent OpenLayers. List: publiclaboratory, grassrootsmapping Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: Clashifier open source image classification. abstract Classifiers class to make different classifiers more pluggableGoal: identify wetlands species and/or oil contamination List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/jywarren/clashifier
Description: Some structural changes are necessary to allow people to develop and add new classifiers to the system. It should be as easy as having a "classifier.classify()" function which accepts an RGB (or more colors) pixel value, or perhaps an image and x,y coordinates. Some of this work has been started in the /lib/ directory, but it will require some architectural changes. Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Ruby/Rails, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: add annotations layer to MapknitterDescription: This could include adding polygonal overlays to highlight regions, adding notes, and linking discussions/data directly into maps. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/spectral-workbench/issues/89 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org), Ned Horning (horning@amnh.org) Project: Align and analyze overlapping visible and near infra-red imagesDescription: A utility to process large numbers (dozens or hundreds) of pairs of visible and infra-red images, including those taken by users with matched visible and IR cameras. The utility could automate a subset of the processes below. It could be based on the experimental multispectral features of MapKnitter, with a focus on analysis and NDVI. Such a utility could greatly improve the quality, consistency, and usefulness of the NDVI maps made by Grassroots Mappers. List: publiclaboratory, plots-infrared
Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails, GDAL and/or ImageMagick/RMagick, familiarity with remote sensing would be nice Difficulty level: hard Mentor: Arlene Ducao (arlduc@mit.edu), Jeff Warren (jeff@publiclaboratory.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclaboratory.org), Jeff Warren (jeff@publiclaboratory.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclaboratory.org), Jeff Warren (jeff@publiclaboratory.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Web service to composite infrared and visible imagesRevised from "Update code to composite side-by-side video from a webcam" Description: Create a simple web service for people to upload 2 images -- one near-infrared and one visible -- which auto-aligns them and provides a composite image such as described on the Near-infrared Camera page List: plots-infrared, publiclaboratory Prerequisites: web programming -- HTML/CSS and some server side system (Python, Ruby, PHP, etc), ImageMagick or another image handling library Difficulty level: easy Mentor: Craig Versek ( cversek@physics.umass.edu), Jeff Warren (jeff@publiclaboratory.org) |
Revert | |
202 | warren |
February 26, 2014 15:30
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Who to contact with ideas/proposals
If you have questions about a particular project, consider emailing the relevant topical lists for input:
High prioritiesSee more detail on these in the full ideas descriptions below; or add a more fleshed-out description if one is lacking. Spectral Workbench
MapKnitter
Infragram
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: hard Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: Spectral Workbench API v1.0Description: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: offline version of SpectralWorkbenchDescription: We need an offline version of spectralworkbench.org, , hopefully based on our HTML/JavaScript code. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: iOS version of SpectralWorkbench in PhoneGapDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116 Prerequisites: PhoneGap, Cordova Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: Mobile interface and cross-mobile-browser compatibility for SpectralWorkbench.orgDescription: A fuller mobile implementation of SpectralWorkbench would be a great, and might share a lot with the iOS project above or simply be a complete refit of the web-based version (https://spectralworkbench.org/capture, visit on Android device), since webcam APIs are now supported on versions of Chrome, Opera, and Firefox on Android. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/205 Prerequisites: JavaScript, Bootstrap, HTML/CSS, some Ruby on Rails, familiarity with getUserMedia() webcam API Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsMapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Android Aerial Acquisition App (Completed!)Description: Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos.
Info that'd be useful just before you launch: * wind direction for your location (and/or a link to a website that shows it for any location) * a link to our website for getting the materials to do a balloon or kite flight http://publiclab.org/wiki/balloon-mapping For after a flight (these are easy; just text and links): * a link to MapKnitter.org and basic outline of how to make your images into a map List: grassrootsmapping, publiclaboratory Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclaboratory.org), Jeff Warren (jeff@publiclaboratory.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: optimize and improve high-resolution stitching interfaceDescription: This could take the form of several ideas/approaches -- from caching the warped images as dataURLs in the canvas element to speed up interactivity, to implementing the Client Zoom feature in the most recent OpenLayers. List: publiclaboratory, grassrootsmapping Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: Clashifier open source image classification. abstract Classifiers class to make different classifiers more pluggableGoal: identify wetlands species and/or oil contamination List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/jywarren/clashifier
Description: Some structural changes are necessary to allow people to develop and add new classifiers to the system. It should be as easy as having a "classifier.classify()" function which accepts an RGB (or more colors) pixel value, or perhaps an image and x,y coordinates. Some of this work has been started in the /lib/ directory, but it will require some architectural changes. Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Ruby/Rails, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: add annotations layer to MapknitterDescription: This could include adding polygonal overlays to highlight regions, adding notes, and linking discussions/data directly into maps. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/spectral-workbench/issues/89 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org), Ned Horning (horning@amnh.org) Project: Align and analyze overlapping visible and near infra-red imagesDescription: A utility to process large numbers (dozens or hundreds) of pairs of visible and infra-red images, including those taken by users with matched visible and IR cameras. The utility could automate a subset of the processes below. It could be based on the experimental multispectral features of MapKnitter, with a focus on analysis and NDVI. Such a utility could greatly improve the quality, consistency, and usefulness of the NDVI maps made by Grassroots Mappers. List: publiclaboratory, plots-infrared
Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails, GDAL and/or ImageMagick/RMagick, familiarity with remote sensing would be nice Difficulty level: hard Mentor: Arlene Ducao (arlduc@mit.edu), Jeff Warren (jeff@publiclaboratory.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclaboratory.org), Jeff Warren (jeff@publiclaboratory.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclaboratory.org), Jeff Warren (jeff@publiclaboratory.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Web service to composite infrared and visible imagesRevised from "Update code to composite side-by-side video from a webcam" Description: Create a simple web service for people to upload 2 images -- one near-infrared and one visible -- which auto-aligns them and provides a composite image such as described on the Near-infrared Camera page List: plots-infrared, publiclaboratory Prerequisites: web programming -- HTML/CSS and some server side system (Python, Ruby, PHP, etc), ImageMagick or another image handling library Difficulty level: easy Mentor: Craig Versek ( cversek@physics.umass.edu), Jeff Warren (jeff@publiclaboratory.org) |
Revert | |
201 | liz |
February 19, 2014 02:53
| over 10 years ago
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas. For a quick flashback, see our 2013 GSOC page and 2013 mentor & student proposals Who to contact with ideas/proposalsStart Project ideas and discussions on the appropriate Public Lab discussion lists (see each project idea for which to use):
Spectrometry ProjectsRelated to the SpectralWorkbench.org open source spectral analysis platform Links: https://spectralworkbench.org, http://github.com/jywarren/spectral-workbench GPLv3 Project: automated spectrometer calibrationDescription: Currently, in SpectralWorkbench.org, users manually click on known features in a fluorescent lightbulb spectrum to calibrate their spectrometer. Much better, easier, and more precise might be an automated way to pattern-match/recognize the mercury spectrum (such as this: ) and to auto-calibrate the spectrometer. The Capture interface could automatically recognize a mercury spectrum whenever you pointed the spectrometer at one, and prompt you to recalibrate. This could be developed in pure JavaScript using the Spectral Workbench API List: plots-spectrometry Links:
Prerequisites: JavaScript, optional Ruby on Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: import open spectral databasesDescription: Determine which spectral databases can be used in an open source manner (such as perhaps the HITRAN and ASTER datasets) and import them, tagging them with their source and relevant metadata. Focus on near-infrared, visible, and ultraviolet ranges. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/54 Prerequisites: Ruby/Rails, familiarity with open data licensing and database parsing/scripting Difficulty level: easy Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: find closest matched spectra from databaseDescription: Given a spectrum from http://SpectralWorkbench.org, develop a search function for similar spectra. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/53 Prerequisites: Ruby/Rails, some familiarity with (spectral) pattern matching Difficulty level: hard Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: Baseline Macro to reset a baseline light sourceDescription: Use the JavaScript Spectral Workbench API and possibly some Ruby on Rails to develop a way to zero out baseline noise and input light source in the Spectral Workbench capture interface. This could simply involve storing the existing spectrum as an array and subtracting it from any new readings. It might involve a callback in the SpectralWorkbench API to filter incoming data from the device using a given function. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/119 https://github.com/jywarren/spectral-workbench/issues/61 https://github.com/jywarren/spectral-workbench/issues/44 Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: Spectral Workbench API v1.0Description: Expand and refine the API to a version 1.0, cleaning up existing functions and providing functions and good documentation for basic spectrometry analysis, data manipulation and visualization tools for the spectral data matching/search. Bonus: install an in-line JavaScript editor to make macro editing easier at https://spectralworkbench.org/macros List: plots-spectrometry Links:
Prerequisites: Difficulty level: Easy Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: offline version of SpectralWorkbenchDescription: We need an offline version of spectralworkbench.org, , hopefully based on our HTML/JavaScript code. Links: https://github.com/jywarren/spectral-workbench/issues/74 https://github.com/jywarren/spectral-workbench/issues/73 List: plots-spectrometry Prerequisites: Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: iOS version of SpectralWorkbench in PhoneGapDescription: The current mobile version is web-based, and only runs on Opera for Android right now. But it is pretty nice: https://spectralworkbench.org/capture. The ideal is to wrap this already-working system in a native app so that any future interface changes can simply be pushed out on all platforms at once. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/116 Prerequisites: PhoneGap, Cordova Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: Mobile interface and cross-mobile-browser compatibility for SpectralWorkbench.orgDescription: A fuller mobile implementation of SpectralWorkbench would be a great, and might share a lot with the iOS project above or simply be a complete refit of the web-based version (https://spectralworkbench.org/capture, visit on Android device), since webcam APIs are now supported on versions of Chrome, Opera, and Firefox on Android. List: plots-spectrometry Links: https://github.com/jywarren/spectral-workbench/issues/205 Prerequisites: JavaScript, Bootstrap, HTML/CSS, some Ruby on Rails, familiarity with getUserMedia() webcam API Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclab.org) Mapmaking ProjectsMapMill Offline: cross-platform aerial image sorting appDescription: a desktop app that helps you sort big batches of aerial images quickly, with built-in filters: Upon getting images from a camera:
List: grassrootsmapping, publiclaboratory Prerequisites: desktop app design, or offline manifests for webapps Difficulty level: easy-medium Project: Android Aerial Acquisition App (Completed!)Description: Android app that does continuous image shooting, taking a photograph automatically every 5-10 seconds, for attaching to a kite or balloon to take aerial photos.
Info that'd be useful just before you launch: * wind direction for your location (and/or a link to a website that shows it for any location) * a link to our website for getting the materials to do a balloon or kite flight http://publiclab.org/wiki/balloon-mapping For after a flight (these are easy; just text and links): * a link to MapKnitter.org and basic outline of how to make your images into a map List: grassrootsmapping, publiclaboratory Prerequisites: Processing and/or Java, Android Difficulty level: easy-medium Mentor: Stewart Long (stewart@publiclaboratory.org), Jeff Warren (jeff@publiclaboratory.org) MapKnitter open source image rectification and GIS Goal: spectrum pattern matching to identify oil contamination List: publiclaboratory, grassrootsmapping Links: http://github.com/jywarren/mapknitter
Project: optimize and improve high-resolution stitching interfaceDescription: This could take the form of several ideas/approaches -- from caching the warped images as dataURLs in the canvas element to speed up interactivity, to implementing the Client Zoom feature in the most recent OpenLayers. List: publiclaboratory, grassrootsmapping Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: Clashifier open source image classification. abstract Classifiers class to make different classifiers more pluggableGoal: identify wetlands species and/or oil contamination List: publiclaboratory, grassrootsmapping, plots-infrared Links: http://github.com/jywarren/clashifier
Description: Some structural changes are necessary to allow people to develop and add new classifiers to the system. It should be as easy as having a "classifier.classify()" function which accepts an RGB (or more colors) pixel value, or perhaps an image and x,y coordinates. Some of this work has been started in the /lib/ directory, but it will require some architectural changes. Links: https://github.com/jywarren/clashifier/issues/4 https://github.com/jywarren/clashifier/issues/3 Prerequisites: Ruby/Rails, some familiarity with classification algorithms like naive bayes or cartesian, or anything else Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org) Project: add annotations layer to MapknitterDescription: This could include adding polygonal overlays to highlight regions, adding notes, and linking discussions/data directly into maps. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/spectral-workbench/issues/89 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: georeferencing in Mapknitter without base image dataDescription: investigate and implement different methods of georeferencing images besides overlaying on existing aerial data. GPS, ground-target, or EXIF-embedded data could all be used. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/issues/64 https://github.com/jywarren/mapknitter/issues/10 https://github.com/jywarren/mapknitter/issues/65 https://github.com/jywarren/mapknitter/issues/73 Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails Difficulty level: medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org), Ned Horning (horning@amnh.org) Project: Align and analyze overlapping visible and near infra-red imagesDescription: A utility to process large numbers (dozens or hundreds) of pairs of visible and infra-red images, including those taken by users with matched visible and IR cameras. The utility could automate a subset of the processes below. It could be based on the experimental multispectral features of MapKnitter, with a focus on analysis and NDVI. Such a utility could greatly improve the quality, consistency, and usefulness of the NDVI maps made by Grassroots Mappers. List: publiclaboratory, plots-infrared
Prerequisites: JavaScript/Prototype/Canvas element, Ruby/Rails, GDAL and/or ImageMagick/RMagick, familiarity with remote sensing would be nice Difficulty level: hard Mentor: Arlene Ducao (arlduc@mit.edu), Jeff Warren (jeff@publiclaboratory.org), Ned Horning (horning@amnh.org) Project: ability to upload just an image without making a map (drag-drop or from a phone), and it auto-geocodes and starts a map for you (prototype for MapKnitter.org 2.0)Description: A simpler version of MapKnitter.org which streamlines the process of turning an aerial image into a georectified map -- this could use all the existing backend systems of MapKnitter, but would dramatically simplify the process of making a map out of a single image. It could even be done from a mobile phone. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/issues/73 Prerequisites: Ruby/Ruby on Rails, JavaScript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: implementing rubbersheeting in Leaflet, as a first step to porting the whole interface to LeafletDescription: MapKnitter.org is built on lots of old, legacy code and uses OpenLayers for it's editing interface. We would like to port the editor (and the image-distortion interface) to Leaflet, and the first step would be to port the image distortion class (and matrix class) currently used in MapKnitter into a new Leaflet plugin. List: publiclaboratory, grassrootsmapping Links: https://github.com/jywarren/mapknitter/, https://github.com/jywarren/mapknitter/tree/master/public/cartagen/src/warper Prerequisites: Javascript Difficulty level: Medium Mentor: Jeff Warren (jeff@publiclaboratory.org), Stewart Long (stewart@publiclaboratory.org) Project: MapMill.org crowdsourced image sorting. Shift image storage to Amazon S3Description: MapMill uses vast amounts of storage and we can't support large #s of uploads currently; this is better security and archiving too. Probably use paperclip gem in Rails along with jQuery Multiple File Upload: http://blueimp.github.io/jQuery-File-Upload/ So, batch upload with progress bars for each image. List: grassrootsmapping Links: http://github.com/jywarren/mapmill, https://github.com/jywarren/mapmill/issues/6 Prerequisites: Ruby on Rails, jQuery, Amazon S3 Difficulty level: Easy Mentor: Stewart Long (stewart@publiclaboratory.org), Jeff Warren (jeff@publiclaboratory.org) Improve warnings and provide alternatives when too many images to export a map with MapKnitterList: grassrootsmapping Description: One approach could be to warn user the number of images is more than can be exported and offer capability to clone map so user can delete images reduce the number to an exportable number. Another could warn user maximum number of images has been reached and not allow additional ones to be uploaded. Links: TBD Prerequisites: JavaScript, Ruby on Rails Difficulty level: Easy Mentor: Stewart Long (stewart@publiclaboratory.org), Jeff Warren (jeff@publiclaboratory.org), Pat Coyle (pat@coyles.com) Infrared ProjectsProject: Web service to composite infrared and visible imagesRevised from "Update code to composite side-by-side video from a webcam" Description: Create a simple web service for people to upload 2 images -- one near-infrared and one visible -- which auto-aligns them and provides a composite image such as described on the Near-infrared Camera page List: plots-infrared, publiclaboratory Prerequisites: web programming -- HTML/CSS and some server side system (Python, Ruby, PHP, etc), ImageMagick or another image handling library Difficulty level: easy Mentor: Craig Versek ( cversek@physics.umass.edu), Jeff Warren (jeff@publiclaboratory.org) |
Revert |