Accessible and Navigable Representation of Mathematical Function Graphs to the Vision-Impaired

Vision-impaired students have several issues accessing mathematical documents, which are associated with the representation of mathematical expressions and graphs of mathematical functions. Graphs of mathematical functions are visual presentations of mathematical information and useful to illustrate numerical or qualitative information, which are sometimes difficult or even impossible to describe. A graph is a picture that shows how sets of data are related to each other. Graphs of mathematical functions generally convey the intended message of a mathematical document. Therefore, access to graphs is essential in learning mathematics. Finding a solution to represent graphs of mathematical functions in an accessible format is necessary for the vision-impaired. This paper describes an approach to develop an application to address this issue by detecting, extracting and categorising important information from graphs of mathematical functions using three open source packages, namely, ImageMagick, GNUPLOT and Octave.


Introduction
Results from the National Assessment of Educational Progress show that there is a great disparity between the mathematical skills of students with disabilities and students without disabilities (Noble, 2008).Accessibility of graphs of mathematical functions is one of the areas, which needs to be facilitated.Currently, Haptic feedback is used for guidance and assistance in graph navigation (Ramloll & Brewster, 2001).However, it is not efficient to present exact data values to the user.In addition, it is expensive and may take users some time to familiarize themselves with the new interface.The limitations of Haptic feedback devices hinder users' ability to explore graphs (University of South Australia, 2004).Traditionally, there are two other methods to represent visual components such as graphs to vision-impaired, namely, tactile and audio method.
In the tactile method, graphs and diagrams are presented in Braille or raised dots and lines on swell-paper, which has raised surfaces for a vision-impaired person to feel (Yu, & Brewster, 2002).They are used to convey non-textual information such as maps, paintings, graphs and diagrams.Picture in a Flash (PIAF) is a tactile graph method, and the general shape of the graph can be understood by touching it carefully.Some drawbacks of using tactile graphs are the costs of translating into an accessible graphic format, the use of expensive tactile graphics and peripheral devices (Goncu & Marriot, 2008), and lack of congruence with the original visual graphic (Diagram 2012(Diagram , 2012)).Tactile diagrams are not durable and easy to edit.They provide only a rough idea about the content.Furthermore, only a small proportion of blind people can use Braille, as reading it requires sufficient tactile sensitivity, which not all vision-impaired people have (Murray, 2008).
Presenting mathematical graph audibly is more complicated.Passively hearing the graphed mathematical formulae alone is not sufficient to transfer and describe complex mathematical constructs.Sonification is conveying data via sound pitch and 2-dimensional acoustics (Brown & Brewster, 2003).It is difficult to convey data accurately with the acoustic method (non-speech sound), and moreover, since acoustics are volatile, information can easily be misheard.

Method
The proposed method in this research provides an opportunity for vision-impaired, to listen passively to extracted classified data from graphs using Text-to-Speech (TTS), and actively interact with it by navigating through classified information and digitized data tables without requiring another device or peripheral.
The framework of a graph of mathematical functions contains two crossed axes, which meet at the origin.The axes divide the plane into four quadrants.Scaled values are increased from left to right on the horizontal axis and from down to up on the vertical axis.In addition, a data table is a table with two columns to show dependent variable values for each independent variable value.Generally, data tables are converted to graphs for better understanding of the relationship between the vertical and horizontal values (visualisation).Since vision-impaired students are not able to use visual components such as graphs, the graph must be converted into a data table using digitization.
A mathematical function of a graph has several properties which support the extraction of essential information.Regardless of parameter values, the shape of the graph depends on the form of the function.Hence, in most cases, a form of a mathematical function can guess shape of a graph.
The developed Linux command Bash Script application (MathGraphReader) by this research reads the function of the graph as input, performs digitization and extracts all prominent information from the graph using mathematical function properties and concepts of the function followed by plotting the function with GNUPLOT (Williams & Kelly, 2004) and image processing it with ImageMagick (Still, 2005) This application classifies extracted information, saves them using Mark-up format and represents it by navigation ability.It provides a complete textual description for linear, quadratic, power, polynomial, exponential, logarithmic, and sinusoidal graphs to be replaced with the graph.

General Concepts
The following are reminders of some common concepts in different graph types: • If for a specific interval, > and < , then in this interval graph is decreasing.
• If for a specific interval, > and > , then in this interval graph is increasing.
• If for a specific interval, = , then in this interval the graph is constant.
• If ( ) = − (− ), then the graph is symmetric with respect to y axis.
• If ( ) = (− ), then the graph is symmetric with respect to the origin.
• If at = , first derivative of a function is positive then function is increasing at this point.
• If at = , first derivative of a function is negative then function is decreasing at this point.
• If the first derivative of a function is equal to 0 at the point = then this point is critical point of the function and behavior of the function is not predictable at this point.The first derivatives determine that the function is increasing or decreasing, consequently the second derivative shows first derivative is increasing or decreasing.If the second derivative is positive, then the first derivative is increasing, so that the slope of the tangent line to the function is increasing as increases and graph of the function is concave up • If the second derivative is negative, then the first derivative is decreasing, so that the slope of the tangent line to the function is decreasing as increases.
• If the second derivative is zero, the graph may be concave up or concave down, it may change from concave up to concave down or from concave down to concave up.This point is an inflection point if third derivative is not zero at this point.
• Maxima and minima points are obtained by finding the roots of second derivative 2. Quadratic: = + + a) The graph is called parabola.b) Graph crosses y-axis at .The y-intercept point is .c) If > 0 then the parabola opens upward, the graph will be 'U' shaped d) If < 0 the parabola opens downward, the graph will be 'n' shaped 3. Power: = a) If > 0 then: When = 0 graph meets origin point When is large and positive they are all large and positive.When is large and negative and is, even: is large and positive.When is large and negative and is odd: is large and negative.b) If < 0then: When = 0 these functions suffer a division by zero and therefore are all infinite.When is large and positive they are small and positive.When is large and negative and is even: is small and positive.When is large and negative and is odd: is small and negative c) If b is a fraction between 0 and 1 then: When x = zero these functions are all zero.
The curves are vertical at the origin and as increases they increase but curve toward the -axis.4. Polynomial: The highest power of is the degree of the polynomial.b) Polynomials of degree greater than 2 can have more than one maximum or minimum value.c) The largest possible number of minima or maxima points is 'n-1' 5. Exponential: = a) If the base > 1 then the result is exponential growth.b) If the base < 1 then the result is exponential decay.6. Logarithmic: = ( ) + a) For small , is negative.b) For large , is positive but stay small.7. Sinusoidal: = ( + ) a) Graph of Sinusoidal functions has a wave shape with respect to position or time.b) Parameter ' ' is the amplitude, which affects the height of the wave.c) Parameter ' ' is the angular velocity, which affects the width of the wave.d) Parameter ' ' is the phase angle that shifts the wave left or right.

Data Extraction
To provide an accurate textual description from graph the following points must be found: • Intercept values (meeting points of the graph with axes) • Inflection point (graph behaviour is changed) Finding these points in most cases is a complicated process, which involves a large amount of mathematical problem solving.The method to extract these points is plotting the graph using GNUPLOT (open source package) and associated graph function with predefined dimensions and specified range of axes.GNUPLOT plots a graph using the configuration file (graph.gnu).The snippet to create a configuration file is available in Appendix A (Create configuration file) Gnuplot graph.gnu>&range.txt Graph-only pixels are saved in file called green-graph-pixels.
X-ratio and Y-ratio are used to convert pixel coordinate points to real values.
The following command removes all pixels except green ones, which indicate graph-only pixels.
Origin point is located at (Width/2, Height/2) which is intersection point of two axes.
To find graph locations in plane, In order to convert all obtained pixel scaling coordinate values to real scale values: For finding critical and inflection points first and second derivatives are obtained using Octave.Then using GNUPLOT graph of derivatives are plotted and roots of them calculated.Root(s) of first derivative represent critical points and root(s) of second derivative nominate inflection points.
digitizer and derivative are two bash scripts utilizing Octave Package to help vision-impaired students to digitize and find derivatives of function.Appendix A (digitizer) and Appendix A (derivative) provide codes for these two functions.The following is all data extracted by the developed application from Figure 1 (right):  The degree of this graph is 4  It is a polynomial.


There are 3 possible maxima and minima.


The graph is located at quadrants 1, 2 and 3.

Evaluation
To estimate how MathGraphReader can be practical and useful before developing this application, in order to extract information from mathematical graphs, a survey was conducted using a questionnaire among 28 vision-impaired students.They were asked the following question: "The following is an alternative description for a mathematical function graph.Please rate how you understand the graph by listening to this description once?" Horizontal axis is labeled x and its range is between -3 to 3. Vertical axis is labeled y and its range is between -3 to 3. Shape of graph is parabola.Horizontal and vertical step value is 1.This graph is plotted from the equation: y is equal x power 2 minus 2 times x.The graph is started from point (-1, 3) until (3,3).The graph is located at (1,2) and 4 quadrants.x-intercept occurs at points (0,0) and (2,0).y-intercept occurs at point (0,0).The graph has absolute minimum at point (1,-1).

Conclusion
The research undertaken achieved graph data extraction or graph digitization to create alternative textual descriptions by developing MathGraphReader.
MathGraphReader utilizes text processing, image processing, plotting and mathematical concepts to extract information from visual graphs and represent it in a non-visual /textual environment.
This application provides the opportunity for vision impaired students to access interactively graph information utilising navigation ability.
After developing this application, another questionnaire was embedded in an interactive application to evaluate the usability of this method in representing graph information to vision-impaired students, The evaluation questionnaire application helps vision impaired students to receive graph information, navigate and rehear missing parts, and then ask a question to determine their understanding level.The evaluation questionnaire is still in progress and has not been finalised yet, it is available in Welcome to the mathematical function graph questionnaire system .This system first presents some information about a graph , helps you to extract prominent points of the graph then, ask some question about graph such as shape and location.The purpose of this questionnaire is to evaluate mathematical function graph understanding by listening to the audio text description using navigating ability.It is not for assessing your knowledge so if you are not familiar with scope of any question feel free to press B( for Bypass) to ignore this question .You do not have time limitation .You do not need to provide your identification details. • Navigate through description and rehear missing part pressing: F (for forward) and R( for rewind) Description :the graph is plotted from the function : y is equal 2 times x power 4 plus x power three minus three times x power 2

•
y-intercepts are calculated by finding function value when = 0 • x-intercepts are calculated by finding the root(s) of function = 0 2.2 Mathematical Function properties 1. Linear: = + a) Graphs of these functions are straight lines.b) ' ' is the slope and ' ' is the y-intercept.c) If > 0 then the line rises.d) If < 0then the line falls.

Figure 1 .
Figure 1.Mathematical graph and its similar product by GNUPLOT for y= + +

First derivative is 4 + 9 
Second derivative is 12 + 18 2.5 Tagging Classified Information and Mark-up Format Generation to Implement Navigation Ability MathGraphReader uses MathML to represent original function and its derivatives, classifies extracted information and saves them as Mark-up format.Mark-up format is a collection of information with meaningful tags.Figure 2 illustrates graph of function ( 2x + x − 3x ) in blue, first derivative in red and second derivative in green.

Figure 2
Figure 2 Graph of function ( 2 + − 3 ) in blue, first derivative in red and second derivative in green

Figure 3
Figure3illustrates the participants' responses and how they communicated with this alternative text description while students listened to text only once and did use navigation ability to explore data table.

•
By clicking N(for No), you do not want to participate to this research questionnaire and exit • By clicking Y(for Yes), you consent that you are willing to answer the questions in this questionnaire and continue • After listening each question if you are ready to answer Press: Y for yes and Submit and go to the next question pressing: S(for Submit) • Rehear this talking guide press I( for Info) • Ignore the question pressing: B (for Bypass) • Rehear whole description pressing: A(for All).

Table 1 .
Table 1 is used.First column of the table indicates that mathematical graph function area is divided into four quadrants.The second column shows coordinate value conditions in each quadrants.Graph location in plane x-intercept where the graph crosses x-axis is extracted by finding root(s) which is usually complicated, this point is extracted by finding green pixel(s) in graph image of GNUPLOT with y=Height/2.Similarly, y-intercept where the graph crosses the y-axis is extracted by assigning zero to x in graph equation and obtaining y.This point is extracted by finding green pixel(s) in GNUPLOT graph image with x=Width/2.

Table 2 .
Represent digitization results for a mathematical function in Mark-up formatThis research considers several tags to classify extracted information from graph.Table3indicates these tags and their utilization.

Table 3 .
Markup-Tags to classify extracted data by MathGreaph Reader