Package edu.sc.seis.seisFile.sac
Class SacTimeSeries
java.lang.Object
edu.sc.seis.seisFile.sac.SacTimeSeries
public class SacTimeSeries
extends java.lang.Object
Class that represents a sac file. All headers are have the same names as
within the Sac program. Can read the whole file or just the header as well as
write a file.
This reflects the sac header as of version 101.4 in utils/sac.h
Notes: Key to comment flags describing each field: Column 1: R required by
SAC (blank) optional Column 2: A = settable from a priori knowledge D =
available in data F = available in or derivable from SEED fixed data header T
= available in SEED header tables (blank) = not directly available from SEED
data, header tables, or elsewhere
-
Constructor Summary
Constructors Constructor Description SacTimeSeries(SacHeader header)
SacTimeSeries(SacHeader header, float[] data)
create a new SAC timeseries from the given header and data. -
Method Summary
Modifier and Type Method Description static void
appendData(java.io.File outfile, float[] data)
float[]
getAmp()
SacHeader
getHeader()
float[]
getImaginary()
int
getNumPtsRead()
float[]
getPhase()
float[]
getReal()
float[]
getX()
float[]
getY()
void
printHeader(java.io.PrintWriter out)
static SacTimeSeries
read(java.io.DataInput dis)
static SacTimeSeries
read(java.io.File sacFile)
static SacTimeSeries
read(java.lang.String filename)
reads the sac file specified by the filename.protected static SacTimeSeries
readData(SacHeader header, java.io.DataInput fis)
read the data portion of the given Filestatic void
readSomeData(java.io.DataInput dataIn, float[] data, boolean byteOrder)
reads data.length floats.void
setAmp(float[] amp)
void
setImaginary(float[] imaginary)
void
setPhase(float[] phase)
void
setReal(float[] real)
void
setX(float[] x)
void
setY(float[] y)
static int
skipSamples(java.io.DataInput dataIn, int samplesToSkip)
skips samplesToSkip data points.void
write(java.io.File file)
writes this object out as a sac file.void
write(java.lang.String filename)
writes this object out as a sac file.void
writeData(java.io.DataOutput dos)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
SacTimeSeries
-
SacTimeSeries
create a new SAC timeseries from the given header and data. The header values related to the data are set correctly:- npts=data.length
- e=b+(npts-1)*delta
- iftype=ITIME
- leven=TRUE
- Parameters:
header
-data
-
-
-
Method Details
-
getY
public float[] getY() -
setY
public void setY(float[] y) -
getX
public float[] getX() -
setX
public void setX(float[] x) -
getReal
public float[] getReal() -
setReal
public void setReal(float[] real) -
getImaginary
public float[] getImaginary() -
setImaginary
public void setImaginary(float[] imaginary) -
getAmp
public float[] getAmp() -
setAmp
public void setAmp(float[] amp) -
getPhase
public float[] getPhase() -
setPhase
public void setPhase(float[] phase) -
getHeader
-
printHeader
public void printHeader(java.io.PrintWriter out) -
getNumPtsRead
public int getNumPtsRead() -
read
public static SacTimeSeries read(java.lang.String filename) throws java.io.FileNotFoundException, java.io.IOExceptionreads the sac file specified by the filename. Only a very simple check is made to be sure the file really is a sac file.- Throws:
java.io.FileNotFoundException
- if the file cannot be foundjava.io.IOException
- if it isn't a sac file or if it happens :)
-
read
public static SacTimeSeries read(java.io.File sacFile) throws java.io.FileNotFoundException, java.io.IOException- Throws:
java.io.FileNotFoundException
java.io.IOException
-
read
- Throws:
java.io.IOException
-
readData
protected static SacTimeSeries readData(SacHeader header, java.io.DataInput fis) throws java.io.IOExceptionread the data portion of the given File- Throws:
java.io.IOException
-
readSomeData
public static void readSomeData(java.io.DataInput dataIn, float[] data, boolean byteOrder) throws java.io.IOExceptionreads data.length floats. It is up to the caller to insure that the type of SAC file (iftype = LEVEN, IRLIM, IAMPH) and how many data points remain are compatible with the size of the float array to be read.- Throws:
java.io.IOException
-
skipSamples
public static int skipSamples(java.io.DataInput dataIn, int samplesToSkip) throws java.io.IOExceptionskips samplesToSkip data points. It is up to the caller to insure that the type of SAC file (iftype = LEVEN, IRLIM, IAMPH) and how many data points remain are compatible with the size of the float array to be read.- Throws:
java.io.IOException
-
write
public void write(java.lang.String filename) throws java.io.FileNotFoundException, java.io.IOExceptionwrites this object out as a sac file.- Throws:
java.io.FileNotFoundException
java.io.IOException
-
write
public void write(java.io.File file) throws java.io.FileNotFoundException, java.io.IOExceptionwrites this object out as a sac file.- Throws:
java.io.FileNotFoundException
java.io.IOException
-
writeData
public void writeData(java.io.DataOutput dos) throws java.io.IOException- Throws:
java.io.IOException
-
appendData
public static void appendData(java.io.File outfile, float[] data) throws java.io.IOException- Throws:
java.io.IOException
-