gstlal-inspiral  0.4.2
 All Classes Namespaces Files Functions Variables Pages
Classes | Functions
lloidparts Namespace Reference

Detailed Description

a module for building gstreamer graphs of the LLOID algorithm

Classes

class  Handler
 A subclass of simplehandler.Handler to be used with e.g., gstlal_inspiral. More...

Functions

def mkcontrolsnksrc
 A "sum-of-squares" aggregator.
def mkLLOIDbranch
 Gstreamer graph describing this function:
def mkLLOIDhoftToSnrSlices
 Build the pipeline fragment that creates the SnrSlices associated with different sample rates from hoft.
def mkLLOIDSnrSlicesToTimeSliceChisq
 Build pipeline fragment that computes the TimeSliceChisq from SnrSlices.
def mkLLOIDSnrChisqToTriggers
 Build pipeline fragment that converts single detector SNR and Chisq into triggers.
def mkLLOIDmulti
 The multiple instrument, multiple bank LLOID algorithm.

Function Documentation

def lloidparts.mkcontrolsnksrc (   pipeline,
  rate,
  verbose = False,
  suffix = None,
  reconstruction_segment_list = None,
  seekevent = None,
  control_peak_samples = None 
)

A "sum-of-squares" aggregator.

Gstreamer graph describing this function:

This function implements a portion of a gstreamer graph to provide a control signal for deciding when to reconstruct physical SNRS

Parameters
pipelineA reference to the gstreamer pipeline in which to add this graph
rateAn integer representing the target sample rate of the resulting src
verboseMake verbose
suffixLog name for verbosity
reconstruction_segment_listA segment list object that describes when the control signal should be on. This can be useful in e.g., only reconstructing physical SNRS around the time of injections, which can save an enormous amount of CPU time.
seekeventA seek event such as what would be created by seek_event_for_gps()
control_peak_samplesIf nonzero, this would do peakfinding on the control signal with the window specified by this parameter. The peak finding would give a single sample of "on" state at the peak. This will cause far less CPU to be used if you only want to reconstruct SNR around the peak of the control signal.

Definition at line 144 of file lloidparts.py.

def lloidparts.mkLLOIDbranch (   pipeline,
  src,
  bank,
  bank_fragment,
  control_snk,
  control_src,
  gate_attack_length,
  gate_hold_length,
  block_duration,
  nxydump_segment = None,
  fir_stride = None,
  control_peak_time = None 
)

Gstreamer graph describing this function:

Make a single slice of one branch of the lloid graph, e.g. one instrument and one template bank fragment. For details see: http://arxiv.org/abs/1107.2665

Specifically this implements the filtering of multirate svd basis and (conditional) resampling and reconstruction of the physical SNR

Parameters
pipelineThe gstreamer pipeline in which to place this graph
srcThe source of data for this graph provided by a gstreamer element
bankThe template bank class
bank_fragmentThe specific fragment (time slice) of the template bank in question
(control_snk,control_src)An optional tuple of the sink and source elements for a graph that will construct a control time series for the gate which aggregates the orthogonal snrs from each template slice. This is used to conditionally reconstruct the physical SNR of interesting times
gate_attack_lengthThe attack length in samples for the lal_gate element that controls the reconstruction of physical SNRs
gate_hold_lengthThe hold length in samples for the lal_gate element that controls the reconstruction of physical SNRs
block_durationThe characteristic buffer size that is passed around, which is useful for constructing queues.
nxydump_segmentNot used
fir_strideThe target length of output buffers from lal_firbank. Directly effects latency. Making this short will force time-domain convolution. Otherwise FFT convolution will be done to save CPU cycles, but at higher latency.
control_peak_timeThe window over which to find peaks in the control signal. Shorter windows increase computational cost but probably also detection efficiency.

Definition at line 548 of file lloidparts.py.

def lloidparts.mkLLOIDhoftToSnrSlices (   pipeline,
  hoftdict,
  bank,
  control_snksrc,
  block_duration,
  verbose = False,
  logname = "",
  nxydump_segment = None,
  fir_stride = None,
  control_peak_time = None,
  snrslices = None 
)

Build the pipeline fragment that creates the SnrSlices associated with different sample rates from hoft.

Definition at line 673 of file lloidparts.py.

def lloidparts.mkLLOIDmulti (   pipeline,
  detectors,
  banks,
  psd,
  psd_fft_length = 8,
  ht_gate_threshold = float("inf"),
  veto_segments = None,
  verbose = False,
  nxydump_segment = None,
  chisq_type = 'autochisq',
  track_psd = False,
  fir_stride = 16,
  control_peak_time = 2,
  block_duration = gst.SECOND,
  reconstruction_segment_list = None 
)

The multiple instrument, multiple bank LLOID algorithm.

Definition at line 911 of file lloidparts.py.

def lloidparts.mkLLOIDSnrChisqToTriggers (   pipeline,
  snr,
  chisq,
  bank,
  verbose = False,
  nxydump_segment = None,
  logname = "" 
)

Build pipeline fragment that converts single detector SNR and Chisq into triggers.

Definition at line 884 of file lloidparts.py.

def lloidparts.mkLLOIDSnrSlicesToTimeSliceChisq (   pipeline,
  branch_heads,
  bank,
  block_duration 
)

Build pipeline fragment that computes the TimeSliceChisq from SnrSlices.

Definition at line 835 of file lloidparts.py.