MLECO-1766: Default build flow helper scripts added
MLECO-1882: Anomaly Detection use-case default model download added 
and tests updated to run with it.

Test data generation cmake logic moved from use-case cmakes to top-level cmake script.

Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
Change-Id: Ifde469e3585c37b9a53810236a92ce52d4fbb407
diff --git a/source/use_case/img_class/usecase.cmake b/source/use_case/img_class/usecase.cmake
index 384c58e..0089356 100644
--- a/source/use_case/img_class/usecase.cmake
+++ b/source/use_case/img_class/usecase.cmake
@@ -15,24 +15,9 @@
 #  limitations under the License.
 #----------------------------------------------------------------------------
 
-# If the path to a directory or source file has been defined,
-# get the type here (FILEPATH or PATH):
-if (DEFINED ${use_case}_FILE_PATH)
-    get_path_type(${${use_case}_FILE_PATH} PATH_TYPE)
-    # Set the default type if path is not a dir or file path (or undefined)
-    if (NOT ${PATH_TYPE} STREQUAL PATH AND NOT ${PATH_TYPE} STREQUAL FILEPATH)
-        message(FATAL_ERROR "Invalid ${use_case}_FILE_PATH. It should be a dir or file path.")
-    endif()
-else()
-    # Default is a directory path
-    set(PATH_TYPE PATH)
-endif()
-
-message(STATUS "${use_case}_FILE_PATH is of type: ${PATH_TYPE}")
-
 USER_OPTION(${use_case}_FILE_PATH "Directory with custom image files to use, or path to a single image, in the evaluation application"
     ${CMAKE_CURRENT_SOURCE_DIR}/resources/${use_case}/samples/
-    ${PATH_TYPE})
+    PATH_OR_FILE)
 
 USER_OPTION(${use_case}_IMAGE_SIZE "Square image size in pixels. Images will be resized to this size."
     224
@@ -61,57 +46,10 @@
     0x00200000
     STRING)
 
-# If there is no tflite file pointed to
-if (NOT DEFINED ${use_case}_MODEL_TFLITE_PATH)
-
-    set(MODEL_RESOURCES_DIR     ${DOWNLOAD_DEP_DIR}/${use_case})
-    file(MAKE_DIRECTORY         ${MODEL_RESOURCES_DIR})
-    set(MODEL_FILENAME          mobilenet_v2_1.0_224_quantized_1_default_1.tflite)
-    set(DEFAULT_MODEL_PATH      ${MODEL_RESOURCES_DIR}/${MODEL_FILENAME})
-
-    # Download the default model
-    set(ZOO_COMMON_SUBPATH      "models/image_classification/mobilenet_v2_1.0_224/tflite_uint8")
-    set(ZOO_MODEL_SUBPATH       "${ZOO_COMMON_SUBPATH}/${MODEL_FILENAME}")
-    set(ZOO_MODEL_VERSION       "68b5fbc77ed28e67b2efc915997ea4477c1d9d5b")
-
-    download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_MODEL_SUBPATH} ${DEFAULT_MODEL_PATH})
-
-    if (ETHOS_U55_ENABLED)
-        message(STATUS
-            "Ethos-U55 is enabled, but the model downloaded is not optimized by vela. "
-            "To use Ethos-U55 acceleration, optimise the downloaded model and pass it "
-            "as ${use_case}_MODEL_TFLITE_PATH to the CMake configuration.")
-    endif()
-
-    # If the target platform is native
-    if (${TARGET_PLATFORM} STREQUAL native)
-
-        # Download test vectors
-        set(ZOO_TEST_IFM_SUBPATH    "${ZOO_COMMON_SUBPATH}/testing_input/input/0.npy")
-        set(ZOO_TEST_OFM_SUBPATH    "${ZOO_COMMON_SUBPATH}/testing_output/output/0.npy")
-
-        set(${use_case}_TEST_IFM    ${MODEL_RESOURCES_DIR}/ifm0.npy CACHE FILEPATH
-                                    "Input test vector for ${use_case}")
-        set(${use_case}_TEST_OFM    ${MODEL_RESOURCES_DIR}/ofm0.npy CACHE FILEPATH
-                                    "Input test vector for ${use_case}")
-
-        download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_TEST_IFM_SUBPATH} ${${use_case}_TEST_IFM})
-        download_file_from_modelzoo(${ZOO_MODEL_VERSION} ${ZOO_TEST_OFM_SUBPATH} ${${use_case}_TEST_OFM})
-
-        set(TEST_SRC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/src)
-        set(TEST_INC_GEN_DIR ${CMAKE_BINARY_DIR}/generated/${use_case}/tests/include)
-        file(MAKE_DIRECTORY ${TEST_SRC_GEN_DIR} ${TEST_INC_GEN_DIR})
-
-        # Generate test data files to be included in x86 tests
-        generate_test_data_code(
-                            INPUT_DIR "${DOWNLOAD_DEP_DIR}/${use_case}"
-                            DESTINATION_SRC ${TEST_SRC_GEN_DIR}
-                            DESTINATION_HDR ${TEST_INC_GEN_DIR}
-                            USECASE  "${use_case}")
-    endif()
-
+if (ETHOS_U55_ENABLED)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_quantized_1_default_1_vela.tflite)
 else()
-    set(DEFAULT_MODEL_PATH  "N/A")
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_quantized_1_default_1.tflite)
 endif()
 
 USER_OPTION(${use_case}_MODEL_TFLITE_PATH "NN models file to be used in the evaluation application. Model files must be in tflite format."