From f397b845134627f57ac2f5880c7186bff5c84ad6 Mon Sep 17 00:00:00 2001 From: Xerbo Date: Tue, 2 Jun 2020 18:31:44 +0100 Subject: [PATCH] Add palette support, remove falsecolor image type I will tidy this up in the next few commits --- .gitignore | 3 +- Makefile | 2 +- README.md | 18 +++--- common.h | 2 + dsp.c | 2 +- main.c | 48 +++++++-------- palettes/N19-June-High-Vegetation.png | Bin 0 -> 79711 bytes pngio.c | 81 +++++++++++++++++++++++++- 8 files changed, 121 insertions(+), 35 deletions(-) create mode 100644 palettes/N19-June-High-Vegetation.png diff --git a/.gitignore b/.gitignore index 4ccc436..a7c4171 100644 --- a/.gitignore +++ b/.gitignore @@ -43,8 +43,9 @@ # Program specifics *.png !textlogo.png +!palettes/* *.wav aptdec # VSCode -.vscode \ No newline at end of file +.vscode diff --git a/Makefile b/Makefile index b63097a..fa7f7d9 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ CC = gcc BIN = /usr/bin INCLUDES = -I. -CFLAGS = -O3 -DNDEBUG -Wall -Wextra $(INCLUDES) +CFLAGS = -O3 -g -Wall -Wextra $(INCLUDES) OBJS = main.o image.o dsp.o filter.o reg.o pngio.o median.o color.o aptdec: $(OBJS) diff --git a/README.md b/README.md index 211092f..8d81412 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ For each audio file up to 6 images can be generated: 2. Calibrated channel A image 3. Calibrated channel B image 4. Temperature compensated IR image -5. False color image +5. Palleted image 6. MCIR (Map Color InfraRed) image The input audio file must be mono with a sample rate in the range of 4160-62400 Hz, lower samples rates will process faster. @@ -51,9 +51,9 @@ To uninstall ## Options ``` --i [r|a|b|c|t|m] +-i [r|a|b|t|m|p] Output image type -Raw (r), Channel A (a), Channel B (b), False Color (c), Temperature (t) or MCIR (m) +Raw (r), Channel A (a), Channel B (b), Palleted (p), Temperature (t) or MCIR (m) Default: "ab" -d @@ -88,18 +88,18 @@ Image names are `audiofile-x.png`, where `x` is: - `r` for raw images - Sensor ID (`1`, `2`, `3A`, `3B`, `4`, `5`) for channel A|B images - - `c` for false color + - `p` for a paletted image - `t` for temperature calibrated images - `m` for MCIR images Currently there are 6 available effects: - `t` for crop telemetry, off by default, only has effects on raw images - - `h` for histogram equalise, stretch the colors in the image to black and white + - `h` for histogram equalise - `d` for a median denoise filter - `p` for a precipitation overlay - `f` to flip the image (for southbound passes) - - `l` to linearly equalise the image (recommended for falsecolor images) + - `l` to linearly equalise the image, stretch the colors in the image to black and white ## Examples @@ -111,6 +111,10 @@ This will process all `.wav` files in the current directory, generate calibrated Decode `audio.wav` with denoise and histogram equalization and save it into the current directory. +`aptdec -e d -p palettes/N19-June-High-Vegetation.png -i p audio.wav` + +Create a false color image from the `N19-June-High-Vegetation.pn` palette. + ## Realtime decoding As of recently a realtime output was added allowing realtime decoding of images. @@ -121,7 +125,7 @@ aptdec /tmp/aptaudio sox -t pulseaudio alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -c 1 -t wav /tmp/aptaudio ``` -Perform a realtime decode with the audio being played out of `alsa_output.pci-0000_00_1b.0.analog`. +Perform a realtime decode with the audio being played out of `alsa_output.pci-0000_00_1b.0.analog`. To stop the decode kill the `sox` process ## Further reading diff --git a/common.h b/common.h index 9e79c44..2a4a50f 100644 --- a/common.h +++ b/common.h @@ -34,6 +34,7 @@ typedef struct { int nrow; // Number of rows int chA, chB; // ID of each channel char name[256]; // Stripped filename + char *palette; // Filename of palette } image_t; typedef struct { char *type; // Output image type @@ -43,4 +44,5 @@ typedef struct { char *path; // Output directory int realtime; // Realtime decoding char *filename; // Output filename + char *palette; // Filename of palette } options_t; \ No newline at end of file diff --git a/dsp.c b/dsp.c index 06f1eae..503e160 100755 --- a/dsp.c +++ b/dsp.c @@ -248,7 +248,7 @@ int getpixelrow(float *pixelv, int nrow, int *zenith, int reset) { // The point in which the pixel offset is recalculated if (corr < 0.75 * max) { - //synced = 0; + synced = 0; FreqLine = 1.0; } max = corr; diff --git a/main.c b/main.c index dc2a7a1..4acfca4 100644 --- a/main.c +++ b/main.c @@ -80,7 +80,7 @@ int main(int argc, char **argv) { // Parse arguments int opt; - while ((opt = getopt(argc, argv, "o:m:d:i:s:e:r")) != EOF) { + while ((opt = getopt(argc, argv, "o:m:d:i:s:e:rp:")) != EOF) { switch (opt) { case 'd': opts.path = optarg; @@ -107,6 +107,9 @@ int main(int argc, char **argv) { case 'o': opts.filename = optarg; break; + case 'p': + opts.palette = optarg; + break; default: usage(); } @@ -235,21 +238,19 @@ static int processAudio(char *filename, options_t *opts){ histogramEqualise(img.prow, img.nrow, CHB_OFFSET, CH_WIDTH); } - // False color - if(CONTAINS(opts->type, 'c')){ - if(img.chA == 2 && img.chB >= 4){ - ImageOut(opts, &img, 0, CH_WIDTH, "False Color", "c", NULL); - }else{ - fprintf(stderr, "Lacking channels required for false color computation\n"); - } - } - // Raw image if (CONTAINS(opts->type, 'r')) { sprintf(desc, "%s (%s) & %s (%s)", ch.id[img.chA], ch.name[img.chA], ch.id[img.chB], ch.name[img.chB]); ImageOut(opts, &img, 0, IMG_WIDTH, desc, "r", NULL); } + // Palette image + if (CONTAINS(opts->type, 'p')) { + img.palette = opts->palette; + strcpy(desc, "Palette composite"); + ImageOut(opts, &img, 0, 909, desc, "p", NULL); + } + // Channel A if (CONTAINS(opts->type, 'a')) { sprintf(desc, "%s (%s)", ch.id[img.chA], ch.name[img.chA]); @@ -317,24 +318,25 @@ static void usage(void) { "Aptdec [options] audio files ...\n" "Options:\n" " -e [t|h|d|p|f|l] Effects\n" - " t: Crop telemetry\n" - " h: Histogram equalise\n" - " d: Denoise\n" - " p: Precipitation\n" - " f: Flip image\n" - " l: Linear equalise\n" - " -i [r|a|b|c|t|m] Output image\n" - " r: Raw\n" - " a: Channel A\n" - " b: Channel B\n" - " c: False color\n" - " t: Temperature\n" - " m: MCIR\n" + " t: Crop telemetry\n" + " h: Histogram equalise\n" + " d: Denoise\n" + " p: Precipitation\n" + " f: Flip image\n" + " l: Linear equalise\n" + " -i [r|a|b|c|t|m|p] Output image\n" + " r: Raw\n" + " a: Channel A\n" + " b: Channel B\n" + " t: Temperature\n" + " m: MCIR\n" + " p: Paletted image\n" " -d Image destination directory.\n" " -o Output filename\n" " -s [15-19] Satellite number\n" " -m Map file\n" " -r Realtime decode\n" + " -p Path to palette\n" "\nRefer to the README for more infomation\n"); exit(EINVAL); diff --git a/palettes/N19-June-High-Vegetation.png b/palettes/N19-June-High-Vegetation.png new file mode 100644 index 0000000000000000000000000000000000000000..4f24cb412df9a3ad9ffc2b66671dc2d94dbd6f4b GIT binary patch literal 79711 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 != NULL && CONTAINS(opts->effects, 't')){ width -= TOTAL_TELE; skiptele = 1; @@ -235,7 +297,7 @@ int ImageOut(options_t *opts, image_t *img, int offset, int width, char *desc, c return 0; } - if(palette == NULL && !CONTAINS(opts->effects, 'p') && !fc && opts->map[0] == '\0' && chid[0] != 'm'){ + if(palette == NULL && !CONTAINS(opts->effects, 'p') && !fc && opts->map[0] == '\0' && chid[0] != 'm' && !imgpalette){ greyscale = 1; // Greyscale image @@ -300,6 +362,13 @@ int ImageOut(options_t *opts, image_t *img, int offset, int width, char *desc, c printf("Writing %s", outName); + rgb_t *pal_row[256]; + if(imgpalette){ + if(!readPalette(img->palette, pal_row)){ + return 0; + } + } + // Build image for (int y = 0; y < img->nrow; y++) { png_color pix[width]; // Color @@ -326,6 +395,14 @@ int ImageOut(options_t *opts, image_t *img, int offset, int width, char *desc, c CLIP(img->prow[y][x + CHA_OFFSET], 0, 255), CLIP(img->prow[y][x + CHB_OFFSET], 0, 255) }; + }else if(imgpalette){ + int cha = img->prow[y][x + CHA_OFFSET]; + int cbb = img->prow[y][x + CHB_OFFSET]; + pix[x] = (png_color){ + pal_row[cbb][cha].r, + pal_row[cbb][cha].g, + pal_row[cbb][cha].b + }; }else{ pix[x] = (png_color){ crow[y][x + skip + offset].r, @@ -414,4 +491,4 @@ void closeWriter(){ png_write_end(rt_png_ptr, rt_info_ptr); fclose(rt_pngfile); png_destroy_write_struct(&rt_png_ptr, &rt_info_ptr); -} \ No newline at end of file +}