└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Radio-Millimeter-Submillimeter (RMS) Interferometry-Community-Software 2 | Curated list of interferometric software, methods and techniques 3 | 4 | *This list was developed during the 2024 Spatio-spectral Modeling for Interferometric Data Workshop (go.nrao.edu/ssmid)* 5 | 6 | **Learning how to contribute and using git/github? See the list of resources at the bottom of this list!** 7 | 8 | ### Visibility Handling 9 | - [CASA](https://casadocs.readthedocs.io/) 10 | - [casangi](https://github.com/casangi) 11 | - [pyuvdata](https://pyuvdata.readthedocs.io/en/latest/index.html) 12 | - [casa-formats-io](https://github.com/radio-astro-tools/casa-formats-io) 13 | - [vis_sample](https://github.com/AstroChem/vis_sample) -- simulate an image `seen' by an interferometer based on a provided image and uv coverage 14 | 15 | 16 | ### Imaging 17 | - [CASA](https://casadocs.readthedocs.io/) - includes [several algorithms in tclean](https://casadocs.readthedocs.io/en/stable/notebooks/synthesis_imaging.html#Other-Algorithms) (Max. Entropy; Adaptive Scale Pixel) 18 | - [CASA Docker Container](https://hub.docker.com/repository/docker/nipingel/casa/general) - Docker container for CASA 6.6.3 built within redhat/ubi8. This container also contains a miniconda python package manager with an 'astro_env' set up to use astropy, spectral-cube, reproject. Use commands: source ~/miniconda3/etc/profile.d/conda.sh' and 'conda activate astro_env' to activate. 19 | - [casangi](https://github.com/casangi) 20 | - [MPoL](https://mpol-dev.github.io/MPoL/) 21 | - [MrBeam](https://github.com/hmuellergoe/mrbeam) 22 | - [LibRA](https://github.com/ARDG-NRAO/LibRA) 23 | - [wsclean](https://wsclean.readthedocs.io/en/latest/index.html) 24 | - [IMAGER](https://imager.oasu.u-bordeaux.fr) 25 | - [GILDAS-MAPPING](https://iram.fr/IRAMFR/GILDAS/) - documentation is out of date 26 | - [IRIS (Bayesian Imaging with Score-Based Priors)](https://github.com/EnceladeCandy/bayesian-imaging-radio) 27 | - [fitsconcat](https://github.com/Kitchi/fitsconcat) - Fast(er) cube creation via concatenation of individual image channels into a larger FITS cube 28 | - 29 | 30 | ### Analysis 31 | - [radio-astro-tools](https://radio-astro-tools.github.io) -- spectral-cube, radio-beam, pvextractor, casa-formats-io 32 | - [bettermoments](https://bettermoments.readthedocs.io/en/latest/) -- moment map making, including improved line center methods 33 | - [eddy](https://github.com/richteague/eddy) -- rotation map fitting (protoplanetary disks) 34 | - [gofish](https://github.com/richteague/gofish) --Stack line emission leveraging known structure of a system (protoplanetary disks) 35 | - [velocity_tools](https://github.com/RMS-Interferometric-Data-Analysis/Interferometry-Community-Software) -calculation of Keplerian rotation velocity map -deprojection of relative coordinates for a given inclination and rotation angles and an arbitrary center -calculation of velocity gradient, assuming solid velocity rotation 36 | - [disksurf](https://github.com/richteague/disksurf) - Measure the molecular emission surface of protoplanetary disks 37 | - [FERIA](https://github.com/YokoOya/FERIA) - Flat Envelope model with Rotation and Infall under Angular momentum conservation 38 | - [keplerian_mask](https://github.com/richteague/keplerian_mask) - Make a Keplerian mask for CLEANing with CASA. 39 | - [KeplerFit](https://github.com/felixbosco/KeplerFit) - A small piece of code to fit a Keplerian velocity distribution model to position-velocity data. *Developer is no longer working in astronomy 40 | - [GALARIO](https://mtazzari.github.io/galario/) - uses GPUs to speed up the computation of the synthetic visibilities given a model image (or an axisymmetric brightness profile) and their comparison to the observations. *Developer is no longer working in astronomy 41 | - [discminer](https://github.com/andizq/discminer) 42 | 43 | ## Methods, Techniques, and Tutorials 44 | 45 | - [python packaging guide](https://packaging-guide.openastronomy.org/en/latest/) -- guide for making Python packages 46 | - [radio-astro-tools tutorials](https://radio-astro-tools.github.io/tutorials/) -- tutorials on using spectral-cube, fitting with spectral-cube, parallelization with dask, creating position-velocity diagrams, signal masking and moment map creation, cube reprojection 47 | - [Visread: Examining DSHARP AS 209 Weights and Exporting Visibilities](https://mpol-dev.github.io/visread/tutorials/rescale_AS209_weights.html) -- uses CASA tools to examine the visibilities, visibility residuals, and weights of a real multi-configuration dataset from the DSHARP survey. 48 | - [auto_selfcal](https://github.com/jjtobin/auto_selfcal) -- automated continuum self-calibration for ALMA and VLA data 49 | - [python packaging guide](https://packaging-guide.openastronomy.org/en/latest/) -- guide for making Python packages 50 | - [How to use CASA guide for beginners](https://github.com/cat4rcc/CASA_Guide) 51 | 52 | - [CHTC Guides on making Docker Containers](https://chtc.cs.wisc.edu/uw-research-computing/docker-build.html) -- guides on how to build/deploy Docker containers on your own computer and CHTC resources 53 | 54 | - [Diffusion model package used by Ciela Institute in Montreal](https://github.com/AlexandreAdam/score_models/tree/master) 55 | 56 | ## Visualization 57 | 58 | - [CARTA](https://cartavis.org/) - Cube Analysis and Rendering Tool for Astronomy: a next-generation image visualization and analysis tool designed for ALMA, VLA, and SKA pathfinders. 59 | - [friendlyVRI](https://github.com/crpurcell/friendlyVRI) -- simulate what a provided image will look like to in the `eyes' of an interferometer and its possible configurations 60 | - 61 | 62 | # Contributing to this list 63 | 64 | - [Introduction to version control in Git for scientists](https://laserkelvin.github.io/blog/2021/10/contributing-github/) -- a nice little blog post with the basics how-to for git. Explains basic git terms and how version control works - with visuals! 65 | 66 | - [git resources via astropy](https://docs.astropy.org/en/latest/development/workflow/development_workflow.html#new-to-git) 67 | - [Pull request workflow overview](https://blog.mergify.com/understanding-the-github-pull-request-workflow/) 68 | 69 | 1. Make your own fork of this repository: ![image](https://github.com/RMS-Interferometric-Data-Analysis/Interferometry-Community-Software/assets/3255771/1f56e24e-f112-4dd7-9aa0-b449b03c7025) 70 | 2. Add new entries to the list, either on your own machine (make a local clone), or directly on github by pressing the pencil on the upper-right of the README file: ![image](https://github.com/RMS-Interferometric-Data-Analysis/Interferometry-Community-Software/assets/3255771/7bcf4785-2d26-42d3-ae38-9a56a80c3e76) 71 | 3. Commit your new entries to your forked repository: ![image](https://github.com/RMS-Interferometric-Data-Analysis/Interferometry-Community-Software/assets/3255771/d75b04a0-4729-474c-832a-67f8c2a788f2) 72 | 4. Create a new pull request (PR) from your fork to the main branch: ![image](https://github.com/RMS-Interferometric-Data-Analysis/Interferometry-Community-Software/assets/3255771/93c17ecd-17fe-4b39-97a2-46cbeb1caf07) 73 | 5. After the PR is merged into the main repository, update your forked repository before adding new entries. Use the "Sync fork" button here: ![image](https://github.com/RMS-Interferometric-Data-Analysis/Interferometry-Community-Software/assets/3255771/d8392c4f-5ece-4a74-858b-6a2d7bbc8805) 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | --------------------------------------------------------------------------------