{"id":19992934,"url":"https://github.com/mtpatter/eo1-demo","last_synced_at":"2025-10-15T20:06:49.703Z","repository":{"id":16528061,"uuid":"19281288","full_name":"mtpatter/eo1-demo","owner":"mtpatter","description":"Tutorial on example data analysis for Earth Observing-1 data on the Open Science Data Cloud.","archived":false,"fork":false,"pushed_at":"2015-05-28T14:16:11.000Z","size":75304,"stargazers_count":6,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-04T12:37:12.627Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"luceraproject/abbaye-des-morts","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mtpatter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-29T15:23:08.000Z","updated_at":"2023-04-17T11:36:49.000Z","dependencies_parsed_at":"2022-09-05T19:11:32.474Z","dependency_job_id":null,"html_url":"https://github.com/mtpatter/eo1-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mtpatter/eo1-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtpatter%2Feo1-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtpatter%2Feo1-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtpatter%2Feo1-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtpatter%2Feo1-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mtpatter","download_url":"https://codeload.github.com/mtpatter/eo1-demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtpatter%2Feo1-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279110591,"owners_count":26105906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T04:52:23.327Z","updated_at":"2025-10-15T20:06:49.686Z","avatar_url":"https://github.com/mtpatter.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OSDC EO-1 Quick Start Tutorial\n\nHello! Welcome to the Open Science Data Cloud demo on NASA's Earth Observing-1 dataset. \nIn this tutorial, we will show you how to use OSDC to visualize\nand perform a simple example analysis of NASA satellite imagery data.\n\n## About the Data\nNASA's Earth Observing-1 satellite (EO-1) was launched in 2000 for the purpose of \nstudying new technologies in remote earth imaging. On the OSDC, we host data from \nEO-1's two primary scientific instruments, the Hyperion imaging spectrometer and the \nAdvanced Land Image (ALI). In this tutorial we will be working with ALI data.\n\nThe ALI instrument acquires data in 9 different wavelength bands from 0.48 - 2.35 micron\nwith 30-meter resolution plus a panchromatic band with higher 10-meter spatial resolution.  \nThe standard 'scene' (image) size projected on the Earth's surface equates to 37 km x 42 km \n(width x length).  Hyperion has similar spatial resolution but higher spectral resolution, \nobserving in 242 band channels from 0.357 - 2.576 micron with 10-nm bandwidth. \nHyperion scenes have a smaller standard footprint width of 7.7 km.\n\nEO-1 Level 0 scenes (raw data) are received daily from NASA and processed by NASA on the \nOSDC to create various Level 1 data.  We will use here the Level 1Gst scenes, \nradiometrically corrected, resampled for geometric correction, and registered to a \ngeographic map projection. \nThese data are stored in GeoTiff format, one GeoTiff for each wavelength band, giving the \ncorrected radiance value recorded at each pixel. Here we will show you how to use Python to \n* create png false-color images from GeoTiff data,\n* use a machine algorithm to classify each pixel of a scene as desert, water, cloud, or vegetation,\n* view GeoTiffs and save the results of your classification as an image.\n\n## Viewing a GeoTiff\nWe will take a look at an example ALI GeoTiff from band 3, covering 0.45 - 0.515 micron. \nOur data resides in the /glusterfs/osdc_public_data/eo1 directory.  In the terminal, type:\n\n```\npython viewGeoTiff.py /glusterfs/osdc_public_data/eo1/ali_l1g/2014/029/EO1A1930292014029110PZ_ALI_L1G/EO1A1930292014029110PZ_B03_L1T.TIF\n```\n\n## Making an RGB Image\nHere we will create an RGB image from three bands of an individual ALI scene. \nWe will use the makeRGB.py script to look at a scene observed on the 29th \nday of 2014 and save it as a png image.  To make the image a little brighter,\nwe tell the script to scale each color up by a factor of 2.\n\nIn the terminal, type in:\n\n```\npython makeRGB.py 2014 029 EO1A1930292014029110PZ italy.png 2\n```\n\nTo download this image to your local machine for viewing is a two-step process.\nFirst, move the file to your gluster user directory on Sullivan\nby typing the following into your VM terminal:\n\n```\nmv italy.png /glusterfs/users/USERNAME/\n```\n\nThen, in the terminal on your local machine, download the file into the preferred directory:\n\n```\nscp USERNAME@sullivan.opensciencedatacloud.org:~/italy.png .\n```\n\nNow take a look at your picture using your favorite image viewer.\nLooks like a nice spot to run our classifier. This is a section of the Italian coast near Pisa.\n \n## Classifying the Image\nWe will run our classifier see if it can identify which sections of the scene are clouds, \nwater, desert, or vegetation.  The classifier uses a support vector machine (SVM) \nfrom Python's scikit-learn module to fit a model\nto the training set from Hyperion data we have provided in 'FourClassTrainingSet.txt'. \nThis classifier uses the ratios of ALI bands 3:7 and 4:8.\nThe file trainingSpectra.png shows a plot of the average reflectance spectra from Hyperion \nfor each class in the training set.  Shaded grey areas show the wavelength coverage of\nALI bands, which are used by the classifier described.\n\nYou can run the classifier with the following command:\n\n```\npython classify.py 2014 029 EO1A1930292014029110PZ italyClassified.tif\n```\n\nIt will take about 10 minutes to run, so go get a snack or some coffee. You \ncan also look at the classified GeoTiff we have provided using the above procedure.\n\n-----INTERMISSION-----\n\n## Viewing the Results\nLet's take a look at the GeoTiff created. Run viewClassifiedTiff.py on the file\nmade by the classification:\n\n```\npython viewClassifiedTiff.py italyClassified.tif italyClassified.png\n```\n\nYou can download italyClassified.png to your local machine using the instructions \nabove in 'Making an RGB image.'\n\nThe classified scene has a white pixel where the classifier identified clouds, \nblue for water, brown for desert, and green for vegetation. \n\nUsing the USGS EarthExplorer webpage you can retrieve the scene IDs \nand dates for scenes all over the world and classify them. Have fun! \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtpatter%2Feo1-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmtpatter%2Feo1-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtpatter%2Feo1-demo/lists"}