Skip to main content

A dynamic repository for streamlined Alma tracking.

Project description

ALMA Cold Region Tracker: Dynamic Event Detection and Analysis

Overview

The ALMA Cold Region Tracker is a Python library that implements a methodology for analyzing cold regions using ALMA (Atacama Large Millimeter/submillimeter Array) Band 3 observations. It is the first publicly available method for performing this specific task, focusing on tracking dynamic events (cold regions) by detecting local minima in ALMA image data and following their movement across frames over time.

Features

  • Detection of local minima: The library detects local minima in ALMA image data frames using the scikit-image library and its peak_local_max function.
  • Tracking of cold regions: Once a local minimum is identified, the library tracks its position across subsequent frames based on distance criteria.
  • Trajectory extraction: Produces a vector of coordinates representing the event's trajectory across time.

Installation

To install the ALMA Cold Region Tracker, you can use pip:

pip install alma-cold-region-tracker

Or clone the repository and install it locally:

git clone https://github.com/your-username/alma-cold-region-tracker.git
cd alma-cold-region-tracker
pip install -e .

Dependencies

  • numpy
  • scipy
  • astropy
  • scikit-image
  • matplotlib (for visualization)

Quick Start

Here's a basic example of how to use the ALMA Cold Region Tracker:

from alma_processor import ALMADataProcessor

# Initialize the processor with the path to ALMA data
processor = ALMADataProcessor('/path/to/alma/file.fits')

# Compute the statistics of the ALMA cube
std_alma_cube = processor.compute_alma_cube_statistics()

# Detect local minima
vector_min = processor.detect_local_extrema(sigma_criterion=0,
                                            times_radio=2)

# Choose a specific frame and filter points
frame = 100
points_data_track = processor.filter_points(vector_min,
                    frame=frame, distance_threshold=110)

# Select a specific point to track
selected_point = points_data_track[3].copy()

# Compute the trajectory
all_local_min, total_index = processor.compute_trajectory(
    selected_point, frame, distance=5, vector_min=vector_min,
    scand=[0, processor.almacube.shape[0]]
)

# The result, `all_local_min`, contains the trajectory of the event,
# and `total_index` contains the corresponding frame indices.

Methodology

The ALMA Cold Region Tracker uses a multi-step process to detect and track cold regions:

  1. Event Selection and Frame Identification: Select an event from the data, associated with a specific frame.
  2. Local Minima Detection: Use peak_local_max function to identify local minima in each frame.
  3. Tracking of Events: Track the event's position by comparing coordinates across frames.

Visual Explanation of the Method

The following image illustrates the process of identifying and tracking cold regions:

Method Explanation

  • Panel (a): Shows the temperature threshold (red line) set at the mean brightness temperature.
  • Panel (b): The red line indicates the minimum distance between events, based on ALMA's spatial resolution.
  • Panel (c): The blue circle (33-arcsec radius) encloses the area where cold regions were searched.

Tracking Example

This figure demonstrates the temporal evolution of a dynamic cold region:

Tracking Example

  • The green star marks the tracked event in frame 100 (UTC 15:54:12 on April 12, 2018).
  • Panels t1 and t2 show moments before the event, while t4 and t5 show moments after.
  • Blue points represent other local minima detected nearby.

Results

The library's effectiveness is demonstrated in the following time-distance diagram:

Time-Distance Diagram

This figure shows temperature variations in time-distance diagrams for six cold events, centered on the spatial coordinates obtained from the tracking method within a 6x6 arcsec window.

Conclusion

This library allows users to perform detailed tracking of cold regions observed through ALMA by detecting local minima and following events over time. It provides valuable insights into the movement of these regions across frames, aiding in the analysis of dynamic solar events.

However, the method has some limitations, particularly when there is insufficient contrast between local minima in consecutive frames. In some cases, the tracking process halts because a clear local minimum cannot be detected. In other cases, when there is little contrast, the method continues tracking an event across the entire scan, even though local minima are present in the region but may not represent the true event because ALMA cannot resolve them. This issue stems from the relatively low spatial resolution of ALMA.

For more details on these limitations, you can refer to my Master’s Thesis, where I provide an in-depth discussion of these challenges. The link to the thesis is provided in the references section. Feel free to check it out! :)

Contributing

We welcome contributions to the ALMA Cold Region Tracker! Please see our Contributing Guidelines for more information on how to get involved.

License

This project is open source and available under the MIT License. This allows for modification, distribution, and private use.

MIT License

Copyright (c) [2024] [F. J. Ordonez Araujo, J. C Guevara Gomez]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Library"), to deal in the Library without restriction, including without limitation the rights to use, copy, modify, merge, distribute, and sublicense.

Citation

If you use this library in your research, please cite our method article:

@article{ordonez2024alma,
  title={ALMA Cold Region Tracker: Dynamic Event Detection and Analysis},
  author={Ordonez Araujo, F. J. and Guevara Gomez, J. C.},
  journal={https://repositorio.unal.edu.co/handle/unal/85838},
  year={2024}
}

For more detailed information, you can refer to the third chapter of the master's thesis: ALMA Cold Region Analysis

Contact

For any questions or issues, please contact:

Acknowledgments

Special thanks to Alyona Carolina Ivanova-Araujo (alenacivanovaa@gmail.com) for assistance with CI/CD pipeline issues.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

almatracking-0.1.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

AlmaTracking-0.1.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file almatracking-0.1.0.tar.gz.

File metadata

  • Download URL: almatracking-0.1.0.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for almatracking-0.1.0.tar.gz
Algorithm Hash digest
SHA256 aab470d8ea2973f4be80141b34b7bea2654fad7506bf0abfcbc9240b14d38cc8
MD5 b7ab82a716fce77133201d0d3e2a1428
BLAKE2b-256 45805ec8d26c97bc931c6693574473bae3d4d540c102c351135ae4106adcbc57

See more details on using hashes here.

File details

Details for the file AlmaTracking-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: AlmaTracking-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for AlmaTracking-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d2b6efcdf9c0e334773ad567cf5785dedcd097ab347e19c93ac84eb8b9ea34a8
MD5 22963609903f980775d1cdba95135477
BLAKE2b-256 a134b6ce663b705684a9580d0794c5e9868e02a9e34c531a0b7451b393d34924

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page