.. |br| raw:: html
Instalación de IRAF y PyRAF en portátil Mac =========================================== IRAF (v2.18) y PyRAF se pueden instalar también en un portátil Mac. El procedimiento es algo distinto del que se usa para instalarlo en Ubuntu. Una descripción completa se puede encontrar en https://iraf.noirlab.edu/release, aquí resumimos los pasos importantes con algunas notas. Requisitos ---------- * Esta release de IRAF/PyRAF requiere una versión del sistema operativo OS X 10.15 (Catalina) o posterior. * Funciona tanto en un Mac con procesador Intel como en un Mac de la serie M (M1 a M4) con procesador Apple Silicon. * Es necesario tener instalado XQuartz, se puede descargar de https://www.xquartz.org/. * Nota: después de instalar XQuartz, es necesario salir de sesión y volver a entrar para que se active. Descarga e instalación del paquete ---------------------------------- * Descargar el paquete desde https://iraf.noirlab.edu/download/mac/. * Alternativamente, ejecutar el comando: .. sourcecode:: bash cURL -OL https://gitlab.com/api/v4/projects/52167765/packages/generic/iraf-mac/2.18/NOIRLab-IRAF-v2.18.dmg. * ¡Importante! Para quitar la restricciones de seguridad, ir a la carpeta de la descarga (posiblemente el home o el directorio Downloads o Descargas) y ejecutar el comando: .. sourcecode:: bash xattr -c NOIRLab-IRAF-v2.18.dmg * Hacer Doble-click sobre el fichero .dmg para abrirlo. * Arrastrar los varios iconos a la carpeta 'Applications'. Instalación del DS9 ------------------- También necesitamos el visor de imágenes DS9, que se puede descargar de https://sites.google.com/cfa.harvard.edu/saoimageds9/download?authuser=0. Es importante escoger la opción 'AQUA' correspondiente a la versión del sistema operativo y tipo de CPU que tenemos en nuestro Mac (suponemos que la versión Sonoma valga también para Sequoia). Leer bien el apartado 'IMPORTANT- READ ME' y correr los comandos allí comentados. Primero pasos ------------- * Para activar IRAF y PyRAF, es necesario lanzarlos la primera vez directamente desde 'Applications' clickeando en el icono correspondiente (debería ser suficiente lanzar IRAF). Esto en teoría configura el entorno del usuario para luego utilizarlos desde línea de comando (aunque parece que a algún usuario del IAC no le ha funcionado correctamente). * Si todo ha funcionado como esperado, en el fichero *.zshrc* deberíamos tener algunas líneas iguales o similares a las de abajo (obviamente con un nombre de usuario distinto): .. sourcecode:: bash # Add iraf setup commands if [ -e /Users/sieadm/.iraf/setup.sh ]; then export iraf=/Applications/IRAF.app/Contents/iraf-v218/ export IRAFARCH=macintel source /Users/sieadm/.iraf/setup.sh fi * Comprobamos además que se ha creado una carpeta llamada *.iraf* dentro de nuestro home, con el contenido en figura: .. figure:: iraf_en_mac.png :alt: listado de la carpeta ~/.iraf/ :align: center :width: 100% **Troubleshooting**: Si al pinchar sobre la Aplicación IRAF o PyRAF salta un aviso del tipo: 'The application Finder does not have permission to open (null)' (o su equivalente en castellano), se trata de alguna nueva medida de seguridad implementada en la versión más reciente de macOS. Según https://forums.macrumors.com/threads/finder-does-not-have-permission-to-open-null.2441374/, la solución es ejecutar los comandos: .. sourcecode:: bash codesign --remove-signature /Applications/IRAF.app codesign --force --deep --sign - /Applications/IRAF.app y lo mismo para PyRAF.app y eventuales otras aplicaciones que dieran el mismo error. **Parche**: si a pesar de los comandos de arriba IRAF siguiera sin funcionar, y salieran mensajes de error al hacer click sobre la aplicación IRAF o PyRAF, se puede intentar usar el parche siguiente (que genera la subcarpeta *~/.iraf* con el contenido necesario para usar PyRAF). Bajarse el fichero https://research.iac.es/ensenanza/wikiCCA/uploads/Main/iraf_mac_install_patch.bash, darle permiso de ejecución y luego ejecutarlo .. sourcecode:: bash chmod +x iraf_mac_install_patch.bash ./iraf_mac_install_patch.bash Uso de PyRAF/IRAF ----------------- * Para lanzar el entorno de Python que incluye IRAF y PyRAF, tecleamos: .. sourcecode:: bash pyraf_python y luego, para comprobar que PyRAF funciona correctamente: .. sourcecode:: bash from pyraf import iraf iraf.imstat("dev$pix") # (dev$pix es una imagen de prueba incluida en la distribución # IRAF, y este comando saca la estadística de la imagen). * Parece que esta versión de PyRAF, aunque se lance desde otra carpeta, por defecto usa el directorio home. Por tanto, si tenemos los datos en otro directorio, por ejemplo en */Users/nombreusuario/TOB2024/datos/*, nada más arrancar python con el comando de arriba escribiremos: .. sourcecode:: python from pyraf import iraf iraf.cd("/Users/nombreusuario/TOB2024/datos/") # obviamente poner el nombre correcto del directorio. iraf.pwd() # esto para comprobar que estamos en el directorio correcto. Nota: si al importar iraf nos sale el mensaje: 'Could not import aqutil, Limited graphics available on OSX', en principio no hay que preocuparse, ya que parece que la interacción gráfica funciona correctamente. También tenemos que usar ``pyraf_python`` para ejecutar scripts de PyRAF desde la terminal, por ejemplo: .. sourcecode:: bash pyraf_python script.py Cambio de algunos parámetros ---------------------------- Conviene cambiar el valor por defecto de algunas variables de IRAF, la mejor forma de hacerlo es editar el fichero *~/.iraf/loginuser.cl* y añadir las líneas siguientes: .. sourcecode:: bash reset imdir = "HDR$" # default: HDR$pixels/ reset printer = lwcca # impresora del CCA reset stdplot = psi_land # default: lw (psi_land means: landscape postscript) reset stdimage = imt8192 # default: imt800 # Preload useful packages noao imred ccdred onedspec twodspec longslit # Work around IRAF bug when ccdred.instrument is an empty string (fixed by # simply inserting a blank) ccdred.instrument=" " Troubleshooting --------------- epar ~~~~ Por un bug de PyRAF no funciona ``iraf.epar(tarea)`` para cambiar interactivamente sus parámetros (no se abre ninguna ventana y hay que matar el proceso). Sin embargo parece que se puede aplicacar la solución descrita en , en el post de 'monodera on Oct 19, 2022'. En concreto hay que editar el fichero indicado y reemplazar las líneas marcada en rojo con las marcadas en verde. Los ficheros a cambiar son: * '*/Applications/PyRAF.app/Contents/pyraf-v2.2.1/miniconda3-apple/lib/python3.8/site-packages/pyraf/tools/editpar.py*' (para Mac M1-M3, con procesador ARM) * '*/Applications/PyRAF.app/Contents/pyraf-v2.2.1/miniconda3-intel/lib/python3.8/site-packages/pyraf/tools/editpar.py*' (para Mac con procesador Intel) loginuser.cl ~~~~~~~~~~~~ Por alguna inconsistencia en el fichero *~/.iraf/login.cl*, el fichero *loginuser.cl* que se halla dentro del directorio *~/.iraf/* es ignorado, y PyRAF lo intenta buscar en el home del usuario. Lo solución más fácil es crear un symlink en el home, de la forma siguiente: .. sourcecode:: bash cd ~/ ln -sf .iraf/loginuser.cl Visualizar ficheros postscript ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Antiguamente el comando ``open`` de Mac permitía visualizar ficheros postscript (los que habitualmente tienen extensión *.ps* o *.eps*), pero parece que en las versiones más recientes de macOS ya no. La mejor solución es instalar y usar el programa `Skim `__ Para que un fichero postscript siempre se abra con este programa, seguir los pasos indicados en https://support.apple.com/guide/mac-help/choose-an-app-to-open-a-file-on-mac-mh35597/mac