at.tuwien.ifs.somtoolbox.apps.helper
Class VectorFileToRandomAccessFileConverter

java.lang.Object
  extended by at.tuwien.ifs.somtoolbox.data.AbstractSOMLibSparseInputData
      extended by at.tuwien.ifs.somtoolbox.data.SOMLibSparseInputData
          extended by at.tuwien.ifs.somtoolbox.apps.helper.VectorFileToRandomAccessFileConverter
All Implemented Interfaces:
InputData

public class VectorFileToRandomAccessFileConverter
extends SOMLibSparseInputData

Converts an input file to a binary/random access input file. his class customises the handling of data read from the file by storing it in an Random Access File.

This is a specific, memory saving implementation, that could otherwise be handled with InputDataFileFormatConverter

.

Version:
$Id: VectorFileToRandomAccessFileConverter.java 3589 2010-05-21 10:42:01Z mayer $
Author:
Rudolf Mayer

Field Summary
private  RandomAccessFile file
           
(package private)  boolean headerWritten
           
 
Fields inherited from class at.tuwien.ifs.somtoolbox.data.SOMLibSparseInputData
data, DEFAULT_NORMALISED, DEFAULT_NUM_CACHE_BLOCKS, DEFAULT_RANDOM_SEED, DEFAULT_SPARSE, INPUT_VECTOR_FILE_FORMAT_CORRUPT_MESSAGE, nonZeros, sparse
 
Fields inherited from class at.tuwien.ifs.somtoolbox.data.AbstractSOMLibSparseInputData
classInfo, content_subtype, content_type, dataNames, dim, ERROR_MESSAGE_FILE_FORMAT_CORRUPT, featureMatrixCols, featureMatrixRows, isNormalized, meanVector, mqe0, nameCache, numVectors, rand, source, templateVector
 
Fields inherited from interface at.tuwien.ifs.somtoolbox.data.InputData
inputFileNameSuffix, MISSING_VALUE
 
Constructor Summary
VectorFileToRandomAccessFileConverter(String inputVectorFile)
           
 
Method Summary
protected  void initMatrix(boolean sparse)
           
static void main(String[] args)
          Starts the conversion
protected  void processLine(int documentIndex, String[] lineElements)
          Stores the information read in the random access file.
 
Methods inherited from class at.tuwien.ifs.somtoolbox.data.SOMLibSparseInputData
addInstance, getDimensionality, getInputDatum, getInputVector, getValue, init, initDataStructures, mqe0, openFile, parseDouble, readVectorFile, setLabel, setMatrixValue, subset
 
Methods inherited from class at.tuwien.ifs.somtoolbox.data.AbstractSOMLibSparseInputData
classInformation, create, dim, equals, getByNameDistanceSorted, getContentSubType, getContentType, getData, getData, getDataIntervals, getDataSource, getDistanceMatrix, getDistances, getFeatureDensities, getFeatureMatrixColumns, getFeatureMatrixRows, getFileNameSuffix, getFormatName, getInputDatum, getInputDatum, getInputDatumIndex, getLabel, getLabels, getMeanVector, getMeanVector, getNearestN, getNearestN, getNearestNUnsorted, getRandomInputDatum, initDistanceMatrix, isNormalizedToUnitLength, numVectors, setClassInfo, setTemplateVector, templateVector, transformValues
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

file

private RandomAccessFile file

headerWritten

boolean headerWritten
Constructor Detail

VectorFileToRandomAccessFileConverter

public VectorFileToRandomAccessFileConverter(String inputVectorFile)
                                      throws IOException
Throws:
IOException
Method Detail

processLine

protected void processLine(int documentIndex,
                           String[] lineElements)
                    throws Exception
Stores the information read in the random access file.

Overrides:
processLine in class SOMLibSparseInputData
Parameters:
documentIndex - the line index
lineElements - the line elements, split by the delimeters
Throws:
Exception

initMatrix

protected void initMatrix(boolean sparse)
Overrides:
initMatrix in class SOMLibSparseInputData

main

public static void main(String[] args)
                 throws IOException
Starts the conversion

Parameters:
args - Needed program arguments:
  • -v inputVectorFile, mandatory
Throws:
IOException - If the input vector file can't be read, or the output binary file can't be written.