Python-based data analysis is dominating many fields. In astronomy and geoscience applications, Python dominance is increasing. Consider a widely valued langauge like Python inside of a niche, virtually unknown language outside a few specialties.
Installing Python for the first time
Miniconda Python is a 50 MB download–it won’t initially take several gigabytes of hard drive space like Matlab and IDL.
Package distribution can occur via a website or preferably, a centralized
For example, to install popular data analysis modules:
conda install pandas scipy matplotlib spyder
We note that IDL 8.7 added JSON format for package metadata.
IDL vs. Python syntax
table of NumPy/Python equivalents to common IDL commands
IDL is a bit distinctive in its syntax. IDL and Matlab syntax remind me a bit of Fortran, while Python is C-based, including that Python has 0-based indexing and C-order array axes.
Mayavi also gives advanced 3-D visualization.
Ipyvolume 3-D example
Jupyter Notebook makes an IDE in your web browser, and you can make remarkable animated, interactive 3-D plots as well with Ipyvolume.
conda install jupyter python -m pip install ipyvolume
HDF5 can handle enormous datasets quickly and easily.
Assume you have an HDF5 file
terabyte.h5 with double-precision float variable X of size 100000x2048x2048 (3.4 TB).
Let’s load the first frame of the 2048x2048 image data, and write it variable
with syntax uses Python’s context manager, which closes the file upon exiting the indented code section under
import h5py with h5py.File('terabyte.h5') as f: img = f['X'][0,...] with h5py.File('image.h5') as f: f['first'] = img
IDL ↔ Python
IDL ≥ 8.7 supports Python
Call GDL from Python
GDL Gnu Data Language is free open-source alternative to IDL, compatible with most IDL syntax.
from Python, call IDL/GDL functions by simply
import GDL. See PYTHON.TXT
Call Matlab from Python and Python from Matlab
In case you or a collaborator uses Matlab or Matlab code, you can: