In that case you probably want to just dump the ‘coded’ data in a .raw file. Correct me if I am wrong, but it sounds like you are interested in writing your own compression scheme. I used to do a small amount of compression in a former life using Wavelets and Neural Networks.
Is your application something like the following???
- Perform Fourier Transform
At this point you will have the same amount of “information”. You may want to consider using imglib2 and/or ops to do the FFT, as it will return the real and complex parts of the FFT without redundant information (ie complex and real buffers, half the size +1, in the leading dimension).
You will then have to apply a coder. Which could be lossless, or lossy, in this step you transform the FFT such that it can be stored with fewer bytes. (just writing the FFT won’t save any space, you have to transform it to a more compact form).
- At this point you could just write out the coded bytes and perhaps a header into a binary file. This is the file you transmit. By binary file, I mean you pack the header and transformed FFT into a byte array and dump it to a file.
on the recieving end you then need
Decoder. This takes your coded FFT, and recreates the original FFT on the user side.
Inverse FFT. This would recreate the original image.
So basicly you just want to dumb the raw bytes of your FFT (or transformed FFT) to a file, then read them at the recieving end. Does that makes sense?? Or have I completely misunderstood your application??