Skip to main content

Reduction Pipeline for OPTICAM Photometry of Exoplanets (PROFE in spanish)

Project description

PROFE: Pipeline de Reducción de OPTICAM para Fotometría de Exoplanetas

Reduction pipeline for OPTICAM photometry of exoplanets.

A Python-based pipeline to automate preprocessing and postprocessing of data acquired with the OPTICAM instrument on the 2.1 m telescope at OAN‑SPM, aimed at producing calibrated light curves and centroid analyses for transiting exoplanets implementing the data reduction methods proposed by Paez et. al (in prep.).


Features

  • Preprocessing (profe_pre):

    • Organize and standardize FITS files.
    • Update headers and compute Julian Date.
    • Apply median filter
  • Postprocessing (profe_out):

    • Plot of altitude-azimuth trajectory and centroids and movement in pixels .
    • Generate binned light curves with RMS measurements.
    • Time-averaging curves with the red and white noise in the time-series.
    • Radial profile for target star
    • Field of View with apertures for target and comparison stars

Requirements

Dependencies defined in pyproject.toml:

  • Python ($\geq 3.8.20$, $\leq 3.12$)
  • astropy ($5.3.2$)
  • scipy ($\geq 1.10$, $<2.0$)
  • matplotlib ($\geq3.10.3$, $<4.0.0$)
  • tqdm ($\geq 4.67.1$, $<5.0.0$)
  • pandas ($\geq 2.3.1$, $<3.0.0$)
  • mc3 ($\geq 3.2.1$, $<4.0.0$)
  • photutils ($\geq 2.2.0$, $<3.0.0$)
  • numpy ($\geq 1.24$, $<2.0$)

Installation

Install from the project root:

pip install profe

For a development environment (include testing and linting tools):

git clone https://github.com/s-paez/profe.git
cd profe
pip install .[dev]

Usage

Profiling

To analyze the performance of the preprocessing pipeline, you can use pyinstrument (installed with dev dependencies):

# Profile the script and output an interactive HTML report
poetry run pyinstrument -m profe.preprocess.cli --cores 4

This will generate a detailed report showing execution time for each function call.

Preprocessing

Organize raw data from data/ directory into the organized_data/ directory, update time headers, perform median filter correction:

profe_pre

By default, profe_pre uses all available CPU cores. You can limit the number of cores using the --cores (or -n) flag:

# Use only 4 cores
profe_pre --cores 4

AstroImageJ

Once the data have been preprocessed with profe, it is time to perform data reduction and photometry with AstroImageJ and save the measurements tables in .tbl format.

Outputs

Generate light curves (plots and files), centroid movement plots, Alt-Az trajectory, Field of View apertures, radial profile and time-averaging curves for measurements.tbl files:

profe_out

Development & Contribution

We welcome contributions to improve PROFE! Please follow these steps to ensure a smooth process:

  1. Fork the repository on GitHub and clone your fork locally:
    git clone https://github.com/<username>/profe.git
    cd profe
    
  2. Create a new branch for your feature of bugfix:
    git checkout -b feat/new-feature
    git checkout -b fix/issue-123
    
  3. Install development dependencies:
    pip install -e ".[dev]"
    
  4. Enable and run pre-commit hooks (for code style and quality checks):
    pre-commit install
    pre-commit run --all-files
    
  5. Commit and push your changes to your fork
  6. Open a Pull Request from your fork to the main repository. In your PR description:
    • Explain the what and why of the change
    • Reference related issues

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

profe-0.1.4.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

profe-0.1.4-py3-none-any.whl (27.8 kB view details)

Uploaded Python 3

File details

Details for the file profe-0.1.4.tar.gz.

File metadata

  • Download URL: profe-0.1.4.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.4 Darwin/25.1.0

File hashes

Hashes for profe-0.1.4.tar.gz
Algorithm Hash digest
SHA256 a69c9bcbd20a0a959341320a7872e12d12e0fba8a68c1f6d3af50dea482ecef6
MD5 3d97e0867df8beeb891b5e78435a785c
BLAKE2b-256 bb5e3d1ce15549c4a6f0689cba132c79c4986cd0dca8344fcfc781dee6ba7009

See more details on using hashes here.

File details

Details for the file profe-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: profe-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 27.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.4 Darwin/25.1.0

File hashes

Hashes for profe-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 720929212e3ce3cc733ced5ee5bb1d5a5fa3a05c777e55cd5136f975169ec0bb
MD5 4b8fccd6fd960240b3b472b25dc3c55b
BLAKE2b-256 598345fee928a07e29b0291c7ddc91a841f091941436e09f200d6f103677dc58

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page