{"id":13719811,"url":"https://github.com/btobers/RAGU","last_synced_at":"2025-05-07T12:30:32.781Z","repository":{"id":54131896,"uuid":"193940796","full_name":"btobers/RAGU","owner":"btobers","description":"Radar Analysis Graphical Utility (RAGU)","archived":false,"fork":false,"pushed_at":"2024-07-18T18:39:55.000Z","size":38726,"stargazers_count":19,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-09-19T12:25:03.185Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/btobers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-26T16:27:04.000Z","updated_at":"2024-09-19T11:24:24.000Z","dependencies_parsed_at":"2023-02-02T20:31:48.307Z","dependency_job_id":"f8b59c02-b606-4cab-8b21-00db838e8e2a","html_url":"https://github.com/btobers/RAGU","commit_stats":{"total_commits":622,"total_committers":4,"mean_commits":155.5,"dds":"0.43086816720257237","last_synced_commit":"1df210791853999370d3dbc0f76273c9b3a1db0f"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btobers%2FRAGU","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btobers%2FRAGU/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btobers%2FRAGU/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btobers%2FRAGU/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/btobers","download_url":"https://codeload.github.com/btobers/RAGU/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224597006,"owners_count":17337827,"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","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-08-03T01:00:55.870Z","updated_at":"2024-11-14T09:30:41.410Z","avatar_url":"https://github.com/btobers.png","language":"Python","funding_links":[],"categories":["Software","Software and Tools"],"sub_categories":["Ground-penetrating radar"],"readme":"\u003cimg src=\"https://github.com/btobers/RAGU/raw/master/src/ragu/recs/ragu_logo.png\" height=\"200\"\u003e\n\n# Radar Analysis Graphical Utility\n### Authors: Brandon Tober and Michael Christoffersen\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3968981.svg)](https://doi.org/10.5281/zenodo.3968981)\n\n## What is RAGU?\nRAGU is a user-interface radar interpretation software written in Python 3 and released under the GNU General Public License v3. RAGU was originally developed to ingest and interpret NASA Operation IceBridge airborne radar sounding data, but has been expanded for use with other sounder and ground penetrating radar datasets. While RAGU is primarily an interpretation software, minimal radar processing tools are included with the software.\n\n### Dataset Capabilities:\nRAGU was originally developed to work with NASA's Operation IceBridge Alaska radar sounding data. The dataset capabilities have since been expanded to include the following:\n\n- NASA OIB-AK\n- Groundhog (UArizona/UAF)\n- CReSIS (Radar Depth Sounder \u0026 Snow Radar)\n- SHARAD (USRDR, USGEOM, US clutter sims)\n- MARSIS (JPL multilook products)\n- KAGUYA (SELENE) Lunar Radar Sounder (LRS)\n- RIMFAX\n- GSSI\n- pulseEKKO\n\nHave another radar dataset you'd like to be able to use RAGU to interpret? Please feel free to send the necessary python code to read in the data and we can incorporate an ingester. Or, feel free to collaborate and create an ingester for reading your data type with RAGU. Follow the ingester template: - *ingest/ingest_template.py*\n\n### Package overview\n- *config.py* script used to create the RAGU configuration file\n- *bin/main.py* is run to start the RAGU app\n- *ui/gui.py* handles the graphical user-interface and sets up the app\n- *ui/impick.py* handles profile-view, radargram image picking\n- *ui/wvpick.py* handles waveform-view picking optimization\n- *ui/basemap.py* handles the basemap\n- *ui/notepad.py* handles the notepad\n- *radar/* contains radar data object information\n- *radar/processing.py* performs simple user-specified radar data processing\n- *ingest/* hadnles radar data ingest\n- *nav/navparse.py* is used to parse radar gps data into the appropriate format and perform any necessary coordinate transformations\n- *nav/gps.py*  is used to read and parse raw gps nmea strings into the appropriate format\n- *tools/utils.py* contains a set of utility functions utilized by the app\n- *tools/constants.py* contains global constants\n\n### Outputs\n#### Pick files:\n1. **Comma-Separated Value (.csv)**\n2. **Geopackage (.gpkg)**\n\n    For **CSV** and **Geopackage** files, see the [format file](https://github.com/btobers/RAGU/raw/master/src/docs/RAGU_pk_format.pdf) in for per trace export attribute information.\n\n#### Figure:\nA figure each may also be exported for the uninterpreted radar profile, the accompanying clutter simulation, and the interpreted radar profile. Example over Malaspina Glacier, AK:  \n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/btobers/RAGU/raw/master/src/ragu/recs/20190928-235534_compiled.jpg\" height=\"500\"\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n#### Processing Script:\nA file log/processing script may also be exported to keep track of and easily repeat any data processing steps. Example processing script:\n```\n### RAGU processing log ###\nfrom ragu import ingest\n\nigst = ingest.ingest(\"/home/user/data/ARES/20140524-200130.h5\")\nrdata = igst.read(\"\",\"+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs\",\"earth\")\nrdata.lowpass(order=5, cf=1250000.0)\nrdata.tpowGain(power=1.2)\n```\n\n## Running RAGU\n\n### System Requirements\nSupported Operating Systems:\n- Linux (tested on Ubuntu 18.04, 20.04)\n- Windows (tested on Windows 10)\n- Mac (tested on Catalina)\n\n### Dependencies\n- tkinter\n- matplotlib\n- numpy\n- scipy\n- pandas\n- geopandas\n- pyproj\n- rasterio\n- h5py\n\n### Setup\n**Note: Prior to installation, one may first wish to create an anaconda environment from which to install ragu**.\n\n1. Install ragu via [PyPi](https://pypi.org/project/ragu/)\n\n```\npip install ragu\n```\n\n2. To run ragu, call ragu from the command line to initialize the GUI:\n```\nragu\n```\n**The first time ragu is run on your machine, a configuration file will be created at *~/RAGU/config.ini*.** This configuration file can be edited to set appropriate data paths, data coordinate reference system, and output preferences. Path variables may be left blank, but must remain uncommented. An example ragu configuration file can be found [here](https://github.com/btobers/RAGU/raw/master/src/docs/config.ini).\n\n**Note, ragu accepts several optional command line arguments**:\n- -configPath : ragu configuration file path, (default is *~/RAGU/config.ini*)\n- -datFile : data file path to load when ragu is initialized (default is None)\n- -datPath : path to set as directory from which to load radar datafiles (default from *~/RAGU/config.ini*)\n\nTo upgrade ragu via pypi:\n```\npip install ragu --upgrade\n```\n#### Development\nIf you are interested in helping to develop RAGU, we recommend forking [RAGU's github repository](https://github.com/btobers/RAGU) and then [cloning the github repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) onto your local machine.\n\nNote, if RAGU was already installed via PyPI, first uninstall:\n```\npip uninstall ragu\n````\n\nYou can then use pip to install your locally cloned fork of RAGU in 'editable' mode to easily facilitate development like so:\n```\npip install -e /path/to/your/RAGU/clone\n```\n\n## Notes\nSeveral auxiliary tools which RAGU users may find useful can be found at [radar_tools](https://github.com/btobers/radar_tools). This includes scripts to merge the navigation data from numerous radar datafiles (`ragu_nav_merge.py`), to merge numerous RAGU pick files (`ragu_picks_combine.py\n`), and a Jupyter Notebook to analyze radar crossover disagreement (`ragu_pick_crossover.ipynb`). Additional radar processing tools which users may find useful can be found in @mchristoffersen's [Groundhog repository](https://github.com/mchristoffersen/groundhog/).\n\n\n### Publications\n\nA list of publications that cite RAGU:\n\n1. Loso, Michael G., Christopher F. Larsen, Brandon S. Tober, Michael Christoffersen, Mark Fahnestock, John W. Holt, and Martin Truffer. “Quo Vadis, Alsek? Climate-Driven Glacier Retreat May Change the Course of a Major River Outlet in Southern Alaska.” Geomorphology 384 (July 1, 2021): 107701. https://doi.org/10.1016/j.geomorph.2021.107701.\n2. Tober, B. S., J. W. Holt, M. S. Christoffersen, M. Truffer, C. F. Larsen, D. J. Brinkerhoff, and S. A. Mooneyham. “Comprehensive Radar Mapping of Malaspina Glacier (Sít’ Tlein), Alaska—The World’s Largest Piedmont Glacier—Reveals Potential for Instability.” Journal of Geophysical Research: Earth Surface 128, no. 3 (2023): e2022JF006898. https://doi.org/10.1029/2022JF006898.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtobers%2FRAGU","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbtobers%2FRAGU","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtobers%2FRAGU/lists"}