org.autoplot.idlsupport.ReadIDLSav

Read data from IDL Save Files. This was written using http://www.physics.wisc.edu/~craigm/idl/savefmt/node20.html https://cow.physics.wisc.edu/~craigm/idl/savefmt.pdf and https://github.com/scipy/scipy/blob/master/scipy/io/idl.py for reference, and with no involvement from individuals at Harris Geospacial. No warranties are implied and this must be used at your own risk.

{@code
 from  org.autoplot.idlsupport import ReadIDLSav
 reader= ReadIDLSav()
 aFile= File('/tmp/aDataFile.sav')
 inChannel = aFile.getChannel
 fileSize = inChannel.size()
 buffer = ByteBuffer.allocate( inChannel.size() )
 bytesRead= 0;
 while ( bytesRead

ReadIDLSav( )


TYPECODE_COMPLEX_FLOAT_SCALAR


TYPECODE_BYTE


TYPECODE_INT16


TYPECODE_INT32


TYPECODE_FLOAT


TYPECODE_DOUBLE


TYPECODE_COMPLEX_FLOAT


TYPECODE_STRING


TYPECODE_STRUCT


TYPECODE_COMPLEX_DOUBLE


TYPECODE_INT64


TYPECODE_UINT64


checkMagic

checkMagic( java.nio.channels.FileChannel inChannel ) → boolean

Parameters

inChannel - a FileChannel

Returns:

boolean

[search for examples] [view on GitHub] [view on old javadoc]


decodeTypeCode

decodeTypeCode( int typeCode ) → String

return a string representing the type code, if supported.

Parameters

typeCode - for example 4 which means float or 7 which means string.

Returns:

"float" or "string" or whatever the code is, or the numeric code if not supported.

[search for examples] [view on GitHub] [view on old javadoc]


isArray

isArray( java.nio.ByteBuffer in, String name ) → boolean

return true if the name refers to an array

Parameters

in - ByteBuffer for the entire file
name - the variable name

Returns:

td.isStructure();

[search for examples] [view on GitHub] [view on old javadoc]


isStructure

isStructure( java.nio.ByteBuffer in, String name ) → boolean

return true if the name refers to a structure

Parameters

in - ByteBuffer for the entire file
name - the variable name

Returns:

true if the name refers to a structure

[search for examples] [view on GitHub] [view on old javadoc]


readArrayDataIntoArrayOfArrays

readArrayDataIntoArrayOfArrays( org.autoplot.idlsupport.ReadIDLSav.ArrayData data ) → Object

read the data into 1-D and 2-D arrays. This is provided for reference, but can be extended to 3-D and higher arrays, if the need arrises.

Parameters

data - a ReadIDLSav.ArrayData

Returns:

an Object

[search for examples] [view on GitHub] [view on old javadoc]


readFileIntoByteBuffer

readFileIntoByteBuffer( java.io.File f ) → java.nio.ByteBuffer

Parameters

f - a File

Returns:

java.nio.ByteBuffer

[search for examples] [view on GitHub] [view on old javadoc]


readFileIntoChannel

readFileIntoChannel( java.io.File f ) → java.nio.channels.FileChannel

Parameters

f - a File

Returns:

java.nio.channels.FileChannel

[search for examples] [view on GitHub] [view on old javadoc]


readStructDesc

readStructDesc( java.nio.ByteBuffer rec, long fileOffset ) → org.autoplot.idlsupport.ReadIDLSav.StructDesc

Parameters

rec - a ByteBuffer
fileOffset - a long

Returns:

org.autoplot.idlsupport.ReadIDLSav.StructDesc

[search for examples] [view on GitHub] [view on old javadoc]


readTagDesc

readTagDesc( java.nio.ByteBuffer in, String name ) → org.autoplot.idlsupport.ReadIDLSav.TagDesc

scan through the IDLSav and retrieve information about the array.

Parameters

in - the idlsav loaded into a ByteBuffer.
name - the name of the array

Returns:

an org.autoplot.idlsupport.ReadIDLSav.TagDesc

[search for examples] [view on GitHub] [view on old javadoc]

readTagDesc( java.nio.channels.FileChannel inch, String name ) → org.autoplot.idlsupport.ReadIDLSav.TagDesc

readVar

readVar( java.nio.ByteBuffer in, String name ) → Object

scan through the IDLSav and return just the one variable.

Parameters

in - the IDLSav mapped into a NIO ByteBuffer.
name - the variable name to look for.

Returns:

an Object

[search for examples] [view on GitHub] [view on old javadoc]

readVar( java.nio.channels.FileChannel inch, String name ) → Object

readVarNames

readVarNames( java.nio.ByteBuffer in ) → String[]

list the names in the IDLSav file. This is only the supported variable types.

Parameters

in - a ByteBuffer

Returns:

the names found.

[search for examples] [view on GitHub] [view on old javadoc]

readVarNames( java.nio.channels.FileChannel inChannel ) → String[]

readVars

readVars( java.nio.ByteBuffer in ) → java.util.Map

Parameters

in - a ByteBuffer

Returns:

java.util.Map

[search for examples] [view on GitHub] [view on old javadoc]

readVars( java.nio.channels.FileChannel inChannel ) → java.util.Map