HCIPy
0.5.2.dev325+g3cdb57f
Getting Started
Installation
Using pip
Dependencies
Running the test suite
Building the documentation
Getting started with HCIPy
I - Coordinates, Grids and Fields
II - Wavefronts and optical systems
III - Atmosphere and adaptive optics
IV - Coronagraphy
Tutorials
Beginner
Making a broadband telescope point spread function
Introduction to coupling light into optical fibers
Near and far-field diffraction
Introduction to polarization
Telescope pupils and Grids
Imaging with a vector-Apodizing Phase Plate coronagraph
Imaging with a vortex coronagraph
Intermediate
Electric Field Conjugation
Wavefront sensing with a Pyramid wavefront sensor
Segmented deformable mirrors
Simple polarimeter
Design of vector-Apodizing Phase Plate patterns
Simultaneous phase and amplitude aberration sensing with a vector-Zernike wavefront sensor
Advanced
Creating your own optical elements
Adaptive optics with a Shack-Hartmann wavefront sensor
Citing HCIPy
The team
Direct contributors to code
Testing and QA
Contributing
Changelog
0.6.0 (Mar 15, 2024)
What’s Changed
New Contributors
0.5.1 (Oct 17, 2022)
What’s Changed
0.5.0 (Aug 18, 2022)
List of major changes
0.4.0 (Feb 22, 2021)
List of major changes
0.3.1 (Apr 2, 2020)
List of major changes
0.3.0 (Jan 21, 2020)
List of major changes
0.2 (Aug 7, 2019)
List of major changes
0.1 (Jul 5, 2018)
HCIPy Package
aperture - Telescope Pupil Generators
Functions
circular_aperture
make_circular_aperture
elliptical_aperture
make_elliptical_aperture
rectangular_aperture
make_rectangular_aperture
irregular_polygon_aperture
make_irregular_polygon_aperture
regular_polygon_aperture
make_regular_polygon_aperture
hexagonal_aperture
make_hexagonal_aperture
make_spider
make_spider_infinite
make_obstructed_circular_aperture
make_obstruction
make_rotated_aperture
make_shifted_aperture
make_segmented_aperture
make_elt_aperture
make_gmt_aperture
make_tmt_aperture
make_hexagonal_segmented_aperture
make_magellan_aperture
make_luvoir_a_aperture
make_luvoir_a_lyot_stop
make_luvoir_b_aperture
make_hale_aperture
make_hicat_aperture
make_hicat_lyot_stop
make_vlt_aperture
make_vlti_aperture
make_vlti_dopd_map
make_habex_aperture
make_hst_aperture
make_jwst_aperture
make_keck_aperture
atmosphere - Turbulence generation
Functions
phase_covariance_von_karman
phase_structure_function_von_karman
power_spectral_density_von_karman
Cn_squared_from_fried_parameter
fried_parameter_from_Cn_squared
seeing_to_fried_parameter
fried_parameter_to_seeing
make_standard_atmospheric_layers
make_las_campanas_atmospheric_layers
make_keck_atmospheric_layers
Classes
MultiLayerAtmosphere
AtmosphericLayer
FiniteAtmosphericLayer
InfiniteAtmosphericLayer
ModalAdaptiveOpticsLayer
config - Configuration file
Classes
Configuration
coronagraphy - Coronagraphs
Functions
generate_app_keller
generate_app_por
make_ravc_masks
get_ravc_planet_transmission
Classes
VectorApodizingPhasePlate
KnifeEdgeLyotCoronagraph
LyotCoronagraph
MultiScaleCoronagraph
OccultedLyotCoronagraph
PerfectCoronagraph
FQPMCoronagraph
VortexCoronagraph
VectorVortexCoronagraph
field - Fields and Grids
Functions
field_einsum
field_dot
field_trace
field_inv
field_inverse_tikhonov
field_inverse_truncated
field_inverse_truncated_modal
field_svd
make_field_operation
field_conjugate_transpose
field_transpose
field_determinant
field_adjoint
field_cross
field_kron
make_uniform_grid
make_pupil_grid
make_focal_grid_from_pupil_grid
make_focal_grid
make_hexagonal_grid
make_chebyshev_grid
make_supersampled_grid
make_subsampled_grid
subsample_field
evaluate_supersampled
make_uniform_vector_field
make_uniform_vector_field_generator
is_field
Classes
Grid
Field
CartesianGrid
PolarGrid
UnstructuredCoords
SeparatedCoords
RegularCoords
fourier - Fourier transforms
Functions
make_fourier_transform
make_fft_grid
get_fft_parameters
is_fft_grid
Classes
FourierTransform
ChirpZTransform
FastFourierTransform
FourierFilter
MatrixFourierTransform
NaiveFourierTransform
ZoomFastFourierTransform
interpolation - Interpolation routines
Functions
make_linear_interpolator_separated
make_linear_interpolator_unstructured
make_linear_interpolator
make_nearest_interpolator_separated
make_nearest_interpolator_unstructured
make_nearest_interpolator
metrics - Strehl and Contrast
Functions
get_strehl_from_focal
get_strehl_from_pupil
get_mean_intensity_in_roi
get_mean_raw_contrast
binned_profile
azimutal_profile
radial_profile
mode_basis - Mode Bases
Functions
make_gaussian_hermite_basis
gaussian_hermite_index
gaussian_hermite
index_to_hermite
gaussian_laguerre
make_gaussian_laguerre_basis
make_gaussian_pokes
make_sine_basis
make_cosine_basis
make_fourier_basis
make_complex_fourier_basis
make_lp_modes
make_LP_modes
make_zernike_basis
zernike
noll_to_zernike
zernike_to_noll
ansi_to_zernike
zernike_to_ansi
disk_harmonic
disk_harmonic_energy
make_disk_harmonic_basis
Classes
ModeBasis
optics - General Optical Elements
Functions
make_power_law_error
make_actuator_positions
make_gaussian_influence_functions
make_xinetics_influence_functions
find_illuminated_actuators
label_actuator_centroid_positions
make_gaussian_fiber_mode
SingleModeFiber
make_sellmeier_glass
make_cauchy_glass
get_refractive_index
get_glasses_in_catalogue
closest_points
make_agnostic_forward
make_agnostic_backward
make_agnostic_optical_element
jones_to_mueller
spherical_surface_sag
parabolic_surface_sag
conical_surface_sag
even_aspheric_surface_sag
Classes
SurfaceAberration
SurfaceAberrationAtDistance
Apodizer
PhaseApodizer
SurfaceApodizer
ComplexSurfaceApodizer
MultiplexedComplexSurfaceApodizer
DynamicOpticalSystem
DeformableMirror
Detector
NoiselessDetector
NoisyDetector
StepIndexFiber
SingleModeFiberInjection
SingleModeFiberArray
GaussianBeam
Magnifier
EvenAsphereMicroLensArray
SphericalMicroLensArray
MicroLensArray
OpticalElement
EmptyOpticalElement
AgnosticOpticalElement
OpticalSystem
PeriodicOpticalElement
JonesMatrixOpticalElement
PhaseRetarder
LinearRetarder
CircularRetarder
QuarterWavePlate
HalfWavePlate
GeometricPhaseElement
LinearPolarizer
LinearPolarizingBeamSplitter
CircularPolarizingBeamSplitter
SegmentedDeformableMirror
TipTiltMirror
SimpleVibration
Wavefront
ThinLens
Prism
ThinPrism
TiltElement
PhaseGrating
plotting - Field Plotting Routines
Functions
set_color_scheme
errorfill
imshow_field
imsave_field
contour_field
contourf_field
complex_field_to_rgb
imshow_psf
imshow_pupil_phase
Classes
FrameWriter
GifWriter
FFMpegWriter
propagation - Optical Propagators
Classes
Propagator
FresnelPropagator
FraunhoferPropagator
AngularSpectrumPropagator
util - Miscellaneous Utilities
Functions
large_poisson
large_gamma
make_emccd_noise
inverse_truncated
inverse_truncated_modal
inverse_tikhonov
read_fits
write_fits
read_grid
write_grid
read_field
write_field
read_mode_basis
write_mode_basis
generate_convolution_matrix
make_laplacian_matrix
make_derivative_matrix
Classes
SpectralNoiseFactory
SpectralNoise
SpectralNoiseFactoryFFT
SpectralNoiseFFT
SpectralNoiseFactoryMultiscale
SpectralNoiseMultiscale
SVD
wavefront_control - Wavefront Control
wavefront_sensing - Wavefront Sensors
Functions
make_odwfs_amplitude_filter
make_polarization_odwfs_amplitude_filter
optical_differentiation_surface
Classes
WavefrontSensorOptics
WavefrontSensorEstimator
OpticalDifferentiationWavefrontSensorOptics
OpticalDifferentiationWavefrontSensorEstimator
ModulatedPyramidWavefrontSensorOptics
PyramidWavefrontSensorOptics
PyramidWavefrontSensorEstimator
ShackHartmannWavefrontSensorOptics
SquareShackHartmannWavefrontSensorOptics
ShackHartmannWavefrontSensorEstimator
ZernikeWavefrontSensorOptics
ZernikeWavefrontSensorEstimator
VectorZernikeWavefrontSensorOptics
Developer resources
Contributing guide
Reporting bugs or requesting enhancements
Contributing code
Project setup
Folder structure and files
Git
Coding style
Continuous integration and test suite
Documentation
Tutorials
API Documentation
Website
How to make a new release?
HCIPy
optics - General Optical Elements
SingleModeFiber
View page source
SingleModeFiber
hcipy.optics.
SingleModeFiber
(
input_grid
,
mode_field_diameter
,
mode
=
None
)