Package gov.nih.mipav.model.file
Class FileZVI
java.lang.Object
gov.nih.mipav.model.file.FileBase
gov.nih.mipav.model.file.FileZVI
Documentation used was the ZVI Format Specification V 2.0.5 - August, 2010.
The following email was sent to Zeiss support:
Here are problems I spotted in ZVI Format Specification V 2.0.5 - August, 2010:
2.1.1 stream of the container image:
TypeDescription is VT_EMPTY rather than VT_BSTR
FileName is VT_EMPTY rather than VT_BSTR
m_PluginCLSID is VT_BLOB rather than VT_CLSID
The {Tags} VT_STORED_OBJECT that goes between the {Layers} and {Scaling} VT_STORED_OBJECTs is missing.
2.2.1 stream of the image item:
Version is used rather than unused with minor = 1003 hex and major = 3000 hex.
TypeDescription is VT_EMPTY rather than VT_BSTR.
FileName is VT_EMPTY rather than VT_BSTR
m_PluginCLSID is VT_BLOB rather than VT_CLSID
Items after the {Others} VT_BLOB are completely different from what's listed. I find:
VT_DISPATCH
VT_STORED_OBJECT with a string = Tags
VT_DISPATCH
VT_DISPATCH
VT_DISPATCH
RAW pixel data
3.3 Coordinate ID for Image Dimensions:
Index should be 0 1 2 3 4 5 6 7 instead of the existing 0 1 3 4 5 6 7 8.
3.4 Tag IDs
ID 301 is used for both ImageBaseTimeFirst and ImageBaseTime1. I suspect the ImageBaseTimeFirst entry should be deleted.
The following tags show up in .ZVI files but are not listed in your table:
2071, 20478. What is the info for these tags?
65781 has both AuroxCamRes6 and AuroxCamCFactor.
Information for decoding the 64-bit VT_DATE structure is missing. Is it available somewhere?
Is it possible for me to obtain sample .ZVI files so I can improve the ZVI file read in the MIPAV image processing program?
Sincerely,
William Gandler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate intprivate intprivate double[]private int[]private intprivate booleanprivate FileDOCUMENT ME!private StringDOCUMENT ME!private FileInfoZVIDOCUMENT ME!private StringDOCUMENT ME!private intprivate intprivate intprivate intprivate intprivate intprivate intprivate intprivate intprivate intprivate intprivate ModelImageDOCUMENT ME!private double[]private int[]private int[]private int[]private int[]private intprivate int[]DOCUMENT ME!private double[]private intprivate double[]private double[]private int[]private int[]private intprivate double[]private double[]private double[]private double[]private double[]private int[]private int[]private int[]private int[]private double[]private intprivate int[]private int[]private int[]private int[]private int[]private int[]private int[]private int[]private int[]private float[]DOCUMENT ME!private float[]DOCUMENT ME!private ModelLUTDOCUMENT ME!private intprivate intprivate intprivate intprivate intprivate intprivate intprivate intprivate int[]private int[]private intprivate int[]private intprivate intprivate int[]private intprivate int[]private int[]private intprivate longprivate static final shortprivate static final shortprivate static final shortprivate static final shortprivate static final shortprivate static final shortprivate static final shortprivate static final shortprivate static final shortprivate static final shortprivate int[]private intFields inherited from class gov.nih.mipav.model.file.FileBase
BIG_ENDIAN, bitsPerPixel, fileNames, LITTLE_ENDIAN, pBarVisible, raFile, READ, READ_WRITE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate StringcalculateRelativeTime(double relativeTime) (package private) StringcalculateTimeStampString(long timeStamp) private StringcalculateVTDateTimeString(double dateTime) private voiddisplayPixelFormat(int pixelFormat) voidfinalize()Prepares this class for cleanup.Accessor that returns the file info.float[]Accessor that returns the image buffer.Rreturns LUT if defined.booleanreadImage(boolean multiFile, boolean one) Reads the LIFF header which indicates endianess, the TIFF magic number, and the offset in bytes of the first IFD.private intzviToMipavMeasurementUnits(int zviScalingUnit) Methods inherited from class gov.nih.mipav.model.file.FileBase
addProgressChangeListener, bytesToDouble, bytesToFloat, bytesToInt, bytesToShort, doubleToBytes, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, floatToBytes, getBufferDouble, getBufferFloat, getBufferInt, getBufferLong, getBufferShort, getBufferUShort, getDataType, getDouble, getFloat, getInt, getLong, getProgressChangeListeners, getRaFile, getSignedShort, getString, getUInt, getUnsignedByte, getUnsignedShort, intToBytes, isBigEndian, isProgressBarVisible, linkProgress, longToBytes, readDouble, readFloat, readInt, readLong, readShort, readString, readUnsignedShort, removeProgressChangeListener, setBigEndian, setBufferFloat, setBufferInt, setBufferLong, setBufferShort, setBufferString, setDataType, setEndianess, shortToBytes, writeBytes, writeDouble, writeFloat, writeInt, writeLong, writeShort
-
Field Details
-
VT_EMPTY
private static final short VT_EMPTY- See Also:
-
VT_BOOL
private static final short VT_BOOL- See Also:
-
VT_I2
private static final short VT_I2- See Also:
-
VT_I4
private static final short VT_I4- See Also:
-
VT_R8
private static final short VT_R8- See Also:
-
VT_BSTR
private static final short VT_BSTR- See Also:
-
VT_STORED_OBJECT
private static final short VT_STORED_OBJECT- See Also:
-
VT_DATE
private static final short VT_DATE- See Also:
-
VT_DISPATCH
private static final short VT_DISPATCH- See Also:
-
VT_BLOB
private static final short VT_BLOB- See Also:
-
file
DOCUMENT ME! -
fileDir
DOCUMENT ME! -
fileInfo
DOCUMENT ME! -
fileName
DOCUMENT ME! -
image
DOCUMENT ME! -
imageExtents
private int[] imageExtentsDOCUMENT ME! -
imgBuffer
private float[] imgBufferDOCUMENT ME! -
imgResols
private float[] imgResolsDOCUMENT ME! -
LUT
DOCUMENT ME! -
endianess
private boolean endianess -
sectorSize
private int sectorSize -
shortSectorSize
private int shortSectorSize -
shortSectorTable
private int[] shortSectorTable -
shortStreamStartSect
private int shortStreamStartSect -
totalShortStreamSize
private long totalShortStreamSize -
imageWidth
private int imageWidth -
imageHeight
private int imageHeight -
imageCount
private int imageCount -
imagePixelFormat
private int imagePixelFormat -
zDim
private int zDim -
backupZDim
private int backupZDim -
tDim
private int tDim -
channelNumber
private int channelNumber -
positionNumber
private int positionNumber -
zArray
private int[] zArray -
cArray
private int[] cArray -
tArray
private int[] tArray -
positionArray
private int[] positionArray -
startSectorArray
private int[] startSectorArray -
offsetArray
private int[] offsetArray -
ap
private int ap -
imageFocusPositionArray
private double[] imageFocusPositionArray -
imageStagePositionXArray
private double[] imageStagePositionXArray -
imageZXArray
private int[] imageZXArray -
imageZYArray
private int[] imageZYArray -
imageStagePositionYArray
private double[] imageStagePositionYArray -
imageOriginalStagePositionXArray
private double[] imageOriginalStagePositionXArray -
imageOriginalZXArray
private int[] imageOriginalZXArray -
imageOriginalZYArray
private int[] imageOriginalZYArray -
imageOriginalStagePositionYArray
private double[] imageOriginalStagePositionYArray -
imageZArray
private int[] imageZArray -
imageZ2Array
private int[] imageZ2Array -
imageC2Array
private int[] imageC2Array -
imageT2Array
private int[] imageT2Array -
imageBlackValueArray
private double[] imageBlackValueArray -
imageZ3Array
private int[] imageZ3Array -
imageC3Array
private int[] imageC3Array -
imageT3Array
private int[] imageT3Array -
imageWhiteValueArray
private double[] imageWhiteValueArray -
imageRelFocusPosition1Array
private double[] imageRelFocusPosition1Array -
imageZ4Array
private int[] imageZ4Array -
imageRelFocusPosition2Array
private double[] imageRelFocusPosition2Array -
imageZ5Array
private int[] imageZ5Array -
cameraImageAcquisitionTime
private double[] cameraImageAcquisitionTime -
imageZ6Array
private int[] imageZ6Array -
imageC6Array
private int[] imageC6Array -
imageT6Array
private int[] imageT6Array -
imageRelativeTime
private double[] imageRelativeTime -
imageZ7Array
private int[] imageZ7Array -
imageC7Array
private int[] imageC7Array -
imageT7Array
private int[] imageT7Array -
icp
private int icp -
icp2
private int icp2 -
icp3
private int icp3 -
icp4
private int icp4 -
icp5
private int icp5 -
icp6
private int icp6 -
icp7
private int icp7 -
icpX
private int icpX -
icpY
private int icpY -
icpOriginalX
private int icpOriginalX -
icpOriginalY
private int icpOriginalY -
sat
private int[] sat -
add128
private boolean add128 -
minC
private int minC -
maxC
private int maxC -
minZ
private int minZ -
maxZ
private int maxZ -
minT
private int minT -
maxT
private int maxT -
minPosition
private int minPosition -
maxPosition
private int maxPosition
-
-
Constructor Details
-
FileZVI
ZVI reader constructor.- Parameters:
fileName- file namefileDir- file directory- Throws:
IOException- if there is an error making the file
-
-
Method Details
-
finalize
public void finalize()Prepares this class for cleanup. Calls thefinalizemethod for existing elements, closes any open files and sets other elements tonull. -
getFileInfo
Accessor that returns the file info.- Returns:
- FileInfoBase containing the file info
-
getImageBuffer
public float[] getImageBuffer()Accessor that returns the image buffer.- Returns:
- buffer of image.
-
getModelLUT
Rreturns LUT if defined.- Returns:
- the LUT if defined else it is null
-
readImage
Reads the LIFF header which indicates endianess, the TIFF magic number, and the offset in bytes of the first IFD. It then reads all the IFDs. This method then opens a Model of an image and imports the the images one slice at a time. Image slices are separated by an IFD.- Parameters:
multiFile-trueif a set of files each containing a separate 2D image is presentfalseif one file with either a 2D image or a stack of 2D imagesone-trueif only want to read in one image of the 3D set- Returns:
- returns the image
- Throws:
IOException- if there is an error reading the file
-
readHeader
- Throws:
IOException
-
zviToMipavMeasurementUnits
private int zviToMipavMeasurementUnits(int zviScalingUnit) -
displayPixelFormat
private void displayPixelFormat(int pixelFormat) -
calculateTimeStampString
-
calculateVTDateTimeString
-
calculateRelativeTime
-