source codes by ML (former version)

These code files are stored in src3 directory

La documentación se genera sola a partir de los comentarios, y se puede acceder mediante el link al modulo PixelSky

La idea es que PixelSky.py define una serie de clases para trabajar con orientación a objetos.

Por ejemplo, está la clase PixelSky.RadialProfile y la clase PixelSky.Correlation.

Una vez que se define una instancia de un objeto de una determinada clase, se pueden aplicar los métodos de esa clase. Por ejemplo, un objeto de tipo PixelSky.RadialProfile puede ejecutar un método que fija la partición (i.e., inicio y fin, y cantidad de bines para el perfil), PixelSky.RadialProfile.set_breaks(), y puede ejecutar la cuenta con PixelSky.RadialProfile.radialprofile().

Para trabajar con el perfil radial, por ejemplo, se puede usar esta estructura básica (basado en run_profile.py):

Además de esto, hay otras tareas, a saber:

  • parsing del archivo de configuración
  • lectura de datos
  • escritura de los resultados

Hay dos programas, run_correlation.py y run_profile.py que corren la correlación y el perfil, respectivamente.

El análisis de los resultados se hace con analyze_corr.py. Los demás archivos son de desarrollo (y por lo tanto, en realidad no deberían estar en control de versión, pero bueh…).

Ahora veamos cada uno en detalle, por ejemplo para el perfil:

Parsing del archivo de configuración

Todos los parámetros a los que se les asigna un valor en el archivo de configuración se deben leer usando el módulo configparser.

Las variables se acceden a través de las secciones y los nombres asignados en el archivo de configuración. Por ejemplo, para acceder a la variable ‘datadir_cmb’ de la sección ‘maps’, config[‘maps’][‘datadir_cmb’]

Lectura de datos

datos del CMB:

datos de los catálogos de galaxias:

Curación de datos

Cómputo del perfil

Para el cómputo del perfil se asignan los valores de los parámetros usando el archivo de configuración.

Escritura de los resultados

Los resultados se escriben si config[‘out’][‘save_pickle’] es True. El nombre del archivo de salida se construye a partir de los valores guardados en en archivo de configuración.

Paralelismo

El paralelismo está implementado en el método PixelSky.RadialProfile.radialprofile_II(), mediante un wrapper de la función serial PixelSky.RadialProfile.radialprofile(). El wrapper es el método PixelSky.RadialProfile.unwrap_profile_self(), que usa el paquete joblib.