Skip to content

m-faezi/MMTO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MMTO - Multi-spectral Astronomical Source Detection Tool

DOI Higra Astropy contributions welcome Matrix

MMTO (Faezi et al.) is a multi-spectral photometric object detection and color extraction software, representing and processing on max-tree (Salembier et al.) data structure across multiple spectral bands, built on MTO2.

  • Multi-band processing: Simultaneous analysis across multiple spectral bands
  • Cross-band matching: Intelligent source association between bands using spatial and similarity metrics

Table of Contents

Overview

MMTO extends multiple max-trees by integrating semantically meaningful node partitions, derived from statistical tests, into a structured graph. This integration enables the exploration of correlations among cross-band emissions, enhancing segmentation accuracy.

MMTO-pipeline
MMTO processing pipeline workflow.

Installation

Dependencies

The dependencies are listed in the ./requirements directory.

python -m venv ./venvs/mmto
source ./venvs/mmto/bin/activate
pip install -r ./requirements/requirements_base.txt
pip install -r ./requirements/requirements_torch.txt || pip install -r ./requirements/requirements_torch_fallback.txt
pip install -U pip setuptools wheel scikit-build cmake ninja
pip install --no-build-isolation ./mmtolib

Usage

Tip

MMTO supports any number of bands to be processed. In this version, input images should have the same resolution (pixels) and sly coordinates.

Configuration

Configure the bands and processing parameters (see MTO2 documentation) in config.yaml file. Here is an instance of 4-band setting:

bands:
  
  band_1:
    file_path: "./1st.fits"
    background_mode: "const"
    move_factor: 5
    area_ratio: 0.90
    s_sigma: 4.0
    G_fit: false
    skip_reduction: true
  
  band_2:
    file_path: "./2nd.fits"
    background_mode: "morph"
    move_factor: 8
    area_ratio: 0.90
    s_sigma: 4.0
    G_fit: true
    skip_reduction: false
  
  band_3:
    file_path: "./3rd.fits"
    background_mode: "const"
    move_factor: 8
    area_ratio: 0.93
    s_sigma: 2.7
    G_fit: true
    skip_reduction: true
  
  band_4:
    file_path: "./4th.fits"
    background_mode: "const"
    move_factor: 3
    area_ratio: 0.93
    s_sigma: 3.13
    G_fit: false
    skip_reduction: true

Tuned run

python main.py --co_sim 0.9 --pix_dist 3.0 

Command line arguments

Option Description Type Default Range/Values
--pix_dist Cross-band central distance (pixel) float 3.00 ≥ 0
--co_sim Cross-band cosine similarity threshold float 0.90 [0.0, 1.0)
-h, --help Show the help message and exit flag - -

Citation

If you use MMTO in your research, please cite the following paper:

@ARTICLE{10535192,
  author={Hashem Faezi, Mohammad and Peletier, Reynier and Wilkinson, Michael H. F.},
  journal={IEEE Access}, 
  title={Multi-Spectral Source-Segmentation Using Semantically-Informed Max-Trees}, 
  year={2024},
  volume={12},
  number={},
  pages={72288-72302},
  doi={10.1109/ACCESS.2024.3403309}
}

Bibliography

License

This project is licensed under the MIT License - see the LICENSE file for details.