@@ -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");
0 commit comments