public class FitsStarTable extends RandomStarTable
This implementation uses the table handling in the nom.tam.fits package. I think that performance could be considerably improved by rewriting the table access from scratch. The reason for this is largely that the nom.tam.fits classes do a lot of wrapping of values in (perhaps multi-dimensional) arrays, which is not for our purposes necessary. Such a re-implementation would take a bit of effort unfortunately.
This class should only be used for TABLE extension (that is ASCII table)
HDUs.
The BintableStarTable
class is much more efficient for BINTTABLE
extensions (binary table) HDUs.
Constructor and Description |
---|
FitsStarTable(TableHDU thdu)
Constructs a FitsStarTable object from a FITS TableHDU object.
|
Modifier and Type | Method and Description |
---|---|
Object |
getCell(long lrow,
int icol)
Implementations of this method must be safe for concurrent calls
from multiple threads.
|
List<ValueInfo> |
getColumnAuxDataInfos()
Goes through the table columns (ColumnInfo objects)
and picks out all the AuxData items which exist, generalising
where necessary and returning a union of them in
alphabetical order by name.
|
int |
getColumnCount()
Returns the number of columns in this table.
|
ColumnInfo |
getColumnInfo(int icol)
Returns the object describing the data in a given column.
|
Object[] |
getRow(long lrow)
The AbstractStarTable implementation of this method
constructs a row by repeated invocation of
AbstractStarTable.getCell(long, int) . |
long |
getRowCount()
Implementations must supply a non-negative return value.
|
getRowAccess, getRowSequence, isRandom
checkedLongToInt, close, getName, getParameters, getRowSplittable, getURL, setName, setParameters, setURL
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParameterByName, setParameter
public FitsStarTable(TableHDU thdu) throws IOException
thdu
- a TableHDU object containing dataIOException
public long getRowCount()
RandomStarTable
getRowCount
in interface StarTable
getRowCount
in class RandomStarTable
public int getColumnCount()
StarTable
getColumnCount
in interface StarTable
getColumnCount
in class AbstractStarTable
public ColumnInfo getColumnInfo(int icol)
StarTable
getColumnInfo
in interface StarTable
getColumnInfo
in class AbstractStarTable
icol
- the column for which header information is requiredpublic List<ValueInfo> getColumnAuxDataInfos()
AbstractStarTable
getColumnAuxDataInfos
in interface StarTable
getColumnAuxDataInfos
in class AbstractStarTable
DefaultValueInfo.getAuxData()
public Object getCell(long lrow, int icol) throws IOException
RandomStarTable
getCell
in interface StarTable
getCell
in class RandomStarTable
lrow
- the index of the cell's rowicol
- the index of the cell's columnIOException
- if there is an error reading the datapublic Object[] getRow(long lrow) throws IOException
AbstractStarTable
AbstractStarTable.getCell(long, int)
.getRow
in interface StarTable
getRow
in class AbstractStarTable
lrow
- the index of the row to retrieveIOException
- if there is an error reading the dataCopyright © 2023 Central Laboratory of the Research Councils. All Rights Reserved.