Netbeans File->Project Properties->Run =================================================== Main Class: TestBench2 Arguments: \head-float\ endian=BIG COMPRESS_SUMMARY=TRUE COMPRESS_DETAILS=TRUE NUM_LVLS=1 VM options: -Xms2048m -Xmx2048m =================================================== Arguments: 1) Location of Data with endianness: a) Human Head CAT scan data \head-float\ endian=BIG b) Human Head CAT scan data 64 partitions \head-float_partitions_4x4x4\ endian=BIG c) Andy's uncompressed version of jimmy data: \raf-512x256x256\ endian=LITTLE d)Andy's uncompressed data broken into 64 partitions \raf-512x256x256_64partitions\ endian=LITTLE 2) COMPRESS_SUMMARY= 3) COMPRESS_DETAILS= 4) NUM_LVLS=<#> - number of times to apply a wavelet transform to the data - the code will halt if you try to apply a wavelet to data with an odd dimension ======================================================= Output: 1) Debug output is displayed to the screen 2) When complete it creates outputs called results.csv and results_best.csv - results.csv provides the results for every run - results_best.csv provides just the best results for each number of regions kept ======================================================= ******************************************************************************* ******************************************************************************* EXTRA FUNCTIONALITY ******************************************************************************* ******************************************************************************* ================================= How to Create Partitions of data ================================= TestBench2.java in public static void main(String[] args) { Example: Partition part = new Partition(); part.createPartitions("head-float.bin", 4, true); where createPartitions is defined as: static public void createPartitions( String filename, int numPartPerDim, boolean bigEndian) I simply placed the file to partition in the project root directory. The program then generates the partitions as individual files named #-#-# where each number is the starting dimension of that partition. =================================== Creating Histograms =================================== The functionality exists in a class called Histogram. A version of code to pass the data in for a histogram is commented out at the end of ErrorUtility.java. In order to not count data that wasn't to be compressed, a copy of the original data was made and those specific regions were assigned values of -9999 and the histogram code was told to ignore those values when generating the histogram. For instance, if the summary data was not to be compressed, every value was assigned to -9999 and the histogram simply ignored it whenever it was located. I believe that the current version of histogram code remaps the values in a linear fashion. It would be far better for the histogram code to passa value to amapping class that returns the index it needs.