Metadata-Version: 2.4
Name: spherimatch
Version: 0.1
Summary: Cross-Matching and Self-Matching in Spherical Coordinates.
Project-URL: Homepage, https://github.com/technic960183/spherimatch/
Project-URL: Documentation, https://technic960183.github.io/spherimatch/
Project-URL: Repository, https://github.com/technic960183/spherimatch.git
Project-URL: Bug Tracker, https://github.com/technic960183/spherimatch/issues
Author: Yuan-Ming Hsu
License: MIT License
        
        Copyright (c) 2023-2024 Yuan-Ming Hsu
        All rights reserved.
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE.txt
Keywords: astronomy,cross-matching,spherical
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.9
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: scipy
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: sphinx; extra == 'dev'
Requires-Dist: sphinx-rtd-theme; extra == 'dev'
Description-Content-Type: text/markdown

# spherimatch
A Python package for cross-matching and self-matching in spherical coordinates.

## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Installation](#installation)
- [Example Usage](#example-usage)
- [API Reference](#api-reference)
- [Contributing](#contributing)
- [Citation](#citation)

## Introduction
`spherimatch` is a Python package designed to perform cross-matching and self-matching in spherical coordinates. This is particularly useful in fields such as astrophysics, geophysics, and any domain where objects are naturally distributed on a spherical surface.
Currently, this package only support astrophysics coordinates `(Ra, Dec)` in degrees. More units and naming convention will be supported in the future.

## Features
- Efficient computation ( $O(N\log N)$ ) of matching problems in spherical coordinates.
- Friends-of-Friends (FoF) analysis in spherical coordinates.
- Duplicate removal in spherical coordinates.
- Easy integration with existing data processing packages, such as `pandas`.

## Installation
You can install `spherimatch` by cloning the codes:
```bash
git clone https://github.com/technic960183/spherimatch.git
```

pip install will be supported in the future.

Remember to set the environment variable `PYTHONPATH` (`sys.path`) to the directory where `spherimatch` is located.
See the [installation guide](https://technic960183.github.io/spherimatch/install.html) for more details.

## Example Usage
Before you start, please check out our documentation for a
[quick start](https://technic960183.github.io/spherimatch/index.html#quickstart).

- To perform **cross-matching** between two catalogs, check this
  [cross-matching example](https://technic960183.github.io/spherimatch/tutorial/xmatch.html).
- To **cluster** the objects in a catalog with the Friends-of-Friends (FoF) algorithm, check this
  [clustering example](https://technic960183.github.io/spherimatch/tutorial/fof.html).
- To **remove duplicates** from a catalog, check this
  [duplicate removal example](https://technic960183.github.io/spherimatch/tutorial/duplicates_removal.html).

## API Reference
The full documentation and API reference can be found [here](https://technic960183.github.io/spherimatch/index.html).

## Contributing
If you find any bugs or potential issues, please report it directly to me (via Slack or E-mail), or start an [issue](https://github.com/technic960183/spherimatch/issues).

If you have any suggestions or feature requests, feel free to start an [issue](https://github.com/technic960183/spherimatch/issues).

## Citation
If you find `spherimatch` useful in your research, please consider citing it. Currently, we do not plan to publish a method paper for this package in the year of 2024. However, you can still cite this repository directly.

To cite spherimatch in your publication, please use the following BibTeX entry:
```bibtex
@misc{spherimatch,
  author = {Yuan-Ming Hsu},
  title = {spherimatch: A Python package for cross-matching and self-matching in spherical coordinates.},
  year = {2024},
  howpublished = {\url{https://github.com/technic960183/spherimatch}},
  note = {Accessed: YYYY-MM}
}
```
Addtionally, you may add a reference to `https://github.com/technic960183/spherimatch` in the footnote if suitable.

If you publish a paper that uses `spherimatch`, please let me know. I would be happy to know how this package has been used in research.
