}
public void read(final RandomAccessFile file) throws IOException, InvalidTagException {
final int size = readHeader(file);
if (size == 0) {
throw new InvalidTagException("Empty Frame");
}
dataStart = file.readInt();
dataLength = file.readInt();
indexPoints = (int) file.readShort();
bitsPerPoint = (int) file.readByte();
fraction = new short[indexPoints];
for (int i = 0; i < indexPoints; i++) {
if (bitsPerPoint == 8) {
fraction[i] = (short) file.readByte();
} else if (bitsPerPoint == 16) {
fraction[i] = file.readShort();
} else {
throw new InvalidTagException("ASPI bits per point wasn't 8 or 16");
}
}
}