// load coordinates of the current image index
        private bool loadCoordinates(int index)
        {
            // if there are no coordinates to load, return
            if (index >= realCoordinatesList.getSize())
            {
                return(false);
            }

            // get corresponding coordinates and checkbox states
            List <int> singleRow = coordinatesList.getRow(index);
            List <int> faceSize  = faceModeSize.getRow(index);

            lookAngle      = new int[] { 0, 0, 0, 0 };
            eyesNotVisible = new int[] { 0, 0 };

            if (mode == Constants.faceMode)
            {
                noFaceCB.Checked = (isFacePresent[index] == 0 ? false : true);
            }
            if (mode == Constants.eyeContourMode)
            {
                eyeClosedCB.Checked = (eyeClosed[index] == 0 ? false : true);
            }

            // set rectangle positions and checkbox states based on retireved values
            if (singleRow != null)
            {
                rectangles.setAllRectCoordinates(singleRow);
                lookAngle = lookAngleContainer.getRow(index).ToArray();

                if (mode == Constants.faceElementsMode)
                {
                    eyesNotVisible = eyesNotVisibleContainer.getRow(index).ToArray();
                    setEyesCheckBoxes(new CheckBox[] { LEnotVCB, REnotVCB });
                }

                if (mode == Constants.faceMode)
                {
                    rectangles.setRectSize(0, new Size(faceSize[0], (int)(faceSize[0] * Constants.modeFRectScale)));
                }

                setCheckBoxes(new CheckBox[] { leftCB, rightCB, upCB, downCB });
                return(true);
            }


            return(false);
        }