aboutsummaryrefslogtreecommitdiff
path: root/src/cubeit.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2010-09-18 20:52:05 +0200
committerThomas White <taw@physics.org>2012-02-22 15:26:58 +0100
commit350610979b4b7e4965d3a0ca9f0e07dd1226ed0d (patch)
tree1aaa5ad7619d7bf512687bf29e750d19458b41ac /src/cubeit.c
parenta18d82f77c335f962475ce65008c697756293320 (diff)
cubeit: PNG fixes
Diffstat (limited to 'src/cubeit.c')
-rw-r--r--src/cubeit.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/cubeit.c b/src/cubeit.c
index 49cf27cd..bed617df 100644
--- a/src/cubeit.c
+++ b/src/cubeit.c
@@ -289,7 +289,7 @@ static void write_slice(const char *filename, double *vals, int z,
png_structp png_ptr;
png_infop info_ptr;
png_bytep *row_pointers;
- int x, y;
+ int x, y, zf;
float max = 0.0;
int w, h;
int pw, ph;
@@ -300,17 +300,19 @@ static void write_slice(const char *filename, double *vals, int z,
w = xs;
h = ys;
+ for ( zf=0; zf<zs; zf++ ) {
for ( y=0; y<h; y++ ) {
for ( x=0; x<w; x++ ) {
float val;
- val = vals[xs*ys*z + xs*y + x];
+ val = vals[xs*ys*zf + xs*y + x];
if ( val > max ) max = val;
}
}
+ }
fh = fopen(filename, "wb");
if ( !fh ) {
@@ -370,7 +372,7 @@ static void write_slice(const char *filename, double *vals, int z,
}
}
- for ( y=0; y<ph/2+1; y++ ) {
+ for ( y=0; y<ph/2; y++ ) {
png_bytep scratch;
scratch = row_pointers[y];
row_pointers[y] = row_pointers[ph-y-1];
@@ -692,7 +694,6 @@ int main(int argc, char *argv[])
if ( !worker_active[i] ) goto free;
-
/* Tell the thread to exit */
struct process_args *pargs = worker_args[i];
pthread_mutex_lock(&pargs->control_mutex);