Skip to content

Commit

Permalink
Cross-correlation alignment method and docstrings.
Browse files Browse the repository at this point in the history
  • Loading branch information
delucchi-cmu committed Jun 14, 2024
1 parent 03f8651 commit 5454164
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 43 deletions.
3 changes: 0 additions & 3 deletions src/corrgi/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
from .example_module import greetings, meaning

__all__ = ["greetings", "meaning"]
31 changes: 28 additions & 3 deletions src/corrgi/alignment.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,16 @@


def autocorrelation_alignment(catalog: Catalog) -> PixelAlignment:
"""TODO"""
"""Determine all pairs of partitions that should be correlated within the same catalog.
This considers all combinations, without duplicates between the "primary" and "join"
pixels in the alignment.
Args:
catalog (Catalog): catalog for autocorrelation
Returns:
alignment object where the `aligned` columns simply match the left pixel.
"""
upper_triangle = [
[left.order, left.pixel, right.order, right.pixel, left.order, left.pixel]
for (left, right) in itertools.combinations(catalog.get_healpix_pixels(), 2)
Expand All @@ -33,5 +42,21 @@ def autocorrelation_alignment(catalog: Catalog) -> PixelAlignment:


def crosscorrelation_alignment(catalog_left: Catalog, catalog_right: Catalog) -> PixelAlignment:
"""TODO"""
pass
"""Determine all pairs of partitions that should be correlated between two catalogs.
This considers the full cross-product of pixels.
Args:
catalog_left (Catalog): left side of the cross-correlation
catalog_right (Catalog): right side of the cross-correlation
Returns:
alignment object where the `aligned` columns simply match the left pixel.
"""
full_product = [
[left.order, left.pixel, right.order, right.pixel, left.order, left.pixel]
for (left, right) in itertools.product(
catalog_left.get_healpix_pixels(), catalog_right.get_healpix_pixels()
)
]
result_mapping = pd.DataFrame(full_product, columns=column_names)
return PixelAlignment(catalog_left.pixel_tree, result_mapping, PixelAlignmentType.OUTER)
23 changes: 0 additions & 23 deletions src/corrgi/example_module.py

This file was deleted.

12 changes: 11 additions & 1 deletion tests/corrgi/test_alignment.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
import hipscat
from corrgi.alignment import autocorrelation_alignment
from corrgi.alignment import autocorrelation_alignment, crosscorrelation_alignment


def test_autocorrelation_alignment(data_catalog_dir):
data_catalog = hipscat.read_from_hipscat(data_catalog_dir)
alignment = autocorrelation_alignment(data_catalog)
assert len(alignment.pixel_mapping) == 28


def test_crosscorrelation_alignment(dr7_lrg_catalog_dir, dr7_lrg_rand_catalog_dir):
dr7_catalog = hipscat.read_from_hipscat(dr7_lrg_catalog_dir)
dr7_rand_catalog = hipscat.read_from_hipscat(dr7_lrg_rand_catalog_dir)
alignment = crosscorrelation_alignment(dr7_catalog, dr7_rand_catalog)
## dr7_catalog has 12 partitions
## dr7_rand_catalog has 22 partitions
## 12*21 = 252
assert len(alignment.pixel_mapping) == 252
13 changes: 0 additions & 13 deletions tests/corrgi/test_example_module.py

This file was deleted.

0 comments on commit 5454164

Please sign in to comment.