private void EncodeTemperature()
    {
        float   percentage     = temperatureValue / 40f;
        Vector3 labColor       = new Vector3(50, (percentage - 0.5f) * 128, (percentage - 0.5f) * 128);
        Vector3 rgbColorVector = LabToRGB.Convert(labColor);

        foreach (Transform child in transform.Find("BorderImages"))
        {
            child.GetComponent <Image>().color = new Color(rgbColorVector.x, rgbColorVector.y, rgbColorVector.z);
        }
        foreach (Transform child in dropObject.transform)
        {
            child.GetComponent <Renderer>().material.color = new Color(rgbColorVector.x, rgbColorVector.y, rgbColorVector.z);
        }
        foreach (Transform child in wedgeObject.transform)
        {
            child.GetComponent <Renderer>().material.color = new Color(rgbColorVector.x, rgbColorVector.y, rgbColorVector.z);
        }
        sphereObject.GetComponent <Renderer>().material.color = new Color(rgbColorVector.x, rgbColorVector.y, rgbColorVector.z);
    }
    private void UpdateArrows()
    {
        float leftTotal = 0;
        int   leftFieldOfViewCount = 0, rightFieldOfViewCount = 0;

        foreach (CollectedImage leftImg in leftImages)
        {
            if (InFieldOfView(leftImg.transform.position))
            {
                leftFieldOfViewCount++;
            }
            else
            {
                leftTotal += leftImg.temperatureValue;
            }
        }
        float rightTotal = 0;

        foreach (CollectedImage rightImg in rightImages)
        {
            if (InFieldOfView(rightImg.transform.position))
            {
                rightFieldOfViewCount++;
            }
            else
            {
                rightTotal += rightImg.temperatureValue;
            }
        }

        if (leftImages.Count - leftFieldOfViewCount == 0)
        {
            leftArrow.SetActive(false);
            leftStatus.SetActive(false);
        }
        else
        {
            leftArrow.SetActive(true);
            leftStatus.SetActive(true);
            float   average    = leftTotal / (leftImages.Count - leftFieldOfViewCount);
            float   percentage = average / 40f;
            Vector3 labColor   = new Vector3(50, (percentage - 0.5f) * 128, (percentage - 0.5f) * 128);
            Vector3 rgbColor   = LabToRGB.Convert(labColor);
            foreach (Transform child in leftArrow.transform)
            {
                child.GetComponent <Renderer>().material.color = new Color(rgbColor.x, rgbColor.y, rgbColor.z);
            }
        }
        if (rightImages.Count - rightFieldOfViewCount == 0)
        {
            rightArrow.SetActive(false);
            rightStatus.SetActive(false);
        }
        else
        {
            rightArrow.SetActive(true);
            rightStatus.SetActive(true);
            float   average    = rightTotal / (rightImages.Count - rightFieldOfViewCount);
            float   percentage = average / 40f;
            Vector3 labColor   = new Vector3(50, (percentage - 0.5f) * 128, (percentage - 0.5f) * 128);
            Vector3 rgbColor   = LabToRGB.Convert(labColor);
            foreach (Transform child in rightArrow.transform)
            {
                child.GetComponent <Renderer>().material.color = new Color(rgbColor.x, rgbColor.y, rgbColor.z);
            }
        }

        leftStatus.transform.Find("StatusText").GetComponent <Text>().text  = (leftImages.Count - leftFieldOfViewCount).ToString();
        rightStatus.transform.Find("StatusText").GetComponent <Text>().text = (rightImages.Count - rightFieldOfViewCount).ToString();
    }