Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALPulsar 7.1.1.1-8a6b96f
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Header HoughMap.h

Detailed Description

Provides subroutines for initialization and construction of Hough-map derivatives and total Hough-maps.

Author
Alicia M. Sintes and Badri Krishnan

Synopsis

#include <lal/HoughMap.h>

Prototypes

void LALHOUGHInitializeHD (LALStatus *status, HOUGHMapDeriv *hd)
 This function initializes the Hough map derivative space HOUGHMapDeriv *hd to zero. More...
 
void LALHOUGHAddPHMD2HD (LALStatus *status, HOUGHMapDeriv *hd, HOUGHphmd *phmd)
 Given an initial Hough map derivative HOUGHMapDeriv *hd and a representation of a phmd HOUGHphmd *phmd, the function LALHOUGHAddPHMD2HD() accumulates the partial Hough map derivative *phmd to *hd by adding +1 or -1 to the pixels corresponding to the left or right borders respectively. More...
 
void LALHOUGHAddPHMD2HD_W (LALStatus *status, HOUGHMapDeriv *hd, HOUGHphmd *phmd)
 Adds a hough map derivative into a total hough map derivative taking into account the weight of the partial hough map. More...
 
void LALHOUGHIntegrHD2HT (LALStatus *status, HOUGHMapTotal *ht, HOUGHMapDeriv *hd)
 This function constructs a total Hough map HOUGHMapTotal *ht from its derivative HOUGHMapDeriv *hd by integrating each row (x-direction). More...
 
void LALHOUGHInitializeHT (LALStatus *status, HOUGHMapTotal *ht, HOUGHPatchGrid *patch)
 This function initializes the total Hough map HOUGHMapTotal *ht to zero and checks consistency between the number of physical pixels in the map and those given by the grid information structure HOUGHPatchGrid *patch. More...
 
void LALStereo2SkyLocation (LALStatus *status, REAL8UnitPolarCoor *sourceLocation, UINT2 xPos, UINT2 yPos, HOUGHPatchGrid *patch, HOUGHDemodPar *parDem)
 Find source sky location given stereographic coordinates indexes. More...
 

Data Structures

struct  HOUGHMapDeriv
 This structure stores the Hough map derivative. More...
 
struct  HOUGHMapTotal
 This structure stores the Hough map. More...
 

Typedefs

typedef REAL8 HoughTT
 Total Hough Map pixel type. More...
 

Files

file  HoughMapTest.c
 Tests the construction of Hough maps.
 
file  NDHoughMapTest.c
 Tests the construction of Hough maps.
 

Error Codes

#define HOUGHMAPH_ENULL   1
 
#define HOUGHMAPH_ESIZE   2
 
#define HOUGHMAPH_ESZMM   4
 
#define HOUGHMAPH_EINT   6
 
#define HOUGHMAPH_ESAME   8
 
#define HOUGHMAPH_EFREQ   10
 
#define HOUGHMAPH_EVAL   12
 
#define HOUGHMAPH_MSGENULL   "Null pointer"
 
#define HOUGHMAPH_MSGESIZE   "Invalid input size"
 
#define HOUGHMAPH_MSGESZMM   "Size mismatch"
 
#define HOUGHMAPH_MSGEINT   "Invalid interval"
 
#define HOUGHMAPH_MSGESAME   "Input/Output data vectors are the same"
 
#define HOUGHMAPH_MSGEFREQ   "Invalid frequency"
 
#define HOUGHMAPH_MSGEVAL   "Invalid value"
 

Function Documentation

◆ LALHOUGHInitializeHD()

void LALHOUGHInitializeHD ( LALStatus status,
HOUGHMapDeriv hd 
)

This function initializes the Hough map derivative space HOUGHMapDeriv *hd to zero.

Note that the length of the map hd->map should be hd->ySide * (hd->xSide + 1).

Definition at line 31 of file HoughMap.c.

◆ LALHOUGHAddPHMD2HD()

void LALHOUGHAddPHMD2HD ( LALStatus status,
HOUGHMapDeriv hd,
HOUGHphmd phmd 
)

Given an initial Hough map derivative HOUGHMapDeriv *hd and a representation of a phmd HOUGHphmd *phmd, the function LALHOUGHAddPHMD2HD() accumulates the partial Hough map derivative *phmd to *hd by adding +1 or -1 to the pixels corresponding to the left or right borders respectively.

It takes into account corrections due to border effects as well.

Parameters
statusthe status pointer
hdthe Hough map derivative
phmdinfo from a partial map

Definition at line 123 of file HoughMap.c.

◆ LALHOUGHAddPHMD2HD_W()

void LALHOUGHAddPHMD2HD_W ( LALStatus status,
HOUGHMapDeriv hd,
HOUGHphmd phmd 
)

Adds a hough map derivative into a total hough map derivative taking into account the weight of the partial hough map.

Parameters
statusthe status pointer
hdthe Hough map derivative
phmdinfo from a partial map

Definition at line 231 of file HoughMap.c.

◆ LALHOUGHIntegrHD2HT()

void LALHOUGHIntegrHD2HT ( LALStatus status,
HOUGHMapTotal ht,
HOUGHMapDeriv hd 
)

This function constructs a total Hough map HOUGHMapTotal *ht from its derivative HOUGHMapDeriv *hd by integrating each row (x-direction).

Definition at line 353 of file HoughMap.c.

◆ LALHOUGHInitializeHT()

void LALHOUGHInitializeHT ( LALStatus status,
HOUGHMapTotal ht,
HOUGHPatchGrid patch 
)

This function initializes the total Hough map HOUGHMapTotal *ht to zero and checks consistency between the number of physical pixels in the map and those given by the grid information structure HOUGHPatchGrid *patch.

Definition at line 74 of file HoughMap.c.

◆ LALStereo2SkyLocation()

void LALStereo2SkyLocation ( LALStatus status,
REAL8UnitPolarCoor sourceLocation,
UINT2  xPos,
UINT2  yPos,
HOUGHPatchGrid patch,
HOUGHDemodPar parDem 
)

Find source sky location given stereographic coordinates indexes.

Definition at line 405 of file HoughMap.c.

Typedef Documentation

◆ HoughTT

typedef REAL8 HoughTT

Total Hough Map pixel type.

Depending of the number of maps to accumulate change both types HoughDT and HoughTT to INT2 or UINT2 respectively.

Definition at line 113 of file HoughMap.h.

Macro Definition Documentation

◆ HOUGHMAPH_ENULL

#define HOUGHMAPH_ENULL   1

Definition at line 75 of file HoughMap.h.

◆ HOUGHMAPH_ESIZE

#define HOUGHMAPH_ESIZE   2

Definition at line 76 of file HoughMap.h.

◆ HOUGHMAPH_ESZMM

#define HOUGHMAPH_ESZMM   4

Definition at line 77 of file HoughMap.h.

◆ HOUGHMAPH_EINT

#define HOUGHMAPH_EINT   6

Definition at line 78 of file HoughMap.h.

◆ HOUGHMAPH_ESAME

#define HOUGHMAPH_ESAME   8

Definition at line 79 of file HoughMap.h.

◆ HOUGHMAPH_EFREQ

#define HOUGHMAPH_EFREQ   10

Definition at line 80 of file HoughMap.h.

◆ HOUGHMAPH_EVAL

#define HOUGHMAPH_EVAL   12

Definition at line 81 of file HoughMap.h.

◆ HOUGHMAPH_MSGENULL

#define HOUGHMAPH_MSGENULL   "Null pointer"

Definition at line 83 of file HoughMap.h.

◆ HOUGHMAPH_MSGESIZE

#define HOUGHMAPH_MSGESIZE   "Invalid input size"

Definition at line 84 of file HoughMap.h.

◆ HOUGHMAPH_MSGESZMM

#define HOUGHMAPH_MSGESZMM   "Size mismatch"

Definition at line 85 of file HoughMap.h.

◆ HOUGHMAPH_MSGEINT

#define HOUGHMAPH_MSGEINT   "Invalid interval"

Definition at line 86 of file HoughMap.h.

◆ HOUGHMAPH_MSGESAME

#define HOUGHMAPH_MSGESAME   "Input/Output data vectors are the same"

Definition at line 87 of file HoughMap.h.

◆ HOUGHMAPH_MSGEFREQ

#define HOUGHMAPH_MSGEFREQ   "Invalid frequency"

Definition at line 88 of file HoughMap.h.

◆ HOUGHMAPH_MSGEVAL

#define HOUGHMAPH_MSGEVAL   "Invalid value"

Definition at line 89 of file HoughMap.h.