Pulsar scintillation screens

Powered by Astropy Badge Test Status Documentation Status DOI 10.5281/zenodo.7455535

Analyze and model pulsar dynamic spectra, using secondary spectra and theta-theta decompositions for linear screens.

Everything here is super-preliminary and in constant flux.

Installation instructions

The package and its dependencies can be installed with:

pip install git+https://github.com/mhvk/screens.git#egg=screens


This project is Copyright (c) M.H. van Kerkwijk and licensed under the terms of the GNU GPL v3+ license. This package is based upon the Astropy package template which is licensed under the BSD 3-clause licence. See the licenses folder for more information.



Generating and processing scintillometry data

Modelling scintillation velocities

This is a sequence of interconnected tutorials dealing with time series of scintillation velocities (or curvature). See also the background document on scintillation velocities for a derivation of the equation appearing in these tutorials.


screens.fields Module


phasor(indep, transform[, linear_axis])

Calculate phase part of a Fourier transform like operation.

dynamic_field(theta_par, theta_perp, ...[, fast])

Given a set of scattering points, construct the dynamic wave field.

theta_grid(d_eff, mu_eff, fobs, dtau, ...)

Make a grid of theta that sample the parabola in a particular way.

theta_theta_indices(theta[, lower, upper])

Indices to pairs of angles within bounds.

screens.dynspec Module


DynamicSpectrum(dynspec, f, t[, noise, ...])

Dynamic spectrum and methods to fit it.

Class Inheritance Diagram

Inheritance diagram of screens.dynspec.DynamicSpectrum

screens.conjspec Module


ConjugateSpectrum(conjspec, tau, fd[, ...])

Conjugate spectrum and methods to fit it.

Class Inheritance Diagram

Inheritance diagram of screens.conjspec.ConjugateSpectrum

screens.screen Module

Representations for sources, screens, and telescopes.


experimental, i.e., API likely to change. For an example, see examples/two_screens.py.


Source([pos, vel, magnification])

Source of radiation at a given position and velocity.

Screen([pos, vel, magnification, source, ...])

Screen passing through a source of radiation.

Telescope([pos, vel, magnification, source, ...])

Telescope detecting a source of radiation.

Screen1D(normal[, p, v, magnification, ...])

One-dimensional screen.

Class Inheritance Diagram

Inheritance diagram of screens.screen.Source, screens.screen.Screen, screens.screen.Telescope, screens.screen.Screen1D

screens.visualization Package


make_sketch(theta[, beta, screen_y_scale, ...])

Draw a schematic of the thin-screen model of for scintillation.



Class Inheritance Diagram

Inheritance diagram of screens.visualization.thetatheta.ThetaTheta