example1 Program

Uses

  • program~~example1~~UsesGraph program~example1 example1 forimage forimage program~example1->forimage module~forcolormap forcolormap program~example1->module~forcolormap module~forcolormap_cm_matplotlib forcolormap_cm_matplotlib module~forcolormap->module~forcolormap_cm_matplotlib module~forcolormap_cm_miscellaneous forcolormap_cm_miscellaneous module~forcolormap->module~forcolormap_cm_miscellaneous module~forcolormap_cm_scientific forcolormap_cm_scientific module~forcolormap->module~forcolormap_cm_scientific module~forcolormap_info forcolormap_info module~forcolormap->module~forcolormap_info module~forcolormap_parameters forcolormap_parameters module~forcolormap->module~forcolormap_parameters module~forcolormap_utils forcolormap_utils module~forcolormap->module~forcolormap_utils module~forcolormap_cm_matplotlib->module~forcolormap_parameters module~forcolormap_cm_miscellaneous->module~forcolormap_parameters module~forcolormap_cm_scientific->module~forcolormap_parameters module~forcolormap_info->module~forcolormap_cm_matplotlib module~forcolormap_info->module~forcolormap_cm_miscellaneous module~forcolormap_info->module~forcolormap_cm_scientific module~forcolormap_info->module~forcolormap_parameters iso_fortran_env iso_fortran_env module~forcolormap_parameters->iso_fortran_env module~forcolormap_utils->module~forcolormap_parameters

This example demonstrates how ForImage can be used to import/export PPM files.


Calls

program~~example1~~CallsGraph program~example1 example1 export_pnm export_pnm program~example1->export_pnm import_pnm import_pnm program~example1->import_pnm proc~finalize Colormap%finalize program~example1->proc~finalize proc~load Colormap%load program~example1->proc~load proc~write_ppm_colorbar Colormap%write_ppm_colorbar program~example1->proc~write_ppm_colorbar proc~check Colormap%check proc~load->proc~check proc~reverse Colormap%reverse proc~load->proc~reverse proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format local local proc~write_ppm_colorbar->local proc~compute_rgb Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~find_index Colormaps_info%find_index proc~check->proc~find_index proc~get_levels~2 Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_rgb Colormap%get_RGB proc~compute_rgb->proc~get_rgb

Variables

Type Attributes Name Initial
type(Colormap) :: custom_cmap
type(format_pnm) :: ex1_colorbar
type(format_pnm) :: ex1_colormap
real(kind=wp), parameter, dimension(2) :: xmax = [599.0_wp, 599.0_wp]
real(kind=wp), parameter, dimension(2) :: xmin = [0.0_wp, 0.0_wp]

Functions

pure function zfun(x, y) result(z)

A sample test function to generate colormap images.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: y

Return Value real(kind=wp)


Source Code

program example1
    use forcolormap, only: Colormap, wp
    use forimage, only: format_pnm
    implicit none

    type(Colormap) :: custom_cmap
    type(format_pnm) :: ex1_colormap, ex1_colorbar
    real(wp), dimension(2), parameter :: xmin = [0.0_wp, 0.0_wp]
    real(wp), dimension(2), parameter :: xmax = [599.0_wp, 599.0_wp]

    ! Create ppm files
    call custom_cmap%load('test_map_to_load.txt', 0.0_wp, 2.0_wp)
    call custom_cmap%colorbar('a_loaded_colormap_ascii_test', encoding='ascii')
    call custom_cmap%colormap('a_loaded_colormap_ascii_colorbar', zfun, xmin, xmax, encoding='ascii', width=200, height=200)
    call custom_cmap%print()
    call custom_cmap%finalize()

    ! Import ascii ppm files
    call ex1_colormap%import_pnm('a_loaded_colormap_ascii_test','ppm', 'ascii')
    call ex1_colorbar%import_pnm('a_loaded_colormap_ascii_colorbar','ppm', 'ascii')

    ! Change colormap and colorbar colors
    ex1_colormap%pixels = int(ex1_colormap%pixels * 1.6)
    ex1_colorbar%pixels = int(ex1_colorbar%pixels * 1.6)

    ! Export binary ppm files
    call ex1_colormap%export_pnm('a_loaded_colormap_binary_test_m', 'binary')
    call ex1_colorbar%export_pnm('a_loaded_colormap_binary_colorbar_m', 'binary')

    ! Deallocate
    call ex1_colormap%finalize()
    call ex1_colorbar%finalize()

contains

   !> A sample test function to generate colormap images.
   pure function zfun(x,y) result(z)
      real(wp), intent(in) :: x, y
      real(wp) :: z
      z = 1.0_wp + sin(x*y/10000.0_wp) * cos(y/100.0_wp)
   end function

end program example1