def insert_strain_option_group_multi_ifo(parser): """ Adds the options used to call the pycbc.strain.from_cli function to an optparser as an OptionGroup. This should be used if you want to use these options in your code. Parameters ----------- parser : object OptionParser instance. """ data_reading_group = parser.add_argument_group("Options for obtaining h(t)", "These options are used for generating h(t) either by " "reading from a file or by generating it. This is only " "needed if the PSD is to be estimated from the data, ie. " "if the --psd-estimation option is given. This group " "supports reading from multiple ifos simultaneously.") # Required options data_reading_group.add_argument("--gps-start-time", nargs='+', action=MultiDetOptionAction, metavar='IFO:TIME', help="The gps start time of the data " "(integer seconds)", type=int) data_reading_group.add_argument("--gps-end-time", nargs='+', type=int, action=MultiDetOptionAction, metavar='IFO:TIME', help="The gps end time of the data " "(integer seconds)") data_reading_group.add_argument("--strain-high-pass", nargs='+', action=MultiDetOptionAction, type=float, metavar='IFO:FREQUENCY', help="High pass frequency") data_reading_group.add_argument("--pad-data", nargs='+', action=MultiDetOptionAction, type=int, metavar='IFO:LENGTH', help="Extra padding to remove highpass corruption " "(integer seconds)") data_reading_group.add_argument("--sample-rate", type=int, nargs='+', action=MultiDetOptionAction, metavar='IFO:RATE', help="The sample rate to use for h(t) generation " " (integer Hz).") data_reading_group.add_argument("--channel-name", type=str, nargs='+', action=MultiDetOptionActionSpecial, metavar='IFO:CHANNEL', help="The channel containing the gravitational " "strain data") #Read from cache file data_reading_group.add_argument("--frame-cache", type=str, nargs="+", action=MultiDetOptionAppendAction, metavar='IFO:FRAME_CACHE', help="Cache file containing the frame locations.") #Read from frame files data_reading_group.add_argument("--frame-files", type=str, nargs="+", action=MultiDetOptionAppendAction, metavar='IFO:FRAME_FILES', help="list of frame files") #Generate gaussian noise with given psd data_reading_group.add_argument("--fake-strain", type=str, nargs="+", action=MultiDetOptionAction, metavar='IFO:CHOICE', help="Name of model PSD for generating fake " "gaussian noise. Choose from %s" \ %((', ').join(psd.get_lalsim_psd_list()),) ) data_reading_group.add_argument("--fake-strain-seed", type=int, default=0, nargs="+", action=MultiDetOptionAction, metavar='IFO:SEED', help="Seed value for the generation of fake " "colored gaussian noise") #optional data_reading_group.add_argument("--injection-file", type=str, nargs="+", action=MultiDetOptionAction, metavar='IFO:FILE', help="(optional) Injection file used to add " "waveforms into the strain") data_reading_group.add_argument("--sgburst-injection-file", type=str, nargs="+", action=MultiDetOptionAction, metavar='IFO:FILE', help="(optional) Injection file used to add " "sine-Gaussian burst waveforms into the strain") data_reading_group.add_argument("--gating-file", type=str, nargs="+", action=MultiDetOptionAction, metavar='IFO:FILE', help="(optional) Text file of gating segments to apply." " Format of each line is (all times in secs):" " gps_time zeros_half_width pad_half_width") data_reading_group.add_argument("--normalize-strain", type=float, nargs="+", action=MultiDetOptionAction, metavar='IFO:VALUE', help="(optional) Divide frame data by constant.") data_reading_group.add_argument("--zpk-z", type=float, nargs="+", action=MultiDetOptionAppendAction, metavar='IFO:VALUE', help="(optional) Zero-pole-gain (zpk) filter strain. " "A list of zeros for transfer function") data_reading_group.add_argument("--zpk-p", type=float, nargs="+", action=MultiDetOptionAppendAction, metavar='IFO:VALUE', help="(optional) Zero-pole-gain (zpk) filter strain. " "A list of poles for transfer function") data_reading_group.add_argument("--zpk-k", type=float, nargs="+", action=MultiDetOptionAppendAction, metavar='IFO:VALUE', help="(optional) Zero-pole-gain (zpk) filter strain. " "Transfer function gain") return data_reading_group
def insert_strain_option_group(parser, gps_times=True): """ Adds the options used to call the pycbc.strain.from_cli function to an optparser as an OptionGroup. This should be used if you want to use these options in your code. Parameters ----------- parser : object OptionParser instance. """ data_reading_group = parser.add_argument_group("Options for obtaining h(t)", "These options are used for generating h(t) either by " "reading from a file or by generating it. This is only " "needed if the PSD is to be estimated from the data, ie. " " if the --psd-estimation option is given.") # Required options if gps_times: data_reading_group.add_argument("--gps-start-time", help="The gps start time of the data " "(integer seconds)", type=int) data_reading_group.add_argument("--gps-end-time", help="The gps end time of the data " " (integer seconds)", type=int) data_reading_group.add_argument("--strain-high-pass", type=float, help="High pass frequency") data_reading_group.add_argument("--pad-data", help="Extra padding to remove highpass corruption " "(integer seconds)", type=int) data_reading_group.add_argument("--sample-rate", type=int, help="The sample rate to use for h(t) generation (integer Hz).") data_reading_group.add_argument("--channel-name", type=str, help="The channel containing the gravitational strain data") #Read from cache file data_reading_group.add_argument("--frame-cache", type=str, nargs="+", help="Cache file containing the frame locations.") #Read from frame files data_reading_group.add_argument("--frame-files", type=str, nargs="+", help="list of frame files") #Generate gaussian noise with given psd data_reading_group.add_argument("--fake-strain", help="Name of model PSD for generating fake gaussian noise.", choices=psd.get_lalsim_psd_list()) data_reading_group.add_argument("--fake-strain-seed", type=int, default=0, help="Seed value for the generation of fake colored" " gaussian noise") #optional data_reading_group.add_argument("--injection-file", type=str, help="(optional) Injection file used to add " "waveforms into the strain") data_reading_group.add_argument("--sgburst-injection-file", type=str, help="(optional) Injection file used to add " "sine-Gaussian burst waveforms into the strain") data_reading_group.add_argument("--gating-file", type=str, help="(optional) Text file of gating segments to apply." " Format of each line is (all times in secs):" " gps_time zeros_half_width pad_half_width") data_reading_group.add_argument("--normalize-strain", type=float, help="(optional) Divide frame data by constant.") data_reading_group.add_argument("--zpk-z", type=float, nargs="+", help="(optional) Zero-pole-gain (zpk) filter strain. " "A list of zeros for transfer function") data_reading_group.add_argument("--zpk-p", type=float, nargs="+", help="(optional) Zero-pole-gain (zpk) filter strain. " "A list of poles for transfer function") data_reading_group.add_argument("--zpk-k", type=float, help="(optional) Zero-pole-gain (zpk) filter strain. " "Transfer function gain") return data_reading_group
def insert_strain_option_group(parser, gps_times=True): """ Adds the options used to call the pycbc.strain.from_cli function to an optparser as an OptionGroup. This should be used if you want to use these options in your code. Parameters ----------- parser : object OptionParser instance. """ data_reading_group = parser.add_argument_group("Options for obtaining h(t)", "These options are used for generating h(t) either by " "reading from a file or by generating it. This is only " "needed if the PSD is to be estimated from the data, ie. " " if the --psd-estimation option is given.") # Required options if gps_times: data_reading_group.add_argument("--gps-start-time", help="The gps start time of the data " "(integer seconds)", type=int) data_reading_group.add_argument("--gps-end-time", help="The gps end time of the data " " (integer seconds)", type=int) data_reading_group.add_argument("--strain-high-pass", type=float, help="High pass frequency") data_reading_group.add_argument("--pad-data", help="Extra padding to remove highpass corruption " "(integer seconds)", type=int) data_reading_group.add_argument("--sample-rate", type=int, help="The sample rate to use for h(t) generation (integer Hz).") data_reading_group.add_argument("--channel-name", type=str, help="The channel containing the gravitational strain data") #Read from cache file data_reading_group.add_argument("--frame-cache", type=str, nargs="+", help="Cache file containing the frame locations.") #Read from frame files data_reading_group.add_argument("--frame-files", type=str, nargs="+", help="list of frame files") #Use datafind to get frame files data_reading_group.add_argument("--frame-type", type=str, help="(optional), replaces frame-files. Use datafind " "to get the needed frame file(s) of this type.") #Generate gaussian noise with given psd data_reading_group.add_argument("--fake-strain", help="Name of model PSD for generating fake gaussian noise.", choices=psd.get_lalsim_psd_list()) data_reading_group.add_argument("--fake-strain-seed", type=int, default=0, help="Seed value for the generation of fake colored" " gaussian noise") #optional data_reading_group.add_argument("--injection-file", type=str, help="(optional) Injection file used to add " "waveforms into the strain") data_reading_group.add_argument("--sgburst-injection-file", type=str, help="(optional) Injection file used to add " "sine-Gaussian burst waveforms into the strain") data_reading_group.add_argument("--gating-file", type=str, help="(optional) Text file of gating segments to apply." " Format of each line is (all times in secs):" " gps_time zeros_half_width pad_half_width") data_reading_group.add_argument('--autogating-threshold', type=float, metavar='SIGMA', help='If given, find and gate glitches ' 'producing a deviation larger than ' 'SIGMA in the whitened strain time ' 'series.') data_reading_group.add_argument('--autogating-cluster', type=float, metavar='SECONDS', default=5., help='Length of clustering window for ' 'detecting glitches for autogating.') data_reading_group.add_argument('--autogating-width', type=float, metavar='SECONDS', default=0.25, help='Half-width of the gating window.') data_reading_group.add_argument('--autogating-taper', type=float, metavar='SECONDS', default=0.25, help='Taper the strain before and after ' 'each gating window over a duration ' 'of SECONDS.') data_reading_group.add_argument('--autogating-output', type=str, metavar='FILE', help='If given, save the ' 'automatically-produced gating info ' 'to the given file.') data_reading_group.add_argument("--normalize-strain", type=float, help="(optional) Divide frame data by constant.") data_reading_group.add_argument("--zpk-z", type=float, nargs="+", help="(optional) Zero-pole-gain (zpk) filter strain. " "A list of zeros for transfer function") data_reading_group.add_argument("--zpk-p", type=float, nargs="+", help="(optional) Zero-pole-gain (zpk) filter strain. " "A list of poles for transfer function") data_reading_group.add_argument("--zpk-k", type=float, help="(optional) Zero-pole-gain (zpk) filter strain. " "Transfer function gain") return data_reading_group