Sure! You don’t need to inherit from ImageFolder.
Just create your own Dataset and load your numpy arrays as you want:
class MyDataset(Dataset):
    def __init__(self, root, transform=None):
        self.image_paths = os.glob.(... # get your numpy array paths here

    def __getitem__(self, index):
        img = np.load(self.image_paths[index])
        ...
    
    def __len__(self):
        return len(self.image_paths)