@decorator_util.jit()<EOL>def map_unmasked_1d_array_to_2d_array_from_array_1d_and_shape(array_1d, shape):
array_2d = np.zeros(shape)<EOL>index = <NUM_LIT:0><EOL>for y in range(shape[<NUM_LIT:0>]):<EOL><INDENT>for x in range(shape[<NUM_LIT:1>]):<EOL><INDENT>array_2d[y, x] = array_1d[index]<EOL>index += <NUM_LIT:1><EOL><DEDENT><DEDENT>return array_2d<EOL>
For a 1D array that was flattened from a 2D array of shape (rows, columns), map its values back to the \
    original 2D array.

    The pixel coordinate origin is at the top left corner of the 2D array and goes right-wards and downwards, such
    that for an array of shape (3,3):

    - pixel 0 of the 1D array will correspond to index [0,0] of the 2D array.
    - pixel 1 of the 1D array will correspond to index [0,1] of the 2D array.
    - pixel 4 of the 1D array will correspond to index [1,0] of the 2D array.

    Parameters
     ----------
    array_1d : ndarray
        The 1D array of values which are mapped to a 2D array.
    shape : (int, int)
        The shape of the 2D array which the pixels are defined on.

    Returns
    --------
    ndarray
        A 2D array of values mapped from the 1D array with dimensions (shape).

    Examples
    --------
    one_to_two = np.array([[0,1], [1,0], [1,1], [1,2], [2,1]])

    array_1d = np.array([[2.0, 4.0, 5.0, 6.0, 8.0])

    array_2d = map_masked_1d_array_to_2d_array_from_array_1d_shape_and_one_to_two(array_1d=array_1d, shape=(3,3),
                                                                                  one_to_two=one_to_two)