test_grad_curv Program

Uses

  • program~~test_grad_curv~~UsesGraph program~test_grad_curv test_grad_curv module~grad_curv grad_curv program~test_grad_curv->module~grad_curv data_arch data_arch module~grad_curv->data_arch fftw3 fftw3 module~grad_curv->fftw3 module~filter filter module~grad_curv->module~filter sort_arrays sort_arrays module~grad_curv->sort_arrays surfile surfile module~grad_curv->surfile module~filter->data_arch module~filter->fftw3 module~filter->sort_arrays module~filter->surfile module~stat_mom stat_mom module~filter->module~stat_mom module~stat_mom->data_arch module~stat_mom->sort_arrays

Surface gradients and curvatures. Example of use.


Calls

program~~test_grad_curv~~CallsGraph program~test_grad_curv test_grad_curv proc~test_label_surf_summits test_label_surf_summits program~test_grad_curv->proc~test_label_surf_summits proc~test_labelize_point test_labelize_point program~test_grad_curv->proc~test_labelize_point proc~test_peaks_and_pits_curvatures test_peaks_and_pits_curvatures program~test_grad_curv->proc~test_peaks_and_pits_curvatures init_scal init_scal proc~test_label_surf_summits->init_scal proc~label_surf_summits label_surf_summits proc~test_label_surf_summits->proc~label_surf_summits write_surf write_surf proc~test_label_surf_summits->write_surf proc~deriv_n deriv_N proc~test_labelize_point->proc~deriv_n proc~labelize_point labelize_point proc~test_labelize_point->proc~labelize_point selectcase selectcase proc~test_labelize_point->selectcase end_fftw3 end_fftw3 proc~test_peaks_and_pits_curvatures->end_fftw3 fftw_plan_with_nthreads fftw_plan_with_nthreads proc~test_peaks_and_pits_curvatures->fftw_plan_with_nthreads init_fftw3 init_fftw3 proc~test_peaks_and_pits_curvatures->init_fftw3 omp_get_max_threads omp_get_max_threads proc~test_peaks_and_pits_curvatures->omp_get_max_threads proc~curv2 curv2 proc~test_peaks_and_pits_curvatures->proc~curv2 proc~curvature curvature proc~test_peaks_and_pits_curvatures->proc~curvature proc~fft_filter fft_filter proc~test_peaks_and_pits_curvatures->proc~fft_filter proc~gauss_curv gauss_curv proc~test_peaks_and_pits_curvatures->proc~gauss_curv proc~gradient gradient proc~test_peaks_and_pits_curvatures->proc~gradient proc~peaks_and_pits_curvatures peaks_and_pits_curvatures proc~test_peaks_and_pits_curvatures->proc~peaks_and_pits_curvatures read_surf read_surf proc~test_peaks_and_pits_curvatures->read_surf unit2IUf unit2IUf proc~test_peaks_and_pits_curvatures->unit2IUf proc~test_peaks_and_pits_curvatures->write_surf proc~curvature->proc~gauss_curv proc~curvature->proc~gradient calc_fftw3_real_bwd calc_fftw3_real_bwd proc~fft_filter->calc_fftw3_real_bwd calc_fftw3_real_fwd calc_fftw3_real_fwd proc~fft_filter->calc_fftw3_real_fwd extend extend proc~fft_filter->extend proc~gaussian_filter gaussian_filter proc~fft_filter->proc~gaussian_filter tab_calc_fftw3_real_bwd tab_calc_fftw3_real_bwd proc~fft_filter->tab_calc_fftw3_real_bwd tab_calc_fftw3_real_fwd tab_calc_fftw3_real_fwd proc~fft_filter->tab_calc_fftw3_real_fwd proc~gauss_curv->proc~gradient proc~label_surf_summits->proc~labelize_point proc~label_surf_summits->selectcase proc~gradient_corner gradient_corner proc~label_surf_summits->proc~gradient_corner proc~labelize_point->proc~deriv_n proc~peaks_and_pits_curvatures->proc~curvature proc~peaks_and_pits_curvatures->proc~label_surf_summits sort_array2 sort_array2 proc~peaks_and_pits_curvatures->sort_array2

Source Code

program test_grad_curv
use grad_curv, only : test_labelize_point, test_label_surf_summits, test_peaks_and_pits_curvatures
implicit none

call test_label_surf_summits()

call test_labelize_point()

call test_peaks_and_pits_curvatures()

stop

!~  expected output:

!~            9          10           9
!~  numerical h      :    1.8512999999999997       ; theoretical h      :    1.8512999999999999
!~  numerical dhdx   :  -0.44879999999999987       ; theoretical dhdx   :  -0.44879999999999992
!~  numerical dhdy   :   -1.3200000000000001       ; theoretical dhdy   :   -1.3200000000000001
!~  numerical d2hdx2 :    1.7952000000000008       ; theoretical d2hdx2 :    1.7951999999999999
!~  numerical d2hdy2 :   -4.1249999999999991       ; theoretical d2hdy2 :   -4.1250000000000000
!~  numerical d2hdxdy:   0.31999999999999984       ; theoretical d2hdxdy:   0.31999999999999995
!~  theoretical xx0:  -0.10000000000000001      numerical xx0:   -9.9999999744180723E-002
!~  theoretical yy0:   0.20000000000000001      numerical yy0:   0.19999999780599384
!~  theoretical point: S numerical point: S
!~  nx, ny =         1551        1555
!~  dx, dy =    1.2899998437499999E-007   1.2899998437499999E-007
!~  S_param_grad:    9.1818702650203546E-002
!~  S_param_curv:    32734.346139266941
!~  peak_curv:   -15965527969.430788
!~  pits_curv:    66825282090.434196

endprogram test_grad_curv