SPiP : Spacecraft Pixel footprint Projection
Projection of the pixel footprint from an instrument onboard an orbital spacecraft on a planetary surface.
Installation & Update
Method 1: from PyPI (recommended)
Installation: pip3 install planetary-spip
Update: pip3 install planetary-spip --upgrade
Method 2: from the GitHub repository (development version)
Installation: Clone the repository and install with pip:
git clone https://github.com/NAU-PIXEL/spip.git
cd spip
pip3 install .
Update: Go to the previously cloned repository, pull the last updates, and install them with pip:
cd spip
git pull
pip3 install .
Usage
# Package importation
import spip
import numpy as np
# Genaration of a longitude/latitude grid to project the footprint
lon_array = np.arange(0.25, 360, 0.5) # 0° -> 360°, 2 points per degree
lat_array = np.arange(-89.75, 90, 0.5) # -90° -> 90°, 2 points per degree
lon_grid, lat_grid = np.meshgrid(lon_array, lat_array)
# Pixel parameters
lon_px, lat_px = 58.2, 79.3 # Longitude/Latitude of the pixel center [deg]
emer = 61.7 # Emergence angle of the pixel on the surface [deg]
lon_subsc, lat_subsc = 28.0, 24.9 # Longitude/Latitude sub-spacecraft [deg]
d_Mars_sc = 27212 # Distance aeroid-spacraft [km]
Rmars = spip.emm_emirs.Rmars # 3390 [km]
ifov = spip.emm_emirs.ifov_emirs # 2.7e-3 [rad]
# Generation of the mask map of the pixel footprint
#-- EMM/EMIRS spacecraft
mask_footprint = spip.emm_emirs.emirs_ifov_px_projection(
lon_grid,
lat_grid,
lon_px,
lat_px,
emer,
lon_subsc,
lat_subsc,
d_Mars_sc,
Rmars,
ifov
)
# To easily handle multiple pixels, there is the spip.emm_emirs.emirs_ifov_multi_px_projection() function.
#-- General case, cirular pixel
a, b, θ = spip.circular_pixels.params_ellipse_fov(
lon_px,
lat_px,
emer,
lon_subsc,
lat_subsc,
d_Mars_sc,
ifov
)
mask_footprint = spip.circular_pixels.in_ellipse_spherical(
lon_grid,
lat_grid,
Rmars,
a,
b,
lon_px,
lat_px,
θ
) * 1.
# > mask_footprint
# For each point of the longitude/latitude grid:
# | 1 -> Within the pixel footprint ellipse.
# | 0 -> Outside.
Documentation
Planetary Data Workshop 2023: abstract & poster
Credits
© Aurélien Stcherbinine (2023) NAU-PIXEL
Department of Astronomy and Planetary Science, Northern Arizona University, Flagstaff, AZ, USA
License
This package is released under a MIT open source license. See LICENSE for more details.
Metadata
Release files for planetary-spip 1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| planetary-spip-1.2.tar.gz | 7.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| planetary_spip-1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.3 kB
Release files / planetary-spip-1.2.tar.gz
| Download URL | planetary-spip-1.2.tar.gz |
|---|---|
| Size | 7.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd5f17095c9a3d831470d442cc89a837fb21f8777bf63d90841d427e97de5987
|
|
BLAKE2b-256 checksum How to use checksums |
d561742955989bffb2314ed8be411b2c66de01bae452dd19ec99fce0711fe715
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Release files / planetary_spip-1.2-py3-none-any.whl
| Download URL | planetary_spip-1.2-py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ea18e1daf781fd736a0cb20337f0a22014c1d775e628addde9554a2879b9ade3
|
|
BLAKE2b-256 checksum How to use checksums |
1ed62ef2830eb844db8726c169b0438fccfd934d5dd299bd12351cd9fd9324ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|