summaryrefslogtreecommitdiff
path: root/src/gipfel.cxx
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2007-03-13 18:29:45 +0100
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2007-03-13 18:29:45 +0100
commit3d907fd76ca23d69bcd7d25367c9c94063490d38 (patch)
tree1ecfd01a624536445be6b436bf791b53086bc556 /src/gipfel.cxx
parent508490f69a9f5e0023deda70b04b785aa041b8e3 (diff)
add devignetting infrastructure
Diffstat (limited to 'src/gipfel.cxx')
-rw-r--r--src/gipfel.cxx20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/gipfel.cxx b/src/gipfel.cxx
index 5807ae5..3862761 100644
--- a/src/gipfel.cxx
+++ b/src/gipfel.cxx
@@ -50,9 +50,10 @@ Fl_Value_Input *i_distortion_k0, *i_distortion_k1, *i_distortion_x0;
Fl_Box *b_viewpoint;
Fl_Menu_Bar *mb;
-#define STITCH_PREVIEW 1
-#define STITCH_JPEG 2
-#define STITCH_TIFF 4
+#define STITCH_PREVIEW 1
+#define STITCH_JPEG 2
+#define STITCH_TIFF 4
+#define STITCH_VIGNETTE_CALIB 8
static int stitch(GipfelWidget::sample_mode_t m ,int stitch_w, int stitch_h,
double from, double to, int type, const char *path, int argc, char **argv);
@@ -397,7 +398,7 @@ int main(int argc, char** argv) {
int err, my_argc;
int stitch_flag = 0, stitch_w = 2000, stitch_h = 500;
int jpeg_flag = 0, tiff_flag = 0, distortion_flag = 0;
- int bilinear_flag = 0;
+ int bilinear_flag = 0, vignette_flag = 0;
double stitch_from = 0.0, stitch_to = 380.0;
double dist_k0 = 0.0, dist_k1 = 0.0, dist_x0 = 0.0;
char *outpath = "/tmp";
@@ -405,7 +406,7 @@ int main(int argc, char** argv) {
err = 0;
- while ((c = getopt(argc, argv, ":?d:v:sw:h:j:t:u:br:")) != EOF) {
+ while ((c = getopt(argc, argv, ":?d:v:sw:h:j:t:u:br:V")) != EOF) {
switch (c) {
case '?':
usage();
@@ -420,6 +421,9 @@ int main(int argc, char** argv) {
case 's':
stitch_flag++;
break;
+ case 'V':
+ vignette_flag++;
+ break;
case 'r':
stitch_flag++;
if (optarg && strcmp(optarg, ":")) {
@@ -485,6 +489,8 @@ int main(int argc, char** argv) {
type = STITCH_JPEG;
} else if (tiff_flag) {
type = STITCH_TIFF;
+ } else if (vignette_flag) {
+ type = STITCH_VIGNETTE_CALIB;
}
stitch(bilinear_flag?GipfelWidget::BILINEAR:GipfelWidget::NEAREST,
@@ -579,6 +585,10 @@ stitch(GipfelWidget::sample_mode_t m,
st->resample(m, stitch_w, stitch_h, from, to);
+ } else if (type = STITCH_VIGNETTE_CALIB) {
+
+ st->vignette_calib(m, stitch_w, stitch_h, from, to);
+
} else {
win = new Fl_Window(0,0, stitch_w, stitch_h);
scroll = new Fl_Scroll(0, 0, win->w(), win->h());