Extraer índices de una matriz NumPy

Tengo una matriz NumPy que consta de solo los elementos 0 y 1 de la siguiente manera:

import numpy as np
data = np.array([[1, 1 , 0 , 0 , 0 , 0 , 1 , 0],
                 [1, 1 , 1 , 1 , 1 , 1 , 1 , 0],
                 [1, 1 , 1 , 1 , 1 , 1 , 1 , 0],
                 [0, 0 , 1 , 1 , **1** , 1 , 1 , 0],
                 [0, 0 , 1 , 1 , 1 , 1 , 1 , 1],
                 [1, 1 , 1 , 1 , 1 , 1 , 1 , 0],
                 [1, 1 , 0 , 0 , 0 , 0 , 0 , 0]])

Tengo que encontrar los índices del elemento 1 que está rodeado por 1 en 2 por 2 píxeles en todas las direcciones.

La ubicación de la respuesta esperada se muestra en negrita.

Estoy buscando una forma más fácil y rápida de hacerlo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta