Skip to content
Morphological Classification of Radio Galaxy Network
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



In this repository, we provide a toolbox namely MCRGNet to classify radio galaxies of different morphologies. Our method is designed based on the state-of-the-art Convolutional Neural Network (CNN), which is trained and applied under a three step framework as

  1. Pretraining the network unsupervisedly with unlabeled samples (P).
  2. Finetuing the pretrained network parameters supervisedly with labeled samples (F).
  3. Classify a new radio galaxy by the trained network. (C).


To utilize our toolbox on radio galaxy morphology classification, a convolutional autoencoder (CAE) network should be trained in advance and saved. Installation of our python based scripts is as follows,

$ cd MCRGNet
$ <sudo> pip install <--user> . 


To run our scripts, some python packages are required, which are listed as follows.

The requirements file is provided in this repository, by which the required packages can be installed easily. We advice the users to configure these packages in a virtual environment.

  • initialize env
$ <sudo> pip install virtualenv
$ cd MCRGNet
$ virtualenv ./env
  • install required packages
$ cd MCRGNet
$ env/bin/pip install -r ./requirements.txt

In addition, the computation can be accelerated by paralledly processing with GPUs. In this work, our scripts are written under the guide of Nvidia CUDA, thus the Nvidia GPU hardware is also required. You can either refer to the official guide to install CUDA, or refer to this brief guide by us.

Demos and Usage

To use the MCRGNet, we provide demos to show how to pretrain and finetune the network. Note that the jupyter-notebook is required.

  1. cae-pretrain-demo: Pre-train the network
  2. cnn-finetune-demo: Fine-tune the network

In the toolbox, you can design your own CAE and CNN network of optional layers as well as parameters by the Class ConvNet, please refer to the script for details.

Some useful command-line-executable python scripts are also provided and archived in the utils folder,

  • dataDownload: Retrieve radio galaxy samples from the FIRST archive.
  • getEstLabel: Get estimated label for the radio galaxies to be classified.

In addition, some new tools are on the way, cheers



  • Zhixian MA <zxma_sjtu(at)>


Unless otherwise declared:


Coming soon...

You can’t perform that action at this time.