Skip to content

Commit

Permalink
Address deprecation of lsctables.New()
Browse files Browse the repository at this point in the history
  • Loading branch information
titodalcanton committed Feb 17, 2025
1 parent 5dd9919 commit 4d2524c
Show file tree
Hide file tree
Showing 13 changed files with 45 additions and 48 deletions.
8 changes: 4 additions & 4 deletions bin/all_sky_search/pycbc_prepare_xml_for_gracedb
Original file line number Diff line number Diff line change
Expand Up @@ -131,11 +131,11 @@ for event in coinc_table:
else:
raise ValueError(f"event {args.event_id} not found in coinc table")

coinc_event_table_curr = lsctables.New(lsctables.CoincTable)
coinc_event_table_curr = lsctables.CoincTable.new()
coinc_event_table_curr.append(event)
coinc_inspiral_table_curr = lsctables.New(lsctables.CoincInspiralTable)
coinc_event_map_table_curr = lsctables.New(lsctables.CoincMapTable)
sngl_inspiral_table_curr = lsctables.New(lsctables.SnglInspiralTable)
coinc_inspiral_table_curr = lsctables.CoincInspiralTable.new()
coinc_event_map_table_curr = lsctables.CoincMapTable.new()
sngl_inspiral_table_curr = lsctables.SnglInspiralTable.new()

for coinc_insp in coinc_inspiral_table:
if coinc_insp.coinc_event_id == event.coinc_event_id:
Expand Down
10 changes: 6 additions & 4 deletions bin/hwinj/pycbc_generate_hwinj
Original file line number Diff line number Diff line change
Expand Up @@ -301,8 +301,9 @@ lsctables.SimInspiral = SimInspiralNew
lsctables.SimInspiralTable.RowType = SimInspiralNew

# create sim_inspiral table
sim_table = lsctables.New(lsctables.SimInspiralTable,
columns=lsctables.SimInspiralTable.validcolumns)
sim_table = lsctables.SimInspiralTable.new(
columns=lsctables.SimInspiralTable.validcolumns
)
outdoc.childNodes[0].appendChild(sim_table)

sim = _empty_row(lsctables.SimInspiral)
Expand Down Expand Up @@ -343,8 +344,9 @@ sim.waveform = waveform_string
name, phase_order = legacy_approximant_name(sim.waveform)

# create sngl_inspiral table
sngl_table = lsctables.New(lsctables.SnglInspiralTable,
columns=lsctables.SnglInspiralTable.validcolumns)
sngl_table = lsctables.SnglInspiralTable.new(
columns=lsctables.SnglInspiralTable.validcolumns
)
outdoc.childNodes[0].appendChild(sngl_table)

# create sngl_inspiral row for injection
Expand Down
10 changes: 6 additions & 4 deletions bin/pycbc_inj_cut
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,14 @@ output_inject = opts.output_inject
if opts.write_compress:
if not output_inject.endswith('gz'):
output_inject = output_inject+'.gz'
out_sim_inspiral_inject = lsctables.New(lsctables.SimInspiralTable,
columns=injections.table.columnnames)
out_sim_inspiral_inject = lsctables.SimInspiralTable.new(
columns=injections.table.columnnames
)

# missed injections table
out_sim_inspiral_missed = lsctables.New(lsctables.SimInspiralTable,
columns=injections.table.columnnames)
out_sim_inspiral_missed = lsctables.SimInspiralTable.new(
columns=injections.table.columnnames
)
if opts.write_compress:
if not output_missed.endswith('gz'):
output_missed = output_missed+'.gz'
Expand Down
3 changes: 1 addition & 2 deletions bin/pycbc_optimal_snr
Original file line number Diff line number Diff line change
Expand Up @@ -298,8 +298,7 @@ if __name__ == '__main__':
inj_table = sorted(inj_table, key=sort_func)

if ligolw:
new_inj_table = lsctables.New(
lsctables.SimInspiralTable,
new_inj_table = lsctables.SimInspiralTable.new(
columns=get_table_columns(injections.table)
)
else:
Expand Down
2 changes: 1 addition & 1 deletion bin/pycbc_split_inspinj
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ xmlroot.removeChild(allinjs)
num_splits = args.num_splits or len(args.output_files)

new_inj_tables = [
lsctables.New(tabletype, columns=get_table_columns(allinjs))
tabletype.new(columns=get_table_columns(allinjs))
for _ in range(num_splits)
]

Expand Down
16 changes: 5 additions & 11 deletions bin/pycbc_splitbank
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ from igwn_ligolw import lsctables
from igwn_ligolw import utils as ligolw_utils

import pycbc
from pycbc.io.ligolw import LIGOLWContentHandler, create_process_table
from pycbc.io.ligolw import (
LIGOLWContentHandler, create_process_table, get_table_columns
)
from pycbc.conversions import mchirp_from_mass1_mass2
from pycbc.pnutils import frequency_cutoff_from_name

Expand Down Expand Up @@ -96,15 +98,7 @@ except:
template_bank_table = lsctables.SimInspiralTable.get_table(indoc)
tabletype = lsctables.SimInspiralTable

# make a list of columns that are present in the input table.
# The : split is needed for columns like `process:process_id`,
# which must be listed as `process:process_id` in `lsctables.New()`,
# but are listed as just `process_id` in the `columnnames` attribute
used_columns = []
for col in template_bank_table.validcolumns:
att = col.split(':')[-1]
if att in template_bank_table.columnnames:
used_columns.append(col)
used_columns = get_table_columns(template_bank_table)

length = len(template_bank_table)

Expand Down Expand Up @@ -151,7 +145,7 @@ for num, (idx1, idx2) in enumerate(zip(index_list[:-1], index_list[1:])):
options=args.__dict__
)

sngl_inspiral_table = lsctables.New(tabletype, columns=used_columns)
sngl_inspiral_table = tabletype.new(columns=used_columns)
outdoc.childNodes[0].appendChild(sngl_inspiral_table)

for i in range(idx2-idx1):
Expand Down
8 changes: 4 additions & 4 deletions bin/pycbc_upload_xml_to_gracedb
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,11 @@ xmldoc.childNodes[-1].removeChild(coinc_inspiral_table)
xmldoc.childNodes[-1].removeChild(coinc_table)

for event in coinc_table:
coinc_event_table_curr = lsctables.New(lsctables.CoincTable)
coinc_event_table_curr = lsctables.CoincTable.new()
coinc_event_table_curr.append(event)
coinc_inspiral_table_curr = lsctables.New(lsctables.CoincInspiralTable)
coinc_event_map_table_curr = lsctables.New(lsctables.CoincMapTable)
sngl_inspiral_table_curr = lsctables.New(lsctables.SnglInspiralTable)
coinc_inspiral_table_curr = lsctables.CoincInspiralTable.new()
coinc_event_map_table_curr = lsctables.CoincMapTable.new()
sngl_inspiral_table_curr = lsctables.SnglInspiralTable.new()

coinc_event_id = event.coinc_event_id
for coinc_insp in coinc_inspiral_table:
Expand Down
2 changes: 1 addition & 1 deletion pycbc/inject/inject.py
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ def write(filename, samples, write_params=None, static_args=None):
"""
xmldoc = ligolw.Document()
xmldoc.appendChild(ligolw.LIGO_LW())
simtable = lsctables.New(lsctables.SimInspiralTable)
simtable = lsctables.SimInspiralTable.new()
xmldoc.childNodes[0].appendChild(simtable)
if static_args is None:
static_args = {}
Expand Down
10 changes: 5 additions & 5 deletions pycbc/io/gracedb.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ def __init__(self, coinc_ifos, ifos, coinc_results, **kwargs):
detectors=snr_ifos).process_id

# Set up coinc_definer table
coinc_def_table = lsctables.New(lsctables.CoincDefTable)
coinc_def_table = lsctables.CoincDefTable.new()
coinc_def_id = lsctables.CoincDefID(0)
coinc_def_row = lsctables.CoincDef()
coinc_def_row.search = "inspiral"
Expand All @@ -128,7 +128,7 @@ def __init__(self, coinc_ifos, ifos, coinc_results, **kwargs):

# Set up coinc inspiral and coinc event tables
coinc_id = lsctables.CoincID(0)
coinc_event_table = lsctables.New(lsctables.CoincTable)
coinc_event_table = lsctables.CoincTable.new()
coinc_event_row = lsctables.Coinc()
coinc_event_row.coinc_def_id = coinc_def_id
coinc_event_row.nevents = len(snr_ifos)
Expand All @@ -144,8 +144,8 @@ def __init__(self, coinc_ifos, ifos, coinc_results, **kwargs):
outdoc.childNodes[0].appendChild(coinc_event_table)

# Set up sngls
sngl_inspiral_table = lsctables.New(lsctables.SnglInspiralTable)
coinc_event_map_table = lsctables.New(lsctables.CoincMapTable)
sngl_inspiral_table = lsctables.SnglInspiralTable.new()
coinc_event_map_table = lsctables.CoincMapTable.new()

# Marker variable recording template info from a valid sngl trigger
sngl_populated = None
Expand Down Expand Up @@ -201,7 +201,7 @@ def __init__(self, coinc_ifos, ifos, coinc_results, **kwargs):
outdoc.childNodes[0].appendChild(sngl_inspiral_table)

# Set up the coinc inspiral table
coinc_inspiral_table = lsctables.New(lsctables.CoincInspiralTable)
coinc_inspiral_table = lsctables.CoincInspiralTable.new()
coinc_inspiral_row = lsctables.CoincInspiral()
# This seems to be used as FAP, which should not be in gracedb
coinc_inspiral_row.false_alarm_rate = 0.
Expand Down
14 changes: 7 additions & 7 deletions pycbc/io/hdf.py
Original file line number Diff line number Diff line change
Expand Up @@ -1119,7 +1119,7 @@ def to_coinc_xml_object(self, file_name):
)
proc_id = proc_table.process_id

search_summ_table = lsctables.New(lsctables.SearchSummaryTable)
search_summ_table = lsctables.SearchSummaryTable.new()
coinc_h5file = self.coinc_file.h5file
try:
start_time = coinc_h5file['segments']['coinc']['start'][:].min()
Expand All @@ -1141,12 +1141,12 @@ def to_coinc_xml_object(self, file_name):
search_summ_table.append(search_summary)
outdoc.childNodes[0].appendChild(search_summ_table)

sngl_inspiral_table = lsctables.New(lsctables.SnglInspiralTable)
coinc_def_table = lsctables.New(lsctables.CoincDefTable)
coinc_event_table = lsctables.New(lsctables.CoincTable)
coinc_inspiral_table = lsctables.New(lsctables.CoincInspiralTable)
coinc_event_map_table = lsctables.New(lsctables.CoincMapTable)
time_slide_table = lsctables.New(lsctables.TimeSlideTable)
sngl_inspiral_table = lsctables.SnglInspiralTable.new()
coinc_def_table = lsctables.CoincDefTable.new()
coinc_event_table = lsctables.CoincTable.new()
coinc_inspiral_table = lsctables.CoincInspiralTable.new()
coinc_event_map_table = lsctables.CoincMapTable.new()
time_slide_table = lsctables.TimeSlideTable.new()

# Set up time_slide table
time_slide_id = lsctables.TimeSlideID(0)
Expand Down
4 changes: 2 additions & 2 deletions pycbc/io/ligolw.py
Original file line number Diff line number Diff line change
Expand Up @@ -327,10 +327,10 @@ def snr_series_to_xml(snr_series, document, sngl_inspiral_id):

def get_table_columns(table):
"""Return a list of columns that are present in the given table, in a
format that can be passed to `lsctables.New()`.
format that can be passed to `igwn_ligolw.Table.new()`.
The split on ":" is needed for columns like `process:process_id`, which
must be listed as `process:process_id` in `lsctables.New()`, but are
must be listed as `process:process_id` in `igwn_ligolw.Table.new()`, but are
listed as just `process_id` in the `columnnames` attribute of the given
table.
"""
Expand Down
4 changes: 2 additions & 2 deletions pycbc/tmpltbank/bank_output_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def convert_to_sngl_inspiral_table(params, proc_id):
SnglInspiralTable
Bank of templates in SnglInspiralTable format
'''
sngl_inspiral_table = lsctables.New(lsctables.SnglInspiralTable)
sngl_inspiral_table = lsctables.SnglInspiralTable.new()
col_names = ['mass1','mass2','spin1z','spin2z']

for values in params:
Expand Down Expand Up @@ -267,7 +267,7 @@ def output_sngl_inspiral_table(outputFile, tempBank, programName="",
end_time = optDict['gps_end_time']

# make search summary table
search_summary_table = lsctables.New(lsctables.SearchSummaryTable)
search_summary_table = lsctables.SearchSummaryTable.new()
search_summary = return_search_summary(
start_time, end_time, len(sngl_inspiral_table), ifos
)
Expand Down
2 changes: 1 addition & 1 deletion test/test_injection.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ def setUp(self):
xmldoc.appendChild(ligolw.LIGO_LW())

# create sim inspiral table, link it to document and fill it
sim_table = lsctables.New(lsctables.SimInspiralTable)
sim_table = lsctables.SimInspiralTable.new()
xmldoc.childNodes[-1].appendChild(sim_table)
for i in range(len(self.injections)):
row = sim_table.RowType()
Expand Down

0 comments on commit 4d2524c

Please sign in to comment.