X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fsdf-1.cpp;fp=src%2Fsdf-1.cpp;h=0000000000000000000000000000000000000000;hb=942fa072e28ea2f0c44d09d535a8f05cae75f5d8;hp=545bb72cc9147e30bfcead2860b00c1cd419efed;hpb=1992cbf6645e87584da8576e290e270fc40af6cb;p=ctsim.git diff --git a/src/sdf-1.cpp b/src/sdf-1.cpp deleted file mode 100644 index 545bb72..0000000 --- a/src/sdf-1.cpp +++ /dev/null @@ -1,194 +0,0 @@ -/***************************************************************************** -** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg -** -** $Id: sdf-1.cpp,v 1.1 2000/06/07 02:29:05 kevin Exp $ -** $Log: sdf-1.cpp,v $ -** Revision 1.1 2000/06/07 02:29:05 kevin -** Initial C++ versions -** -** Revision 1.6 2000/05/24 22:50:04 kevin -** Added support for new SGP library -** -** Revision 1.5 2000/05/16 04:33:59 kevin -** Improved option processing -** -** Revision 1.4 2000/05/09 14:52:27 kevin -** added sqr and sqrt functions -** -** Revision 1.3 2000/05/08 20:02:32 kevin -** ANSI C changes -** -** Revision 1.2 2000/05/03 08:49:50 kevin -** Code cleanup -** -** Revision 1.1.1.1 2000/04/28 13:02:44 kevin -** Initial CVS import for first public release -** -** -** -** This program is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License (version 2) as -** published by the Free Software Foundation. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program; if not, write to the Free Software -** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -******************************************************************************/ - -/* FILE - * sdf-1.c Filter a single SDF file - */ - -#include "ct.h" - -enum {O_LOG, O_EXP, O_SQRT, O_SQR, O_INVERT, O_VERBOSE, O_HELP, O_VERSION}; - -static struct option my_options[] = -{ - {"invert", 0, 0, O_INVERT}, - {"verbose", 0, 0, O_VERBOSE}, - {"log", 0, 0, O_LOG}, - {"exp", 0, 0, O_EXP}, - {"sqr", 0, 0, O_SQR}, - {"sqrt", 0, 0, O_SQRT}, - {"help", 0, 0, O_HELP}, - {"version", 0, 0, O_VERSION}, - {0, 0, 0, 0} -}; - -void -sdf1_usage (const char *program) -{ - fprintf(stdout, "sdf1_usage: %s infile outfile [OPTIONS]\n", kbasename(program)); - fprintf(stdout, "Generate a SDF2D file from a SDF2D file\n"); - fprintf(stdout, "\n"); - fprintf(stdout, " --invert Invert image\n"); - fprintf(stdout, " --log Natural logrithm of image\n"); - fprintf(stdout, " --exp Natural exponential of image\n"); - fprintf(stdout, " --sqr Square of image\n"); - fprintf(stdout, " --sqrt Square root of image\n"); - fprintf(stdout, " --verbose Verbose modem\n"); - fprintf(stdout, " --version Print version\n"); - fprintf(stdout, " --help Print this help message\n"); -} - -int -sdf1_main (int argc, char *const argv[]) -{ - IMAGE *im_in; - IMAGE *im_out; - char *in_file; - char *out_file; - int opt_verbose = 0; - int opt_invert = 0; - int opt_log = 0; - int opt_exp = 0; - int opt_sqr = 0; - int opt_sqrt = 0; - - while (1) - { - int c = getopt_long (argc, argv, "", my_options, NULL); - - if (c == -1) - break; - - switch (c) - { - case O_INVERT: - opt_invert = 1; - break; - case O_LOG: - opt_log = 1; - break; - case O_SQR: - opt_sqr = 1; - break; - case O_SQRT: - opt_sqrt = 1; - break; - case O_EXP: - opt_exp = 1; - break; - case O_VERBOSE: - opt_verbose = 1; - break; - case O_VERSION: -#ifdef VERSION - fprintf(stdout, "Version %s\n", VERSION); -#else - fprintf(stderr, "Unknown version number"); -#endif - exit(0); - case O_HELP: - case '?': - sdf1_usage(argv[0]); - return (0); - default: - sdf1_usage(argv[0]); - return (1); - } - } - - if (optind + 2 != argc) - { - sdf1_usage(argv[0]); - return (1); - } - - in_file = argv[optind]; - out_file = argv[optind + 1]; - - - if (opt_invert || opt_log || opt_exp || opt_sqr || opt_sqrt) { - int ix, iy; - - im_in = image_load (in_file); - im_out = image_create (out_file, im_in->nx, im_in->ny); - - if (opt_invert) { - for (ix = 0; ix < im_in->nx; ix++) - for (iy = 0; iy < im_in->ny; iy++) - im_out->v[ix][iy] = - im_in->v[ix][iy]; - } - if (opt_log) { - for (ix = 0; ix < im_in->nx; ix++) - for (iy = 0; iy < im_in->ny; iy++) - im_out->v[ix][iy] = log (im_in->v[ix][iy]); - } - if (opt_exp) { - for (ix = 0; ix < im_in->nx; ix++) - for (iy = 0; iy < im_in->ny; iy++) - im_out->v[ix][iy] = exp (im_in->v[ix][iy]); - } - if (opt_sqr) { - for (ix = 0; ix < im_in->nx; ix++) - for (iy = 0; iy < im_in->ny; iy++) - im_out->v[ix][iy] = im_in->v[ix][iy] * im_in->v[ix][iy]; - } - if (opt_sqrt) { - for (ix = 0; ix < im_in->nx; ix++) - for (iy = 0; iy < im_in->ny; iy++) - im_out->v[ix][iy] = sqrt (im_in->v[ix][iy]); - } - - image_save(im_out); - } - - return (0); -} - -#ifndef NO_MAIN -int -main (int argc, char *const argv[]) -{ - return (sdf1_main(argc, argv)); -} -#endif -