package edu.colostate.vchill.file;
import edu.colostate.vchill.ChillDefines;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
/**
* The scaling information (factor, scale, bias) of a field.
*
* @author Justin Carlson
* @author Brian Eriksson
* @author Jochen Deyke
* @author jpont
* @version 2010-08-30
* @created June 17, 2003
*/
public class FileFieldScalingInfo {
public static final int BYTE_SIZE = 3 * ChillDefines.INT_BYTE_SIZE;
/**
* scale and bias values are multiplied by this
* factor before being stored
*/
public int factor;
/**
* gain of the data
*/
public int scale;
/**
* offset of zero value
*/
public int bias;
/**
* Reads Field parameters header from the inputted CHILL file
*
* @param in DataInput object containing CHILL file
*/
public void inputData(final DataInput in) {
try {
this.factor = in.readInt();
this.scale = in.readInt();
this.bias = in.readInt();
} catch (IOException e) {
System.out.println("IO message = " + e.getMessage());
System.out.println("IO trace = ");
e.printStackTrace();
}
}
/**
* Writes Field parameters header to the outputted CHILL file
*
* @param out DataOutput object containing CHILL file
*/
public void outputData(final DataOutput out) {
try {
out.writeInt(this.factor);
out.writeInt(this.scale);
out.writeInt(this.bias);
} catch (IOException e) {
System.out.println("IO message = " + e.getMessage());
System.out.println("IO trace = ");
e.printStackTrace();
}
}
@Override
public String toString() {
return " factor: " + this.factor + "\n" +
" scale : " + this.scale + "\n" +
" bias : " + this.bias + "\n";
}
}