Skip to content

Commit ece9ac3

Browse files
committed
demosaic gui is now correctly showing and hiding controls
1 parent 55563d4 commit ece9ac3

File tree

2 files changed

+23
-16
lines changed

2 files changed

+23
-16
lines changed

src/iop/demosaic.c

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3087,7 +3087,6 @@ void process(struct dt_iop_module_t *self, dt_dev_pixelpipe_iop_t *piece, const
30873087
roo.height = roi_in->height;
30883088
roo.scale = 1.0f;
30893089
tmp = (float *)dt_alloc_align_float((size_t)4 * roo.width * roo.height);
3090-
fprintf(stderr,"scaled\n");
30913090
}
30923091
if(info) dt_get_times(&start_time);
30933092

@@ -5825,27 +5824,35 @@ void gui_changed(dt_iop_module_t *self, GtkWidget *w, void *previous)
58255824
(use_method == DT_IOP_DEMOSAIC_PASSTHR_MONOX) ||
58265825
(use_method == DT_IOP_DEMOSAIC_PASSTHR_COLORX));
58275826
///TODO doesn't take into account previous modules?
5828-
const gboolean ispixelshift = (self->dev->image_storage.buf_dsc.frames == 4);
5827+
const gboolean ispixelshift = bayer && (self->dev->image_storage.buf_dsc.frames == 4);
58295828

5830-
gtk_widget_set_visible(g->demosaic_method_bayer, bayer);
5829+
gtk_widget_set_visible(g->pixelshift_enable, bayer && ispixelshift);
5830+
5831+
if(!bayer || !ispixelshift)
5832+
{
5833+
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g->pixelshift_enable), FALSE);
5834+
p->pixelshift_enable = FALSE;
5835+
}
5836+
else
5837+
{
5838+
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g->pixelshift_enable),
5839+
p->pixelshift_enable && bayer && ispixelshift);
5840+
}
5841+
5842+
//gtk_widget_set_visible(g->pixelshift_select_frame, bayer && ispixelshift);
5843+
5844+
gtk_widget_set_visible(g->demosaic_method_bayer, bayer && !p->pixelshift_enable);
58315845
gtk_widget_set_visible(g->demosaic_method_xtrans, !bayer);
58325846
if(bayer)
58335847
dt_bauhaus_combobox_set_from_value(g->demosaic_method_bayer, p->demosaicing_method);
58345848
else
58355849
dt_bauhaus_combobox_set_from_value(g->demosaic_method_xtrans, p->demosaicing_method);
58365850

5837-
gtk_widget_set_visible(g->median_thrs, bayer && isppg);
5838-
gtk_widget_set_visible(g->greeneq, !passing);
5851+
gtk_widget_set_visible(g->median_thrs, bayer && isppg && !p->pixelshift_enable);
5852+
gtk_widget_set_visible(g->greeneq, !passing && !p->pixelshift_enable);
58395853
gtk_widget_set_visible(g->color_smoothing, !passing && !isdual);
58405854
gtk_widget_set_visible(g->dual_thrs, isdual);
58415855
gtk_widget_set_visible(g->lmmse_refine, islmmse);
5842-
gtk_widget_set_visible(g->pixelshift_enable, bayer && ispixelshift);
5843-
if(!bayer || !ispixelshift)
5844-
{
5845-
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g->pixelshift_enable), FALSE);
5846-
}
5847-
//gtk_widget_set_visible(g->pixelshift_select_frame, bayer && ispixelshift);
5848-
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g->pixelshift_enable), p->pixelshift_enable && bayer && ispixelshift);
58495856

58505857
dt_image_t *img = dt_image_cache_get(darktable.image_cache, self->dev->image_storage.id, 'w');
58515858
int changed = img->flags & DT_IMAGE_MONOCHROME_BAYER;
@@ -5903,6 +5910,8 @@ void gui_init(struct dt_iop_module_t *self)
59035910

59045911
GtkWidget *box_raw = self->widget = gtk_box_new(GTK_ORIENTATION_VERTICAL, DT_BAUHAUS_SPACE);
59055912

5913+
g->pixelshift_enable = dt_bauhaus_toggle_from_params(self, "pixelshift_enable");
5914+
59065915
g->demosaic_method_bayer = dt_bauhaus_combobox_from_params(self, "demosaicing_method");
59075916
for(int i=0;i<7;i++) dt_bauhaus_combobox_remove_at(g->demosaic_method_bayer, 9);
59085917
gtk_widget_set_tooltip_text(g->demosaic_method_bayer, _("Bayer sensor demosaicing method, PPG and RCD are fast, AMaZE and LMMSE are slow.\nLMMSE is suited best for high ISO images.\ndual demosaicers double processing time."));
@@ -5933,8 +5942,6 @@ void gui_init(struct dt_iop_module_t *self)
59335942
g->greeneq = dt_bauhaus_combobox_from_params(self, "green_eq");
59345943
gtk_widget_set_tooltip_text(g->greeneq, _("green channels matching method"));
59355944

5936-
g->pixelshift_enable = dt_bauhaus_toggle_from_params(self, "pixelshift_enable");
5937-
59385945
/*g->pixelshift_select_frame = dt_bauhaus_combobox_new(self);
59395946
dt_bauhaus_widget_set_label(g->pixelshift_select_frame,NULL,"input frames");
59405947
gtk_widget_set_tooltip_text(g->pixelshift_select_frame,"input frames");

src/iop/temperature.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -517,8 +517,8 @@ void process(struct dt_iop_module_t *self, dt_dev_pixelpipe_iop_t *piece, const
517517
{
518518
float const *const frame_in = in + (f * roi_in->width * roi_in->height);
519519
float *const frame_out = out + (f * roi_out->width * roi_out->height);
520-
fprintf(stderr,"frame in %p\n", frame_in);
521-
fprintf(stderr,"frame out %p\n", frame_out);
520+
//fprintf(stderr,"frame in %p\n", frame_in);
521+
//fprintf(stderr,"frame out %p\n", frame_out);
522522
const int width = roi_out->width;
523523
#ifdef _OPENMP
524524
#pragma omp parallel for default(none) \

0 commit comments

Comments
 (0)