marnixGeerkens/rocketlauncher-claude-code

Librería completa de Python para astronomía y astrofísica. Esta habilidad debe usarse al trabajar con datos astronómicos, incluyendo coordenadas celestes, unidades físicas, archivos FITS, cálculos cosmológicos, sistemas de tiempo, tablas, sistemas de coordenadas mundiales (WCS) y análisis de datos astronómicos. Úsala cuando las tareas involucren transformaciones de coordenadas, conversiones de unidades, manipulación de archivos FITS, cálculos de distancias cosmológicas, conversiones de escalas de tiempo o procesamiento de datos astronómicos.

¿Qué es rocketlauncher-claude-code?

Astropy es el paquete central de Python para astronomía, que proporciona funcionalidades esenciales para la investigación y el análisis de datos astronómicos. Esta habilidad cubre transformaciones de coordenadas, cálculos con unidades y cantidades físicas, lectura y escritura de archivos FITS, cálculos cosmológicos, manejo preciso del tiempo, manipulación de datos tabulares y procesamiento de imágenes astronómicas. Soporta múltiples plataformas de agentes de IA como Claude Code, Cursor y Codex, y está diseñada para que los desarrolladores y usuarios puedan interactuar con datos astronómicos de manera eficiente. El conocimiento se organiza en módulos clave como `astropy.units`, `astropy.coordinates`, `astropy.cosmology`, `astropy.io.fits`, `astropy.table`, `astropy.time` y `astropy.wcs`, cada uno con sus propias capacidades especializadas y referencias detalladas en archivos Markdown independientes. Su uso es ideal para tareas que requieren precisión en coordenadas celestes, conversión de unidades, manipulación de archivos FITS, cálculos cosmológicos, manejo de escalas de tiempo y análisis de datos astronómicos en general.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/marnixGeerkens/rocketlauncher-claude-code/tree/HEAD/components/skills/scientific/astropy

Installed? Explore more Investigación y análisis de datos skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Astropy

Resumen

Astropy es el paquete principal de Python para astronomía, que proporciona funcionalidades esenciales para la investigación y el análisis de datos astronómicos. Usa astropy para transformaciones de coordenadas, cálculos con unidades y cantidades, operaciones con archivos FITS, cálculos cosmológicos, manejo preciso del tiempo, manipulación de datos tabulares y procesamiento de imágenes astronómicas.

Cuándo usar esta habilidad

Usa astropy cuando las tareas impliquen:

  • Convertir entre sistemas de coordenadas celestes (ICRS, Galáctico, FK5, AltAz, etc.)
  • Trabajar con unidades y cantidades físicas (convertir Jy a mJy, pársecs a km, etc.)
  • Leer, escribir o manipular archivos FITS (imágenes o tablas)
  • Cálculos cosmológicos (distancia de luminosidad, tiempo de retroceso, parámetro de Hubble)
  • Manejo preciso del tiempo con diferentes escalas horarias (UTC, TAI, TT, TDB) y formatos (JD, MJD, ISO)
  • Operaciones con tablas (leer catálogos, cruzar coincidencias, filtrar, unir)
  • Transformaciones WCS entre coordenadas de píxel y coordenadas del mundo
  • Constantes y cálculos astronómicos

Inicio rápido

import astropy.units as u
from astropy.coordinates import SkyCoord
from astropy.time import Time
from astropy.io import fits
from astropy.table import Table
from astropy.cosmology import Planck18

# Unidades y cantidades
distancia = 100 * u.pc
distancia_km = distancia.to(u.km)

# Coordenadas
coord = SkyCoord(ra=10.5*u.degree, dec=41.2*u.degree, frame='icrs')
coord_galactica = coord.galactic

# Tiempo
t = Time('2023-01-15 12:30:00')
jd = t.jd  # Fecha Juliana

# Archivos FITS
datos = fits.getdata('imagen.fits')
encabezado = fits.getheader('imagen.fits')

# Tablas
tabla = Table.read('catalogo.fits')

# Cosmología
d_L = Planck18.luminosity_distance(z=1.0)

Capacidades principales

1. Unidades y Cantidades (astropy.units)

Maneja cantidades físicas con unidades, realiza conversiones de unidades y asegura la consistencia dimensional en los cálculos.

Operaciones clave:

  • Crear cantidades multiplicando valores con unidades
  • Convertir entre unidades usando el método .to()
  • Realizar aritmética con manejo automático de unidades
  • Usar equivalencias para conversiones específicas del dominio (espectral, doppler, paralaje)
  • Trabajar con unidades logarítmicas (magnitudes, decibelios)

Ver: references/units.md para documentación completa, sistemas de unidades, equivalencias, optimización de rendimiento y aritmética de unidades.

2. Sistemas de Coordenadas (astropy.coordinates)

Representa posiciones celestes y transforma entre diferentes marcos de coordenadas.

Operaciones clave:

  • Crear coordenadas con SkyCoord en cualquier marco (ICRS, Galáctico, FK5, AltAz, etc.)
  • Transformar entre sistemas de coordenadas
  • Calcular separaciones angulares y ángulos de posición
  • Emparejar coordenadas con catálogos
  • Incluir distancia para operaciones de coordenadas 3D
  • Manejar movimientos propios y velocidades radiales
  • Consultar objetos nombrados desde bases de datos en línea

Ver: references/coordinates.md para descripciones detalladas de marcos de coordenadas, transformaciones, marcos dependientes del observador (AltAz), emparejamiento de catálogos y consejos de rendimiento.

3. Cálculos Cosmológicos (astropy.cosmology)

Realiza cálculos cosmológicos utilizando modelos cosmológicos estándar.

Operaciones clave:

  • Usar cosmologías integradas (Planck18, WMAP9, etc.)
  • Crear modelos cosmológicos personalizados
  • Calcular distancias (luminosidad, comóvil, diámetro angular)
  • Calcular edades y tiempos de retroceso
  • Determinar el parámetro de Hubble en cualquier corrimiento al rojo
  • Calcular parámetros de densidad y volúmenes
  • Realizar cálculos inversos (encontrar z para una distancia dada)

Ver: references/cosmology.md para modelos disponibles, cálculos de distancia, cálculos de tiempo, parámetros de densidad y efectos de neutrinos.

4. Manejo de Archivos FITS (astropy.io.fits)

Lee, escribe y manipula archivos FITS (Sistema de Transporte de Imágenes Flexible).

Operaciones clave:

  • Abrir archivos FITS con administradores de contexto
  • Acceder a HDUs (Unidades de Datos de Encabezado) por índice o nombre
  • Leer y modificar encabezados (palabras clave, comentarios, historial)
  • Trabajar con datos de imagen (arrays NumPy)
  • Manejar datos de tabla (tablas binarias y ASCII)
  • Crear nuevos archivos FITS (de extensión única o múltiple)
  • Usar mapeo de memoria para archivos grandes
  • Acceder a archivos FITS remotos (S3, HTTP)

Ver: references/fits.md para operaciones completas de archivos, manipulación de encabezados, manejo de imágenes y tablas, archivos de múltiples extensiones y consideraciones de rendimiento.

5. Operaciones con Tablas (astropy.table)

Trabaja con datos tabulares con soporte para unidades, metadatos y varios formatos de archivo.

Operaciones clave:

  • Crear tablas a partir de arrays, listas o diccionarios
  • Leer/escribir tablas en múltiples formatos (FITS, CSV, HDF5, VOTable)
  • Acceder y modificar columnas y filas
  • Ordenar, filtrar e indexar tablas
  • Realizar operaciones estilo base de datos (unir, agrupar, agregar)
  • Apilar y concatenar tablas
  • Trabajar con columnas que reconocen unidades (QTable)
  • Manejar datos faltantes con enmascaramiento

Ver: references/tables.md para creación de tablas, operaciones de E/S, manipulación de datos, ordenación, filtrado, uniones, agrupación y consejos de rendimiento.

6. Manejo del Tiempo (astropy.time)

Representación precisa del tiempo y conversión entre escalas y formatos horarios.

Operaciones clave:

  • Crear objetos Time en varios formatos (ISO, JD, MJD, Unix, etc.)
  • Convertir entre escalas de tiempo (UTC, TAI, TT, TDB, etc.)
  • Realizar aritmética temporal con TimeDelta
  • Calcular tiempo sidéreo para observadores
  • Calcular correcciones de tiempo de viaje de la luz (baricéntrica, heliocéntrica)
  • Trabajar con arrays de tiempo de manera eficiente
  • Manejar tiempos enmascarados (faltantes)

Ver: references/time.md para formatos de tiempo, escalas de tiempo, conversiones, aritmética, funciones de observación y manejo de precisión.

7. Sistema de Coordenadas Mundiales (astropy.wcs)

Transforma entre coordenadas de píxel en imágenes y coordenadas del mundo real.

Operaciones clave:

  • Leer WCS de encabezados FITS
  • Convertir coordenadas de píxel a coordenadas del mundo (y viceversa)
  • Calcular huellas de imágenes
  • Acceder a parámetros WCS (píxel de referencia, proyección, escala)
  • Crear objetos WCS personalizados

Ver: references/wcs_and_other_modules.md para operaciones y transformaciones WCS.

Capacidades adicionales

El archivo references/wcs_and_other_modules.md también cubre:

NDData y CCDData

Contenedores para conjuntos de datos n-dimensionales con metadatos, incertidumbre, enmascaramiento e información WCS.

Modelado

Marco de trabajo para crear y ajustar modelos matemáticos a datos astronómicos.

Visualización

Herramientas para visualización de imágenes astronómicas con estiramiento y escalado apropiados.

Constantes

Constantes físicas y astronómicas con unidades adecuadas (velocidad de la luz, masa solar, constante de Planck, etc.).

Convolución

Kernels de procesamiento de imágenes para suavizado y filtrado.

Estadística

Funciones estadísticas robustas que incluyen recorte sigma y rechazo de valores atípicos.

Instalación

# Instalar astropy
uv pip install astropy

# Con dependencias opcionales para funcionalidad completa
uv pip install astropy[all]

Flujos de trabajo comunes

Convertir coordenadas entre sistemas

from astropy.coordinates import SkyCoord
import astropy.units as u

# Crear coordenada
c = SkyCoord(ra='05h23m34.5s', dec='-69d45m22s', frame='icrs')

# Transformar a galáctico
c_gal = c.galactic
print(f"l={c_gal.l.deg}, b={c_gal.b.deg}")

# Transformar a alt-az (requiere tiempo y ubicación)
from astropy.time import Time
from astropy.coordinates import EarthLocation, AltAz

tiempo_observacion = Time('2023-06-15 23:00:00')
ubicacion_observacion = EarthLocation(lat=40*u.deg, lon=-120*u.deg)
aa_frame = AltAz(obstime=tiempo_observacion, location=ubicacion_observacion)
c_altaz = c.transform_to(aa_frame)
print(f"Alt={c_altaz.alt.deg}, Az={c_altaz.az.deg}")

Leer y analizar archivos FITS

from astropy.io import fits
import numpy as np

# Abrir archivo FITS
with fits.open('observacion.fits') as hdul:
    # Mostrar estructura
    hdul.info()

    # Obtener datos de imagen y encabezado
    datos = hdul[1].data
    encabezado = hdul[1].header

    # Acceder a valores del encabezado
    exptime = encabezado['EXPTIME']
    nombre_filtro = encabezado['FILTER']

    # Analizar datos
    media = np.mean(datos)
    mediana = np.median(datos)
    print(f"Media: {media}, Mediana: {mediana}")

Cálculos de distancia cosmológica

from astropy.cosmology import Planck18
import astropy.units as u
import numpy as np

# Calcular distancias en z=1.5
z = 1.5
d_L = Planck18.luminosity_distance(z)
d_A = Planck18.angular_diameter_distance(z)

print(f"Distancia de luminosidad: {d_L}")
print(f"Distancia de diámetro angular: {d_A}")

# Edad del universo en ese corrimiento al rojo
edad = Planck18.age(z)
print(f"Edad en z={z}: {edad.to(u.Gyr)}")

# Tiempo de retroceso
t_retroceso = Planck18.lookback_time(z)
print(f"Tiempo de retroceso: {t_retroceso.to(u.Gyr)}")

Cruce de coincidencias de catálogos

from astropy.table import Table
from astropy.coordinates import SkyCoord, match_coordinates_sky
import astropy.units as u

# Leer catálogos
cat1 = Table.read('catalogo1.fits')
cat2 = Table.read('catalogo2.fits')

# Crear objetos de coordenadas
coords1 = SkyCoord(ra=cat1['RA']*u.degree, dec=cat1['DEC']*u.degree)
coords2 = SkyCoord(ra=cat2['RA']*u.degree, dec=cat2['DEC']*u.degree)

# Encontrar coincidencias
idx, sep, _ = coords1.match_to_catalog_sky(coords2)

# Filtrar por umbral de separación
sep_max = 1 * u.arcsec
coincidencias = sep < sep_max

# Crear catálogos emparejados
cat1_emparejado = cat1[coincidencias]
cat2_emparejado = cat2[idx[coincidencias]]
print(f"Se encontraron {len(cat1_emparejado)} coincidencias")

Mejores prácticas

  1. Usa siempre unidades: Asigna unidades a las cantidades para evitar errores y asegurar consistencia dimensional
  2. Usa administradores de contexto para archivos FITS: Asegura el cierre adecuado del archivo
  3. Prefiere arrays sobre bucles: Procesa múltiples coordenadas/tiempos como arrays para mejor rendimiento
  4. Verifica los marcos de coordenadas: Confirma el marco antes de las transformaciones
  5. Usa la cosmología adecuada: Elige el modelo cosmológico correcto para tu análisis
  6. Maneja datos faltantes: Usa columnas enmascaradas para tablas con valores faltantes
  7. Especifica escalas de tiempo: Sé explícito sobre las escalas de tiempo (UTC, TT, TDB) para una sincronización precisa
  8. Usa QTable para tablas con unidades: Cuando las columnas de la tabla tengan unidades
  9. Verifica la validez de WCS: Confirma el WCS antes de usar transformaciones
  10. Almacena en caché valores usados con frecuencia: Los cálculos costosos (por ejemplo, distancias cosmológicas) se pueden almacenar en caché

Documentación y recursos

Archivos de referencia

Para obtener información detallada sobre módulos específicos:

  • references/units.md - Unidades, cantidades, conversiones y equivalencias
  • references/coordinates.md - Sistemas de coordenadas, transformaciones y emparejamiento de catálogos
  • references/cosmology.md - Modelos y cálculos cosmológicos
  • references/fits.md - Operaciones y manipulación de archivos FITS
  • references/tables.md - Creación, E/S y operaciones de tablas
  • references/time.md - Formatos, escalas y cálculos de tiempo
  • references/wcs_and_other_modules.md - WCS, NDData, modelado, visualización, constantes y utilidades

Individual skills in this repo

This repo contains 13 individual skills — each has its own dedicated page.

marnixGeerkens/rocketlauncher-claude-code

When the user wants to optimize, improve, or increase conversions on any marketing page — including homepage, landing pages, pricing pages, feature pages, or blog posts. Also use when the user says "CRO," "conversion rate optimization," "this page isn't converting," "improve conversions," or "why isn't this page working." For signup/registration flows, see signup-flow-cro. For post-signup activation, see onboarding-cro. For forms outside of signup, see form-cro. For popups/modals, see popup-cro.

marnixGeerkens/rocketlauncher-claude-code

Balance visual design with ATS compatibility for creative roles. Use when the user is in design, art, writing, marketing creative, or any visual/creative field and needs a resume that looks distinctive but still parses.

marnixGeerkens/rocketlauncher-claude-code

Transform resume bullets into detailed portfolio case studies with context, action, and outcome. Use when the user mentions portfolio, case study, project write-up, or expanding a resume bullet into a longer narrative.

marnixGeerkens/rocketlauncher-claude-code

Expert in building portfolios that actually land jobs and clients - not just showing work, but creating memorable experiences. Covers developer portfolios, designer portfolios, creative portfolios, and portfolios that convert visitors into opportunities. Use when: portfolio, personal website, showcase work, developer portfolio, designer portfolio.

marnixGeerkens/rocketlauncher-claude-code

Tailwind CSS v4 principles. CSS-first configuration, container queries, modern patterns, design token architecture.

marnixGeerkens/rocketlauncher-claude-code

Frontend development patterns for React, Next.js, state management, performance optimization, and UI best practices.

marnixGeerkens/rocketlauncher-claude-code

Frontend development guidelines for React/TypeScript applications. Modern patterns including Suspense, lazy loading, useSuspenseQuery, file organization with features directory, MUI v7 styling, TanStack Router, performance optimization, and TypeScript best practices. Use when creating components, pages, features, fetching data, styling, routing, or working with frontend code.

marnixGeerkens/rocketlauncher-claude-code

Next.js App Router principles. Server Components, data fetching, routing patterns.

marnixGeerkens/rocketlauncher-claude-code

Expert integration of Supabase Auth with Next.js App Router Use when: supabase auth next, authentication next.js, login supabase, auth middleware, protected route.

marnixGeerkens/rocketlauncher-claude-code

Comprehensive frontend development skill for building modern, performant web applications using ReactJS, NextJS, TypeScript, Tailwind CSS. Includes component scaffolding, performance optimization, bundle analysis, and UI best practices. Use when developing frontend features, optimizing performance, implementing UI/UX designs, managing state, or reviewing frontend code.

marnixGeerkens/rocketlauncher-claude-code

Create API handoff documentation for frontend developers. Use when backend work is complete and needs to be documented for frontend integration, or user says 'create handoff', 'document API', 'frontend handoff', or 'API documentation'.

marnixGeerkens/rocketlauncher-claude-code

Document frontend data needs for backend developers. Use when frontend needs to communicate API requirements to backend, or user says 'backend requirements', 'what data do I need', 'API requirements', or is describing data needs for a UI.

marnixGeerkens/rocketlauncher-claude-code

Comprehensive patterns for Next.js 14+ App Router architecture, Server Components, and modern full-stack React development.

Skills relacionados