function [threshold, transform_type, frame_size, shuffle_radius, draw_grid, arrow_type, verbosity, output_type, boundary_type] = get_parameters_from_user(settings)
% GET_PARAMETERS_FROM_USER: Request parameters via menus
%
% 
%
%    GENERAL
%
%      
%
%    INPUT/S
%
%      -Settings: in case there should be more than one set of menus in the furure. Use 'Default'.
%           
%    OUTPUT/S
%
%      -
%
%    PENDING WORK
%
%      -
%
%    KNOWN BUG/S
%
%      -
%
%    COMMENT/S
%
%      -
%
%    RELATED FUNCTION/S
%
%      
%
%    ABOUT
%
%      -Created:     January 2011
%      -Last update: January 24th, 2011
%      -Revision:    0.0.1
%      -Author:      Dr. R. S. Schestowitz
% ==============================================================

if (strcmp(settings, 'Default'))

 choice = menu('Threshold (Y/N)','Y','N');
 if (choice == 1)
   threshold = 1;
 elseif (choice == 2)
   threshold = 0;
 else % fallback
   threshold = 0;
 end  
 
 choice = menu('Transform type','Sum','Median','Minimum');
 if (choice == 1)
    transform_type = 'sum';
 elseif (choice == 2)
    transform_type = 'median';
 elseif (choice == 3)
    transform_type = 'min';
 else % fallback
   transform_type = 0;
 end  


 choice = menu('Shuffle/difference frame size',1,2,3,4,5,6,7,8,9,10);
 if (choice == 1)
   frame_size = 1;
 elseif (choice == 2)
   frame_size = 2;
 elseif (choice == 3)
   frame_size = 3;
 elseif (choice == 4)
   frame_size = 4;
 elseif (choice == 5)
   frame_size = 5;
 elseif (choice == 6)
   frame_size = 6;
 elseif (choice == 7)
   frame_size = 7;
 elseif (choice == 8)
   frame_size = 8;
 elseif (choice == 9)
   frame_size = 9;
 elseif (choice == 10)
   frame_size = 10;
 else % fallback
   frame_size  = 5;
 end  


 choice = menu('Shuffle radius (if shuffle used)',1,2,3,4,5,6,7,8,9,10);
 if (choice == 1)
   shuffle_radius = 1;
 elseif (choice == 2)
   shuffle_radius = 2;
 elseif (choice == 3)
   shuffle_radius = 3;
 elseif (choice == 4)
   shuffle_radius = 4;
 elseif (choice == 5)
   shuffle_radius = 5;
 elseif (choice == 6)
   shuffle_radius = 6;
 elseif (choice == 7)
   shuffle_radius = 7;
 elseif (choice == 8)
   shuffle_radius = 8;
 elseif (choice == 9)
   shuffle_radius = 9;
 elseif (choice == 10)
   shuffle_radius = 10;
 else % fallback
   shuffle_radius  = 5;
 end  

 choice = menu('Draw grid (Y/N)','Y','N');
 if (choice == 1)
   draw_grid = 1;
 elseif (choice == 2)
   draw_grid = 0;
 else % fallback
   draw_grid = 0;
 end  


 choice = menu('Arrow/dot type','Gradient', 'Black', 'Thick gradient', 'Thick black', 'Dots', 'None');
 if (choice == 1)
    arrow_type = 'gradient';
 elseif (choice == 2)
    arrow_type = 'black';
 elseif (choice == 3)
    arrow_type = 'thick gradient';
 elseif (choice == 4)
    arrow_type = 'thick black';
 elseif (choice == 5)
    arrow_type = 'dot';
 elseif (choice == 6)
    arrow_type = 'none';
 else % fallback
    arrow_type = 'none';
 end  


 choice = menu('Verbosity (Y/N)','Y','N');
 if (choice == 1)
    verbosity = 1;
 elseif (choice == 2)
    verbosity = 0;
 else % fallback
    verbosity = 0;
 end  


 choice = menu('Output type','Surface', 'Surf', 'Mesh', 'Image');
 if (choice == 1)
    output_type ='surface';
 elseif (choice == 2)
    output_type = 'surf';
 elseif (choice == 3)
    output_type = 'mesh';
 elseif (choice == 4)
    output_type = 'image';
 else % fallback
    output_type = 'image';
 end  


 choice = menu('Boundary type (how points are selected)', 'Matrix', 'Circle', 'List', 'Random', 'Manual');
 if (choice == 1)
   boundary_type = 'matrix';
 elseif (choice == 2)
   boundary_type = 'circle';
 elseif (choice == 3)
   boundary_type = 'list';
 elseif (choice == 4)
   boundary_type = 'random';
 elseif (choice == 5)
   boundary_type = 'manual';
 else % fallback
   boundary_type = 'manual';
 end  

end
