Smart Evaluation of Spirals Inclinations with Neural Network
An application to automatically find the the spatial inclination of Spiral Galaxies using Convolutional Neural Network. The model has been implemented in TensorFlow and uses the outputs of the Galaxy Inclination Zoo for ~10,000 spirals.
For this demo version, the JPG colorful images are taken from the SDSS skyserver. In terms of image quality, SDSS images are nice and homogeneous across the sample. The aligned version of images are used, because finding the semi-major axis of spirals and hence their position angles are fairly easy tasks for other tools.
1,500 randomly chosen images are set aside (we didn't use them in the training process) to check the reliability of the resulting network. In the end, we could generate a model that outputs inclinations with an RMS of 3 degrees.
This model is now available to test on any arbitrary spiral galaxy with the SDSS coverage. Please follow this link and open the online application: http://edd.ifa.hawaii.edu/incNET/
1,500 randomly chosen images are set aside (we didn't use them in the training process) to check the reliability of the resulting network. In the end, we could generate a model that outputs inclinations with an RMS of 3 degrees.
This model is now available to test on any arbitrary spiral galaxy with the SDSS coverage. Please follow this link and open the online application: http://edd.ifa.hawaii.edu/incNET/
- On the left side of this tool, the user has different options to find and load the galaxy image. The PGC-based query relies on the information provided by the LEDA catalog available on the EDD. Each image is rotated and resized based on the LEDA entries for "logd25" and "pa", which are reasonable for most of the cases.
- After manually aligning the semi-major axis of the galaxy along the horizontal axis, the user clicks on the orange button to "Evaluate" the galaxy inclination. This step feeds the image to the pre-trained neural network and outputs the inclination value. In addition, there is another network that predicts the rejection probability of such an image by human users.
- This demonstrations shows that in the future, less human labor is needed to sort galaxies. There are smart ways to find out outliers by using the results of two neural networks with slightly different architecture and/or initialization. For a given galaxy, if the two neural networks do not agree to some threshold, that galaxy needs extra human attention.
Cosmicflows-3 Distance–Velocity Calculator
Galaxy Inclination Zoo (Inclination Participative Project)
This is part of the Cosmicflows4 project to measure the distance of ~20,000 local spiral galaxies. This is a collaborative project that allows everyone interested in science to participate. The goal of this project is to find the inclination of these galaxies relative to the known standard galaxies. To achieve this goal, we offer a GUI to visually inspect these galaxies and to insert them between the standard galaxies.
Overview
The main objective of this program is to measure the inclination of a set spiral galaxies by comparing them with a number of standard galaxies. At each step, there is only one target galaxy which is displayed in a yellow panel. The inclinations of the other galaxies are known. All the standard galaxies are ordered based on their inclinations from left to right, with left galaxies having lower inclinations. User can only move the target galaxy using either the controlling left/right arrow buttons, or other methods, e.g. dragging the target panel from the middle row and replace it, or using 'A' and 'D' keys on keyboard.
To estimate the inclination of each galaxy, user goes through two steps at most. In step A, the difference in the inclination of standard galaxies is 5 degrees. Once user narrows down the approximate location of the galaxy, (s)he has the chance to increase the measurement accuracy in step B, where the inclinations are 1 degree apart. Therefore, at the end we expect users to estimate the inclination of an unknown galaxy with the accuracy of ~1 degree. Inclinations smaller than 45 degrees (i.e. galaxies more face-on than 45 degrees) would be rejected and flagged automatically and they would not be used for the distance measurement analysis.
The main objective of this program is to measure the inclination of a set spiral galaxies by comparing them with a number of standard galaxies. At each step, there is only one target galaxy which is displayed in a yellow panel. The inclinations of the other galaxies are known. All the standard galaxies are ordered based on their inclinations from left to right, with left galaxies having lower inclinations. User can only move the target galaxy using either the controlling left/right arrow buttons, or other methods, e.g. dragging the target panel from the middle row and replace it, or using 'A' and 'D' keys on keyboard.
To estimate the inclination of each galaxy, user goes through two steps at most. In step A, the difference in the inclination of standard galaxies is 5 degrees. Once user narrows down the approximate location of the galaxy, (s)he has the chance to increase the measurement accuracy in step B, where the inclinations are 1 degree apart. Therefore, at the end we expect users to estimate the inclination of an unknown galaxy with the accuracy of ~1 degree. Inclinations smaller than 45 degrees (i.e. galaxies more face-on than 45 degrees) would be rejected and flagged automatically and they would not be used for the distance measurement analysis.
This project has been originally implemented in Python before we move on to the online version. You can download the Python code from Github.
SKYPLOT
Tools to visualize the 2D sky projection of groups and associations discussed in Kourkchi and Tully (2017, ApJ, 843, 16), Galaxy Groups Within 3,500 km/s. Click here to find the code on GitHub and read the documentation.
Pylips
A GUI for manual ellipse fitting for Elliptical and Spiral galaxies (Click Here to get the code from GitHub)
Evolutionary Art
This package is written as a demonstration for a user directed evolutionary art. The idea is to evolve an existing Video or Image where the user plays the selection role using a GUI. Users are given an array of images which are the mutate version of the original image. In the current version, the user can only choose one image or video which would be then mutated more to produce more options. As the user plays along, (s)he can guide the evolution in order to build the desired features (s)he is looking for. Click here to download the code and read more.
Parallel Spherematch

k-d trees are useful data structures to store multidimensional points in such a way to preserve the relative position of the data points. Using this structure, we find all possible pairs of data points, distributed on a sphere, that are within a particular angular separation. We use the Astrometry.net spherematch package which is originally developed in C with a Python interface for astronomers. We introduce new functions in the level of Python-C extension of the package that enables us to use the power of OpenMP. We find that however adding more threads increases the efficiency of spherematch, the total run-time is dominated by other operations that need to be done in Python. Therefore, we implement the other intensive operations in C where we can also use OpenMP. This together with breaking the entire job into several smaller sub-tasks help of to reduce the run-time of individual sub-tasks, and therefore the total queue waiting time, that can dominate the total run-time.
The full report of this project is available Here.
You can download the code from GitHub.
The full report of this project is available Here.
You can download the code from GitHub.