Metadata-Version: 2.4
Name: gnssvis
Version: 0.1.0
Summary: Radio telescope observation analysis: GNSS satellite detection, ephemerides, and spectro-temporal waterfall visualization
Author-email: Erik H Limeira <erik.henrique@estudante.ufcg.edu.br>
License: MIT
Project-URL: Homepage, https://github.com/ErikFis/gnssvis
Project-URL: Repository, https://github.com/ErikFis/gnssvis
Project-URL: Bug Tracker, https://github.com/ErikFis/gnssvis/issues
Keywords: gnss,radio astronomy,satellite,waterfall,ephemeris,fits,signal processing,radiotelescope,skyfield,astropy
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.22
Requires-Dist: matplotlib>=3.5
Requires-Dist: astropy>=5.0
Requires-Dist: scipy>=1.8
Requires-Dist: skyfield>=1.46
Requires-Dist: requests>=2.28
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# gnssvis

Biblioteca Python para analise e visualizacao de observacoes de radiotelescópio,
com foco em deteccao de satelites GNSS e objetos celestes no campo de visao.

Desenvolvida no contexto de pesquisa em radioastronomia na UFCG (Universidade Federal
de Campina Grande), com o radiotelescópio UIRAPURU.

## Instalacao

```bash
pip install gnssvis
```

Ou diretamente do repositorio:

```bash
git clone https://github.com/ErikFis/gnssvis.git
cd gnssvis
pip install -e .
```

## Uso rapido

```python
from gnssvis import GNSSVis

gv = GNSSVis()
gv.plot_waterfall_with_sky("observacao.fits", beamwidth_deg=30.0)
```

Isso automaticamente:
- Carrega o waterfall espectro-temporal do FITS
- Baixa e calcula trajetorias de satelites GNSS (SGP4 + TLEs da Celestrak)
- Calcula efemerides planetarias (DE421)
- Plota waterfall sincronizado com as trajetorias celestes
- Imprime lista detalhada dos objetos no feixe do telescopio

## Demo sem dados reais

```python
from gnssvis import GNSSVis

results = GNSSVis().quick_demo()
print(f"Objetos encontrados: {len(results['objects'])}")
```

## Processamento de sinal

```python
gv = GNSSVis()
gv.plot_waterfall_with_sky("observacao.fits", beamwidth_deg=30.0)

# Subtracao de baseline (mediana por tempo)
detrended = gv.baseline_subtract(axis=1)

# Suavizacao gaussiana
smoothed = gv.gaussian_smooth(sigma_freq=2.0, sigma_time=2.0)
```

## Observatorio customizado

```python
from gnssvis import GNSSVis

gv = GNSSVis(
    observatory_lat=-22.9,
    observatory_lon=-43.2,
    observatory_alt=10.0,
)
gv.plot_waterfall_with_sky("dados.fits")
```

## Dependencias

- **astropy**: Coordenadas e tempo astronomicos
- **matplotlib**: Visualizacao
- **numpy**: Computacao numerica
- **scipy**: Processamento de sinal (suavizacao gaussiana)
- **skyfield**: Efemerides e propagacao SGP4 de satelites
- **requests**: Download de TLEs da Celestrak

## Documentacao

- [Arquitetura](https://github.com/ErikFis/gnssvis/blob/main/docs/ARCHITECTURE.md)
- [Guia de Plotagem](https://github.com/ErikFis/gnssvis/blob/main/docs/PLOTTING_GUIDE.md)
- [API](https://github.com/ErikFis/gnssvis/blob/main/docs/SIMPLE_API.md)

## Contribuindo

1. Fork o repositorio
2. Crie um branch (`git checkout -b feature/nova-funcionalidade`)
3. Commit suas alteracoes
4. Abra um Pull Request

## Licenca

MIT License - veja [LICENSE](https://github.com/ErikFis/gnssvis/blob/main/LICENSE) para detalhes.
