В качестве выходных файлов измерения я получаю большие файлы ASCII, содержащие таблицу чисел с плавающей запятой 1000x1000 (~ 15 МБ).Поскольку они нецелесообразны в больших количествах (т.е. еще 1000 измерений на серию), я хотел бы эффективно сжать их.Используя структуру данных (в основном 1-мегапиксельная карта -> рисунок), я попытался использовать функцию Pylabs imsave для генерации PNG-файлов из необработанных данных, которая прекрасно работала и давала 200 КБ (!!!!!) * .png.
Чтобы проанализировать данные на более позднем этапе, мне, очевидно, необходимо выполнить обратную обработку PNG и получить обратно ту же исходную таблицу.Однако предполагаемая функция imread дает 4 кортежа, которые я не могу понять.Кто-нибудь имеет какой-либо опыт работы с таким процессом или лучше знает, как решить проблему сжатия (простое сжатие недостаточно даже для удаленного сжатия).
import numpy
import Image
import matplotlib
import pylab
data=numpy.genfromtxt('raw data.txt',autostrip=True, case_sensitive=True)
pylab.imsave('convert.png',data)
out=pylab.imread('convert.png')
numpy.savetxt('converted.txt', out[0], fmt='%1.4e')