diff --git a/docs/00_software_tools.dox b/docs/00_software_tools.dox
index b151be6..839e691 100644
--- a/docs/00_software_tools.dox
+++ b/docs/00_software_tools.dox
@@ -21,6 +21,11 @@
 
 @subpage md_src_armnnConverter_README
 
+@subpage md_tests_ImageCSVFileGenerator_README
+
+@subpage md_tests_ImageTensorGenerator_README
+
+@subpage md_tests_ModelAccuracyTool-Armnn_README
 **/
 }
 
@@ -36,6 +41,12 @@
 
 @page md_src_armnnConverter_README Converter
 
+@page md_tests_ModelAccuracyTool-Armnn_README ModelAccuracyTool
+
+@page md_tests_ImageCSVFileGenerator_README ImageCSVFileGenerator
+
+@page md_tests_ImageTensorGenerator_README ImageTensorGenerator
+
 **/
 }
 
diff --git a/docs/05_other_tools.dox b/docs/05_other_tools.dox
deleted file mode 100644
index 522e16f..0000000
--- a/docs/05_other_tools.dox
+++ /dev/null
@@ -1,107 +0,0 @@
-/// Copyright (c) 2020 ARM Limited.
-///
-/// SPDX-License-Identifier: MIT
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a copy
-/// of this software and associated documentation files (the "Software"), to deal
-/// in the Software without restriction, including without limitation the rights
-/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-/// copies of the Software, and to permit persons to whom the Software is
-/// furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in all
-/// copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-/// SOFTWARE.
-///
-
-namespace armnn
-{
-/**
-@page other_tools Other Tools
-@tableofcontents
-
-@section S14_image_csv_file_generator The ImageCSVFileGenerator
-
-The `ImageCSVFileGenerator` is a program for creating a CSV file that contains a list of .raw tensor files. These
-.raw tensor files can be generated using the`ImageTensorGenerator`.
-
-|Cmd:|||
-| ---|---|---|
-| -h | --help    | Display help messages |
-| -i | --indir   | Directory that .raw files are stored in |
-| -o | --outfile | Output CSV file path |
-
-Example usage: <br/>
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.sh
-./ImageCSVFileGenerator -i /path/to/directory/ -o /output/path/csvfile.csv
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-<br/><br/><br/><br/>
-
-@section S15_image_tensor_generator The ImageTensorGenerator
-
-The `ImageTensorGenerator` is a program for pre-processing a .jpg image before generating a .raw tensor file from it.
-
-Build option:
-To build ModelAccuracyTool, pass the following options to Cmake:
-* -DBUILD_ARMNN_QUANTIZER=1
-
-|Cmd:|||
-| ---|---|---|
-| -h | --help         | Display help messages |
-| -f | --model-format | Format of the intended model file that uses the images.Different formats have different image normalization styles.Accepted values (caffe, tensorflow, tflite) |
-| -i | --infile       | Input image file to generate tensor from |
-| -o | --outfile      | Output raw tensor file path |
-| -z | --output-type  | The data type of the output tensors.If unset, defaults to "float" for all defined inputs. Accepted values (float, int or qasymm8)
-|    | --new-width    |Resize image to new width. Keep original width if unspecified |
-|    | --new-height   |             Resize image to new height. Keep original height if unspecified |
-| -l | --layout       | Output data layout, "NHWC" or "NCHW". Default value: NHWC |
-
-Example usage: <br/>
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.sh
- .sh ./ImageTensorGenerator -i /path/to/image/dog.jpg -o /output/path/dog.raw --new-width 224 --new-height 224
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-<br/><br/><br/><br/>
-
-@section S16_model_accuracy_tool_armnn The ModelAccuracyTool-ArmNN
-
-The `ModelAccuracyTool-Armnn` is a program for measuring the Top 5 accuracy results of a model against an image dataset.
-
-Prerequisites:
-1. The model is in .armnn format model file. The `ArmnnConverter` can be used to convert a model to this format.
-
-Build option:
-To build ModelAccuracyTool, pass the following options to Cmake:
-* -DFLATC_DIR=/path/to/flatbuffers/x86build/
-* -DBUILD_ACCURACY_TOOL=1
-* -DBUILD_ARMNN_SERIALIZER=1
-
-|Cmd:|||
-| ---|---|---|
-| -h | --help                   | Display help messages |
-| -m | --model-path             | Path to armnn format model file |
-| -f | --model-format           | The model format. Supported values: caffe, tensorflow, tflite |
-| -i | --input-name             | Identifier of the input tensors in the network separated by comma |
-| -o | --output-name            | Identifier of the output tensors in the network separated by comma |
-| -d | --data-dir               | Path to directory containing the ImageNet test data |
-| -p | --model-output-labels    | Path to model output labels file.
-| -v | --validation-labels-path | Path to ImageNet Validation Label file
-| -l | --data-layout ]          | Data layout. Supported value: NHWC, NCHW. Default: NHWC
-| -c | --compute                | Which device to run layers on by default. Possible choices: CpuRef, CpuAcc, GpuAcc. Default: CpuAcc, CpuRef |
-| -r | --validation-range       | The range of the images to be evaluated. Specified in the form <begin index>:<end index>. The index starts at 1 and the range is inclusive. By default the evaluation will be performed on all images. |
-| -b | --blacklist-path         | Path to a blacklist file where each line denotes the index of an image to be excluded from evaluation. |
-
-Example usage: <br/>
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.sh
-./ModelAccuracyTool -m /path/to/model/model.armnn -f tflite -i input -o output -d /path/to/test/directory/ -p /path/to/model-output-labels -v /path/to/file/val.txt -c CpuRef -r 1:100
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-<br/><br/>
-
-**/
-}
\ No newline at end of file
diff --git a/docs/Doxyfile b/docs/Doxyfile
index a50d381..98b2d47 100644
--- a/docs/Doxyfile
+++ b/docs/Doxyfile
@@ -817,9 +817,11 @@
                          ./docs/01_parsers.dox \
                          ./docs/02_deserializer_serializer.dox \
                          ./docs/04_backends.dox \
-                         ./docs/05_other_tools.dox \
                          ./src/armnnQuantizer/README.md \
                          ./src/armnnConverter/README.md \
+                         ./tests/ImageCSVFileGenerator/README.md \
+                         ./tests/ImageTensorGenerator/README.md \
+                         ./tests/ModelAccuracyTool-Armnn/README.md \
                          ./include/ \
                          ./src/ \
                          ./tests/ \
