Loading [MathJax]/extensions/TeX/AMSsymbols.js
LAL 7.7.0.1-8a6b96f
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages

Detailed Description

Provides routines to efficiently calculate the running median.

Author
Somya D. Mohanty, B. Machenschalk

Synopsis

#include <lal/LALRunningMedian.h>

This header covers routines to efficiently calculate the running median of REAL4 and REAL8 sequences

The routine LALDRunningMedian() calculates the running medians of a REAL8Sequence. The routine LALSRunningMedian() does the same for a REAL4Sequence. input ist a REAL4/REAL8Sequence containing the input array, blocksize is the length of the block the medians are calculated of. With n being the lenght of the input array and b being the blocksize, the medians array must be a REAL4/REAL8 sequence of length (n-b+1). LALDRunningMedian2() and LALSRunningMedian2() are a different implentation of the same algorithm. It should behave exactly like LALDRunningMedian(), but has proven to be a little faster and more stable. Check if it works for you.

Algorithm

For a detailed description of the algorithm see the LIGO document T-030168-00-D, Somya D. Mohanty: Efficient Algorithm for computing a Running Median

Prototypes

void LALDRunningMedian (LALStatus *status, REAL8Sequence *medians, const REAL8Sequence *input, LALRunningMedianPar param)
 See LALRunningMedian_h for documentation. More...
 
void LALSRunningMedian (LALStatus *status, REAL4Sequence *medians, const REAL4Sequence *input, LALRunningMedianPar param)
 See LALRunningMedian_h for documentation. More...
 
void LALDRunningMedian2 (LALStatus *status, REAL8Sequence *medians, const REAL8Sequence *input, LALRunningMedianPar param)
 See LALRunningMedian_h for documentation. More...
 
void LALSRunningMedian2 (LALStatus *status, REAL4Sequence *medians, const REAL4Sequence *input, LALRunningMedianPar param)
 See LALRunningMedian_h for documentation. More...
 

Data Structures

struct  LALRunningMedianPar
 This is the parameter structure for the LALRunningMedian functions. More...
 

Files

file  LALRunningMedianTest.c
 Program to test running median function.
 

Error Codes

#define LALRUNNINGMEDIANH_EMALOC1   1
 Could not allocate indexblock. More...
 
#define LALRUNNINGMEDIANH_EMALOC2   2
 Could not allocate checks. More...
 
#define LALRUNNINGMEDIANH_EMALOC3   3
 Could not allocate checks4shift. More...
 
#define LALRUNNINGMEDIANH_EMALOC4   4
 Could not allocate nodeaddresses. More...
 
#define LALRUNNINGMEDIANH_EMALOC5   5
 Could not aloocate first node. More...
 
#define LALRUNNINGMEDIANH_EMALOC6   6
 Could not allocate node. More...
 
#define LALRUNNINGMEDIANH_ECV   7
 Could not create output vector (LALCreateVector() failed) More...
 
#define LALRUNNINGMEDIANH_ENULL   8
 Invalid input: NULL pointer. More...
 
#define LALRUNNINGMEDIANH_EZERO   9
 Invalid input: block length must be >2. More...
 
#define LALRUNNINGMEDIANH_ELARGE   10
 Invalid input: block length larger than imput length. More...
 
#define LALRUNNINGMEDIANH_EIMED   11
 Invalid input: wrong size of median array. More...
 

Function Documentation

◆ LALDRunningMedian()

void LALDRunningMedian ( LALStatus status,
REAL8Sequence medians,
const REAL8Sequence input,
LALRunningMedianPar  param 
)

See LALRunningMedian_h for documentation.

Definition at line 118 of file LALRunningMedian.c.

◆ LALSRunningMedian()

void LALSRunningMedian ( LALStatus status,
REAL4Sequence medians,
const REAL4Sequence input,
LALRunningMedianPar  param 
)

See LALRunningMedian_h for documentation.

Definition at line 526 of file LALRunningMedian.c.

◆ LALDRunningMedian2()

void LALDRunningMedian2 ( LALStatus status,
REAL8Sequence medians,
const REAL8Sequence input,
LALRunningMedianPar  param 
)

See LALRunningMedian_h for documentation.

find point of insertion:

Definition at line 936 of file LALRunningMedian.c.

◆ LALSRunningMedian2()

void LALSRunningMedian2 ( LALStatus status,
REAL4Sequence medians,
const REAL4Sequence input,
LALRunningMedianPar  param 
)

See LALRunningMedian_h for documentation.

find point of insertion:

Definition at line 1220 of file LALRunningMedian.c.

Macro Definition Documentation

◆ LALRUNNINGMEDIANH_EMALOC1

#define LALRUNNINGMEDIANH_EMALOC1   1

Could not allocate indexblock.

Definition at line 68 of file LALRunningMedian.h.

◆ LALRUNNINGMEDIANH_EMALOC2

#define LALRUNNINGMEDIANH_EMALOC2   2

Could not allocate checks.

Definition at line 69 of file LALRunningMedian.h.

◆ LALRUNNINGMEDIANH_EMALOC3

#define LALRUNNINGMEDIANH_EMALOC3   3

Could not allocate checks4shift.

Definition at line 70 of file LALRunningMedian.h.

◆ LALRUNNINGMEDIANH_EMALOC4

#define LALRUNNINGMEDIANH_EMALOC4   4

Could not allocate nodeaddresses.

Definition at line 71 of file LALRunningMedian.h.

◆ LALRUNNINGMEDIANH_EMALOC5

#define LALRUNNINGMEDIANH_EMALOC5   5

Could not aloocate first node.

Definition at line 72 of file LALRunningMedian.h.

◆ LALRUNNINGMEDIANH_EMALOC6

#define LALRUNNINGMEDIANH_EMALOC6   6

Could not allocate node.

Definition at line 73 of file LALRunningMedian.h.

◆ LALRUNNINGMEDIANH_ECV

#define LALRUNNINGMEDIANH_ECV   7

Could not create output vector (LALCreateVector() failed)

Definition at line 74 of file LALRunningMedian.h.

◆ LALRUNNINGMEDIANH_ENULL

#define LALRUNNINGMEDIANH_ENULL   8

Invalid input: NULL pointer.

Definition at line 75 of file LALRunningMedian.h.

◆ LALRUNNINGMEDIANH_EZERO

#define LALRUNNINGMEDIANH_EZERO   9

Invalid input: block length must be >2.

Definition at line 76 of file LALRunningMedian.h.

◆ LALRUNNINGMEDIANH_ELARGE

#define LALRUNNINGMEDIANH_ELARGE   10

Invalid input: block length larger than imput length.

Definition at line 77 of file LALRunningMedian.h.

◆ LALRUNNINGMEDIANH_EIMED

#define LALRUNNINGMEDIANH_EIMED   11

Invalid input: wrong size of median array.

Definition at line 78 of file LALRunningMedian.h.