10 perturbations each for 3 center images. The special perturbations are:
S_Red_Box, S_Red_Dot, M_Red_Eye, M_Red_Dot, M_RGB_Dot, M_RGB_Box, L_RGB_Box and X_RGB_Box

Each name has three components: dimensions changed, perturbed channel and perturbation shape. The dimensions changed chart is given as follows:

S = 1
M = 288
L = 30603
X = 268203

Perturbed channel is either Red or RGB. The perturbation shape can have one of three values: 
Box = a centered rectangle
Dot = scattered random dots 
Eye = on the eye of the animal

These perturbations are described as follows:

S_Red_Box: Perturb only the red channel of the center pixel
S_Red_Dot: Perturb only the red channel of a random pixel
M_Red_Eye: Perturb 288 red channels surrounding the animal eye(s)
M_Red_Dot: Perturb 288 red channels randomly
M_RGB_Dot: Perturb 96 pixels at randomly, all channels
M_RGB_Box: Perturb a pixel rectangle of 8 x 12 dimension at the center of the image, all channels
L_RGB_Box: Perturb a square of 101 x 101 dimension at the center of the image, all channels
X_RGB_Box: Perturb all pixels, all channels

Given the center image x, the value of the perturbation at a dimension k is either 1 (if x[k] <= 128) or -1 (otherwise). The dimensions that do not effect the image has the value 0.

The adversarial perturbations are:
FGSM and PGD

These perturbations are prepared by generating adversarial images (x') for the center images (x) using the Fast Gradient Sign Method (FGSM) and Projected Gradient Method (PGD) respectively. Afterwards we take the difference between (x' - x) and multiply it by a step_size. The step_size is used so that the change from x to x' does not happen really quickly or very slowly.

All perturbations are represented as one dimensional vectors that can be easily loaded into MATLAB. The perturbations have 299 x 299 x 3 shape. The files contain of 268203 integers (for special perturbations) or floats (for adversarial perturbations). The data is stored in the Fortran order i.e., the values of the red channel are specified first column-wise followed by the green and blue channels.

# matlab code to load the special perturbations
fname = 'panda_M-RGB-Box.txt'
fileID = fopen(fname, 'r')
A = fscanf(fileID, '%d')
A = reshape(A, [299, 299, 3])
A = uint8(A)


# python code to load the special perturbations
import numpy as np
from PIL import Image
fname = 'panda_M-RGB-Box.txt'
a = np.genfromtxt(fname)
a = a.reshape((299, 299, 3), order='F').astype('uint8')


# matlab code to load the adversarial perturbations
fname = 'panda_pgd.txt'
fileID = fopen(fname, 'r')
A = fscanf(fileID, '%f')
A = reshape(A, [299, 299, 3])


# python code to load the adversarial perturbations
import numpy as np
fname = 'panda_pgd.txt'
a = np.genfromtxt(fname)
a = a.reshape((299, 299, 3), order='F')
