public void LoadImages(FileType fileType)
    {
        scrollRect.content.transform.Clear();
        DetailedImage[] textureDetails = new DetailedImage[0];

        switch (fileType)
        {
        case FileType.Details:
            textureDetails = ARDirectoryManager.DetailTextures;
            break;

        case FileType.Radiograph:
            textureDetails = ARDirectoryManager.RadiographTextures;
            break;

        case FileType.Movement:
            textureDetails = ARDirectoryManager.MovementTextures;
            break;

        case FileType.Simulation:
            textureDetails = ARDirectoryManager.SimulationTextures;
            break;
        }

        _textureAmount = textureDetails.Length;

        _subPanelArray = new ARDetailSubPanel[_textureAmount];

        scrollRect.content.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, Mathf.Abs(486 * _textureAmount));

        for (int i = 0; i < _textureAmount; i++)
        {
            DetailedImage image = textureDetails[i];

            GameObject       panel    = Instantiate(subPanelPrefab);
            ARDetailSubPanel subPanel = panel.GetComponent <ARDetailSubPanel>();
            subPanel.rectTransform.SetParent(scrollRect.content.transform);

            Sprite sprite = Sprite.Create(image.Texture2D, new Rect(0, 0, image.Texture2D.width, image.Texture2D.height), Vector2.zero);
            subPanel.SetSprite(sprite);
            subPanel.SetTitle(image.Title);
            subPanel.rectTransform.anchoredPosition = new Vector2(0, subPanelResolution.height * -i);
            subPanel.SetInitialPosition();

            _subPanelArray[i] = subPanel;
        }

        _currentPanelIndex = 0;
        _cachedPanelIndex  = _currentPanelIndex;
        targetPosition     = _subPanelArray[0].initialPosition;
    }
    IEnumerator GrabImages(FileType fileType, string[] filePaths)
    {
        for (int i = 0; i < filePaths.Length; i++)
        {
            string    tempPath  = _PathPrefix + filePaths[i];
            string    title     = Path.GetFileNameWithoutExtension(tempPath);
            int       index     = i + 1;
            ImageBlob imageBlob = new ImageBlob(title, index, filePaths[i]);

            Instance.ImageLoadStart(imageBlob);

            Texture2D tex = new Texture2D(4, 4, TextureFormat.DXT1, false);
            WWW       www = new WWW(tempPath);
            yield return(www);

            www.LoadImageIntoTexture(tex);

            DetailedImage image = new DetailedImage();
            image.Texture2D = tex;
            image.Title     = title;
            switch (fileType)
            {
            case FileType.Details:
                DetailTextures[i] = image;
                break;

            case FileType.Radiograph:
                RadiographTextures[i] = image;
                break;

            case FileType.Movement:
                MovementTextures[i] = image;
                break;

            case FileType.Simulation:
                SimulationTextures[i] = image;
                break;
            }
        }
    }