Class FileCOR


  • public class FileCOR
    extends FileBase
    FreeSurfer COR files are used to store 3 dimensional unsigned byte data. Suppose the file base name is table. There is a header file named table-.info/and or table-.info~ which has the header information in ascii. A separate unsigned byte file exists for each slice of the 3D image - table-001, table-002, and so on until the last slice. The default is to have xDim = yDim = zDim = 256 and xResolution = yResolution = zResolution = 0.001 meter. Note that all distances in a COR file represent meters.

    The header fields are as follows: imnr0 the first slice number imnr1 the last slice number ptype the data type; 2 for unsigned byte x the x dimension y the y dimension fov the field of view thick the z resolution psiz = a common value for both the x and y resolutions locatn location strtx the minimum x value in meters endx the maximum x value in meters strty the minimum y value in meters endy the maximum y value in meters strtz the minimum z value in meters endz the maximum z value in meters tr T_r te T_e ti T_i xform transform file ras_good_file = 1 if the orientation fields are set, 0 otherwise x_ras x axis orientation y_ras y axis orientation z_ras z axis orientation c_ras volume center coordinates If orientation information is missing, the file is assumed to be coronal with z axis = R to L, y axis = S to I, and z axis = P to A. readInfoImage reads in the header information from the set of FreeSurfer COR volume images and then readImage is called once for each slice that must be read from a COR image file set.

    • Field Detail

      • file

        private java.io.File file
        DOCUMENT ME!
      • fileDir

        private java.lang.String fileDir
        DOCUMENT ME!
      • fileName

        private java.lang.String fileName
        DOCUMENT ME!
      • foundEOF

        private boolean foundEOF
        DOCUMENT ME!
      • imageExtents

        private int[] imageExtents
        DOCUMENT ME!
      • imageOrientation

        private int imageOrientation
        DOCUMENT ME!
      • imgBuffer

        private float[] imgBuffer
        DOCUMENT ME!
      • imgResols

        private float[] imgResols
        DOCUMENT ME!
      • LUT

        private ModelLUT LUT
        DOCUMENT ME!
      • orient

        private int[] orient
        DOCUMENT ME!
    • Constructor Detail

      • FileCOR

        public FileCOR​(java.lang.String fileName,
                       java.lang.String fileDir)
                throws java.io.IOException
        COR reader/writer constructor.
        Parameters:
        fileName - file name
        fileDir - file directory
        Throws:
        java.io.IOException - if there is an error making the file
    • Method Detail

      • finalize

        public void finalize()
        Prepares this class for cleanup. Calls the finalize method for existing elements, closes any open files and sets other elements to null.
        Overrides:
        finalize in class FileBase
      • getFileInfo

        public FileInfoBase 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

        public ModelLUT getModelLUT()
        Rreturns LUT if defined.
        Returns:
        the LUT if defined else it is null
      • readImage

        public void readImage​(int length)
                       throws java.io.IOException
        This method reads one slice from the file into byteBuffer and then transfers into the float array imgBuffer.
        Parameters:
        length - length = imageExtents[0] * imageExtents[1]
        Throws:
        java.io.IOException - if there is an error reading the file
      • readInfoImage

        public void readInfoImage()
                           throws java.io.IOException
        DOCUMENT ME!
        Throws:
        java.io.IOException - DOCUMENT ME!
      • setFileName

        public void setFileName​(java.lang.String fName)
        Accessor to set the file name (used for reading COR multiFile).
        Parameters:
        fName - file name of image to read.
      • writeImage

        public void writeImage​(ModelImage image,
                               FileWriteOptions options)
                        throws java.io.IOException
        Writes a COR format type image.
        Parameters:
        image - Image model of data to write.
        options - options such as starting and ending slices and times
        Throws:
        java.io.IOException - if there is an error writing the file
      • parse

        private java.lang.String[] parse​(java.lang.String inString)
        DOCUMENT ME!
        Parameters:
        inString - DOCUMENT ME!
        Returns:
        DOCUMENT ME!
      • readLine

        private java.lang.String readLine()
                                   throws java.io.IOException
        Reads lines of the file until a nonnull String results or the end of the file is reached.
        Returns:
        the line read in
        Throws:
        java.io.IOException - if there is an error reading the file