Conversion from peaks in a spectrum into a partial Hough map derivative.
The Hough map is an histogram, thus additive. It can be seen as the sum of several partial Hough maps constructed using just one periodogram, or equivalently, as the sum of partial Hough map derivatives (phmd
) and then integrating the result.
A phmd
can be represented by a set of borders, here called left and right. They indicate the beginning and the end of the annuli. The position of the so-called left borders should be marked with \( +1 \) , and the position of the right borders should be marked with \( -1 \) in the phmd
. To obtain a partial Hough map, one needs to integrate each row of the phmd
from left to right.
The representation of a phmd
is simplified by considering pointers to the borders in a pre-calculated look-up-table, plus some extra information about their character and edge effects when clipping on a finite patch.
Prototypes | |
void | LALHOUGHPeak2PHMD (LALStatus *status, HOUGHphmd *phmd, HOUGHptfLUT *lut, HOUGHPeakGram *pg) |
Construction of Partial-Hough-Map-Derivatives (phmd ) given a peak-gram and the look-up-table. More... | |
Data Structures | |
struct | HOUGHPeakGram |
This structure stores the `‘peak-gram’'. More... | |
struct | HOUGHphmd |
This structure stores a partial Hough map derivative. More... | |
Typedefs | |
typedef REAL8 | HoughDT |
Hough Map derivative pixel type. More... | |
Files | |
file | NDPeak2PHMDTest.c |
Tests the construction of Partial-Hough-Map-Derivatives (phmd ) | |
file | Peak2PHMDTest.c |
Tests the construction of Partial-Hough-Map-Derivatives (phmd ) | |
Error Codes | |
#define | PHMDH_ENULL 1 |
#define | PHMDH_ESIZE 2 |
#define | PHMDH_ESZMM 4 |
#define | PHMDH_EINT 6 |
#define | PHMDH_ESAME 8 |
#define | PHMDH_EFREQ 10 |
#define | PHMDH_EVAL 12 |
#define | PHMDH_MSGENULL "Null pointer" |
#define | PHMDH_MSGESIZE "Invalid input size" |
#define | PHMDH_MSGESZMM "Size mismatch" |
#define | PHMDH_MSGEINT "Invalid interval" |
#define | PHMDH_MSGESAME "Input/Output data vectors are the same" |
#define | PHMDH_MSGEFREQ "Invalid frequency" |
#define | PHMDH_MSGEVAL "Invalid value" |
void LALHOUGHPeak2PHMD | ( | LALStatus * | status, |
HOUGHphmd * | phmd, | ||
HOUGHptfLUT * | lut, | ||
HOUGHPeakGram * | pg | ||
) |
Construction of Partial-Hough-Map-Derivatives (phmd
) given a peak-gram and the look-up-table.
This routine produces a phmd
at a certain frequency for a given peak-gram and look-up-table.
The inputs are:
phmd->fBin
: The frequency bin of this phmd
.
*lut
: The look-up-table (of type HOUGHptfLUT
)
*pg
: The peak-gram (of type HOUGHPeakGram
)
The function LALHOUGHPeak2PHMD() makes sure that the lut
, the peak-gram and also the frequency of the phmd
are compatible.
The output HOUGHphmd *phmd
is a structure containing the frequency bin of this phmd
, the total number of borders of each type (Left and Right) to be marked, the pointers to the borders in the corresponding look-up-table, plus border effects of clipping on a finite patch.
lots of error checking of arguments – asserts have been replaced by aborts
Definition at line 61 of file Peak2PHMD.c.
#define PHMDH_MSGESAME "Input/Output data vectors are the same" |