pipeline.domain.datatable.DataTableImpl

class DataTableImpl(name=None, readonly=None)[source]

Bases: object

DataTable is an object to hold meta data of scantable on memory.

row layout: [Row, Scan, IF, Pol, Beam, Date, Time, ElapsedTime,

0, 1, 2, 3, 4, 5, 6, 7,

Exptime, RA, DEC, Az, El, nchan, Tsys, TargetName,

8, 9, 10, 11, 12, 13, 14, 15,

Statistics, Flags, PermanentFlags, SummaryFlag, Nmask, MaskList, NoChange, Ant]

16, 17, 18, 19, 20, 21, 22, 23

Statistics: DataTable[ID][16] =
[LowFreqRMS, NewRMS, OldRMS, NewRMSdiff, OldRMSdiff, ExpectedRMS, ExpectedRMS]

0, 1, 2, 3, 4, 5, 6

Flags: DataTable[ID][17] =
[LowFrRMSFlag, PostFitRMSFlag, PreFitRMSFlag, PostFitRMSdiff, PreFitRMSdiff, PostFitExpRMSFlag, PreFitExpRMSFlag]

0, 1, 2, 3, 4, 5, 6

PermanentFlags: DataTable[ID][18] =
[WeatherFlag, TsysFlag, UserFlag]

0, 1, 2

Note for Flags: 1 is valid, 0 is invalid

Methods

addrows

colnames

export_rwtable_exclusive

Export "on-memory" RW table to the one on disk.

exportdata

name -- name of exported DataTable overwrite -- overwrite existing DataTable

get_posdict

get_rotable_name

get_rwtable_name

get_timegap

get_timetable

getcell

getcellslice

getcol

getcolkeyword

getcolslice

getkeyword

name -- keyword name

haskeyword

importdata

name -- name of DataTable to be imported

importdata2

name -- name of DataTable to be imported

keywordnames

return table keyword names

putcell

name -- column name idx -- row index val -- value to be put

putcellslice

putcol

putcolslice

putkeyword

name -- keyword name val -- keyword value

set_timetable

sync

Sync with DataTable on disk.

Attributes

REFKEY

direction_ref

name

nrow

position_group_id

time_group_id_large

time_group_id_small

__init__(name=None, readonly=None)[source]

name (optional) -- name of DataTable

export_rwtable_exclusive(dirty_rows=None, cols=None)[source]

Export "on-memory" RW table to the one on disk.

To support parallel operation, the method will acquire a lock for RW table to ensure the operation in one process doesn't overwrite the changes made by other processes.

dirty_rows -- list of row numbers that are updated. If None, everything

including unchanged rows will be flushed. Default is None.

cols -- list of columns that are updated. If None, all rows will be flushed.

default is None.

exportdata(name=None, minimal=True, overwrite=False)[source]

name -- name of exported DataTable overwrite -- overwrite existing DataTable

getkeyword(name)[source]

name -- keyword name

importdata(name, minimal=True, readonly=True)[source]

name -- name of DataTable to be imported

importdata2(name, minimal=True, readonly=True)[source]

name -- name of DataTable to be imported

keywordnames()[source]

return table keyword names

putcell(name, idx, val)[source]

name -- column name idx -- row index val -- value to be put

putkeyword(name, val)[source]

name -- keyword name val -- keyword value

sync(minimal=True)[source]

Sync with DataTable on disk.