In the original exported nprguy ETF image, I packed three arrays into the RGB color values. This may have removed critical information, so I am re-running the generation to export the raw values as text. Below is the mapping between these raw values (e->p[][].tx, .ty and .ag) and what was originally exported. When referring to ETF data from now n, if it is important to distinguish which set you are using, refer to them as either "Mini ETF" or "Full ETF"... The data files are: nprguy-etf-tx.txt nprguy-etf-ty.txt nprguy-etf-mag.txt Anyone who wants to get into this more deeply may also be interested in nprguy-fdog-tx.txt nprguy-fdog-ty.txt nprguy-fdog-mag.txt The generated drawing without any flow data is nprguy-drawing.txt (and nprguy-drawing.jpg) Here is the mapping I used with the original experiments: { #define n(x) ((x)<0 ? 0 : ((x) > 255 ? 255 : (x))) int i, j; fprintf(stdout, "# ImageMagick pixel enumeration: %d,%d,255,rgb\n", width, height); for (i = 0; i < height; i++) { for (j = 0; j < width; j++) { fprintf(stdout, "%d,%d: (%d,%d,%d) #\n", j, i, n(128+(int)floor(127.0*0.97*e->p[i][j].tx/e->max_grad)), n(128+(int)floor(127.0*0.97*e->p[i][j].ty/e->max_grad)), n( (int)floor(255.0*0.97*e->p[i][j].mag/e->max_grad))); } } }