Class ImageData
java.lang.Object
nom.tam.fits.Data
nom.tam.fits.ImageData
- All Implemented Interfaces:
FitsElement
This class instantiates FITS primary HDU and IMAGE extension data.
Essentially these data are a primitive multi-dimensional array.
Starting in version 0.9 of the FITS library, this routine allows users to defer the reading of images if the FITS data is being read from a file. An ImageTiler object is supplied which can return an arbitrary subset of the image as a one dimensional array -- suitable for manipulation by standard Java libraries. A call to the getData() method will still return a multi-dimensional array, but the image data will not be read until the user explicitly requests. it.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classThis class describes an arrayprotected classThis inner class allows the ImageTiler to see if the user has read in the data. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate longThe size of the dataprivate ObjectThe actual array of data.private ImageData.ArrayDescA description of what the data should look likeprivate static final Loggerprivate StandardImageTilerThe image tiler associated with this image.Fields inherited from class Data
dataSize, fileOffset, input -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidfillHeader(Header head) Fill header with keywords that describe image data.getData()Return the actual data.getTiler()protected longGet the size in bytes of the dataprotected ImageData.ArrayDescvoidRead a data array into the current object and if needed position to the beginning of the next FITS block.void(package private) voidsetTiler(StandardImageTiler tiler) voidWrite the data -- including any buffering neededMethods inherited from class Data
getFileOffset, getKernel, getSize, reset, rewrite, rewriteable, setFileOffset
-
Field Details
-
LOG
-
byteSize
private long byteSizeThe size of the data -
dataArray
The actual array of data. This is normally a multi-dimensional primitive array. It may be null until the getData() routine is invoked, or it may be filled by during the read call when a non-random access device is used. -
dataDescription
A description of what the data should look like -
tiler
The image tiler associated with this image.
-
-
Constructor Details
-
ImageData
public ImageData()Create the equivalent of a null data element. -
ImageData
Create an array from a header description. This is typically how data will be created when reading FITS data from a file where the header is read first. This creates an empty array.- Parameters:
h- header to be used as a template.- Throws:
FitsException- if there was a problem with the header description.
-
ImageData
Create an ImageData object using the specified object to initialize the data array.- Parameters:
x- The initial data array. This should be a primitive array but this is not checked currently.
-
-
Method Details
-
getData
Return the actual data. Note that this may return a null when the data is not readable. It might be better to throw a FitsException, but this is a very commonly called method and we prefered not to change how users must invoke it. -
getTiler
-
read
Description copied from interface:FitsElementRead a data array into the current object and if needed position to the beginning of the next FITS block.- Specified by:
readin interfaceFitsElement- Specified by:
readin classData- Parameters:
i- The input data stream- Throws:
FitsException- if the read was unsuccessful.
-
setBuffer
-
write
Description copied from class:DataWrite the data -- including any buffering needed- Specified by:
writein interfaceFitsElement- Specified by:
writein classData- Parameters:
o- The output stream on which to write the data.- Throws:
FitsException- if the write was unsuccessful.
-
fillHeader
Fill header with keywords that describe image data.- Specified by:
fillHeaderin classData- Parameters:
head- The FITS header- Throws:
FitsException- if the object does not contain valid image data.
-
getTrueSize
protected long getTrueSize()Get the size in bytes of the data- Specified by:
getTrueSizein classData
-
parseHeader
- Throws:
FitsException
-
setTiler
-