Exemple #1
0
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);
}
Exemple #2
0
void Image_controls::set_checkerboard()
{
	if (!thumbnail_provider_)
	{
		return;
	}

	const Image_buffer<rendering::Color4c>& checkerboard = thumbnail_provider_->checkerboard();

	set_thumbnail(checkerboard);
}
Exemple #3
0
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);
}
Exemple #4
0
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);
}