void Image_controls::update_image() { if (!thumbnail_provider_) { return; } QString file_name = ui->image_source_combo_box_->currentText(); Image_buffer<rendering::Color4>* thumbnail = thumbnail_provider_->get_thumbnail(file_name.toStdString()); if (!thumbnail) { return; } if (is_single_channel()) { set_thumbnail(*thumbnail, static_cast<uint32_t>(ui->channels_combo_box_->currentIndex()), is_inverted(), get_modulate_factor()); } else { set_thumbnail(*thumbnail); } set_image_manipulator_enabled(true); }
void Image_controls::set_checkerboard() { if (!thumbnail_provider_) { return; } const Image_buffer<rendering::Color4c>& checkerboard = thumbnail_provider_->checkerboard(); set_thumbnail(checkerboard); }
void Image_controls::update_constant() { if (!treat_missing_source_as_constant_) { set_checkerboard(); } else { rendering::Color3 rgb = rendering::linear_to_sRGB(constant_); set_thumbnail(QColor::fromRgbF(rgb.r, rgb.g, rgb.b)); } set_image_manipulator_enabled(false); }
static void process_item(GtkTreeIter *iter, Settings *user_settings, gboolean skip_done, int is_first) { gchar *in_file, *out_full, *ancillary_file, *meta_file, *status, *polsarpro_aux_info, *interferogram_file, *coherence_file, *slave_metadata_file, *baseline_file, *uavsar_type; int pid, isPolSARPro = FALSE; pid = getpid(); gtk_tree_model_get(GTK_TREE_MODEL(list_store), iter, COL_INPUT_FILE, &in_file, COL_ANCILLARY_FILE, &ancillary_file, COL_METADATA_FILE, &meta_file, COL_OUTPUT_FILE, &out_full, COL_STATUS, &status, COL_POLSARPRO_INFO, &polsarpro_aux_info, COL_INTERFEROGRAM, &interferogram_file, COL_COHERENCE, &coherence_file, COL_SLAVE_METADATA, &slave_metadata_file, COL_BASELINE, &baseline_file, COL_UAVSAR_TYPE, &uavsar_type, -1); int image_data_type = extract_image_data_type(polsarpro_aux_info); if (image_data_type >= 0 && image_data_type < 3) isPolSARPro = TRUE; if (strcmp(status, "Done") != 0 || !skip_done) { //char *in_basename = stripExt(in_file); char *out_basename = stripExt(out_full); char *out_nameonly = get_basename(out_full); char *output_dir = getPath(out_full); char *config_file, *cmd_output, *tmp_dir, *intermediates_file; gchar *err_string; /* Ensure we have access to the output directory */ if (!have_access_to_dir(output_dir, &err_string)) { /* We don't -- issue a message in the "Status" column. */ gtk_list_store_set(list_store, iter, COL_STATUS, err_string, -1); g_free(err_string); //free(in_basename); free(out_basename); free(output_dir); return; } tmp_dir = MALLOC(sizeof(char)* (strlen(output_dir)+strlen(out_nameonly)+32)); if (strlen(output_dir) > 0) { sprintf(tmp_dir, "%s%c%s-%s", output_dir, DIR_SEPARATOR, out_nameonly, time_stamp_dir()); } else { sprintf(tmp_dir, "%s-%s", out_nameonly, time_stamp_dir()); } create_clean_dir(tmp_dir); set_asf_tmp_dir(tmp_dir); config_file = settings_to_config_file(user_settings, in_file, ancillary_file, meta_file, out_full, output_dir, tmp_dir, polsarpro_aux_info, interferogram_file, coherence_file, slave_metadata_file, baseline_file, uavsar_type); if (!config_file) { err_string = "Error creating configuration file."; gtk_list_store_set(list_store, iter, COL_STATUS, err_string, -1); free(out_basename); free(output_dir); free(tmp_dir); return; } cmd_output = do_convert(pid, iter, config_file, TRUE, user_settings->keep_files, &intermediates_file); err_string = check_for_error(cmd_output); if (err_string) { // unsuccessful gtk_list_store_set(list_store, iter, COL_STATUS, err_string, COL_LOG, cmd_output, -1); FREE(err_string); } else { // successful -- move to "completed" list GtkTreeIter completed_iter; move_to_completed_files_list(iter, &completed_iter, cmd_output, intermediates_file); set_thumbnail(&completed_iter, tmp_dir, out_full, isPolSARPro); input_data_formats_changed(); refresh_file_names(); } // for subsequent runs, save the imported dem & mask settings_update_dem(user_settings, output_dir); settings_update_mask(user_settings, output_dir); free(config_file); free(out_basename); free(output_dir); free(out_nameonly); free(intermediates_file); g_free(cmd_output); if (!user_settings->keep_files) remove_dir(tmp_dir); free(tmp_dir); } g_free(status); g_free(out_full); g_free(ancillary_file); g_free(meta_file); g_free(in_file); g_free(polsarpro_aux_info); }