[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[task #15803] Match program should build k-d tree and later read from it
From: |
Mohammad Akhlaghi |
Subject: |
[task #15803] Match program should build k-d tree and later read from it |
Date: |
Thu, 29 Oct 2020 18:51:13 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0 |
URL:
<https://savannah.gnu.org/task/?15803>
Summary: Match program should build k-d tree and later read
from it
Project: GNU Astronomy Utilities
Submitted by: makhlaghi
Submitted on: Thu 29 Oct 2020 10:51:11 PM UTC
Should Start On: Thu 29 Oct 2020 12:00:00 AM UTC
Should be Finished on: Thu 29 Oct 2020 12:00:00 AM UTC
Category: Match
Priority: 5 - Normal
Item Group: Enhancement
Status: None
Privacy: Public
Percent Complete: 0%
Assigned to: sks_15
Open/Closed: Open
Discussion Lock: Any
Effort: 0.00
_______________________________________________________
Details:
Gnuastro's library now has a k-d tree library
<https://www.gnu.org/software/gnuastro/manual/html_node/K_002dd-tree.html>.
With k-d trees, matching large catalogs can be greatly sped up.
So I propose the following strategy to match two catalogs:
Currently to match two catalogs, we call match like below. For the context
here, let's call them 'large.fits' and 'small.fits', and let's assume we want
to match them with their the 'X' and 'Y' columns, within an aperture of 0.5
pixels.
astmatch large.fits small.fits --ccol1=X,Y --ccol2=X,Y \
--aperture=0.5
But to employ k-d trees as is available in the Gnuastro library, we can take
the following approach. The user first runs 'astmatch' only on 'large.fits'
with the '--kdtree=build' option like this (the k-d tree will be built in the
value to '--output', or '-o'):
astmatch large.fits --ccol1=X,Y --kdtree=build -okdtree.fits
Later, when they want to match it with the small catalog they would run it
like this (very similar to the first call):
astmatch large.fits small.fits --ccol1=X,Y --ccol2=X,Y \
--kdtree=kdtree.fits
Match would read the k-d tree from the given file, with 'large.fits' and
'small.fits', then it will use a multi-threaded function to call Gnuastro's
k-d tree matching function in parallel. Besides the improved k-d tree search
method, this would also benefit from parallel processing, thus doing the job
very fast.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/task/?15803>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [task #15803] Match program should build k-d tree and later read from it,
Mohammad Akhlaghi <=