summaryListFile = r'\\128.40.155.187\data\D R E O S T I   L A B\Isolation_Experiments\Social_Brain_Areas_Analisys\Excel_Sheets\Test_Comparison_2.xlsx'

# Set Background and Normalization Mask Paths
background_path = r'\\128.40.155.187\data\D R E O S T I   L A B\Isolation_Experiments\Social_Brain_Areas_Analisys\Anatomical_Masks\Background_Mask\Bkg_No_Fish.tif'
normalizer_path = r'\\128.40.155.187\data\D R E O S T I   L A B\Isolation_Experiments\Social_Brain_Areas_Analisys\Anatomical_Masks\Background_Mask\Background_C_Fos_Brain_Area.tif'

#---------------------------------------------------------------------------
#---------------------------------------------------------------------------

# Read summary list
cfos_paths, behaviour_metrics, metric_labels = SZCFOS.read_summarylist(
    summaryListFile, normalized=False)
num_files = len(cfos_paths)

# Load masks
normalizer_stack = SZCFOS.load_mask(normalizer_path, transpose=True)
num_normalizer_voxels = np.sum(np.sum(np.sum(normalizer_stack)))

background_stack = SZCFOS.load_mask(background_path, transpose=True)
num_background_voxels = np.sum(np.sum(np.sum(background_stack)))

# ------------------------------------------------------------------
# Normalization
# ------------------------------------------------------------------

# Measure cFOS in Mask (normalize to "background")
background_values = np.zeros(num_files)
normalizer_values = np.zeros(num_files)

for i in range(num_files):
summaryListFile = r'\\128.40.155.187\data\D R E O S T I   L A B\Isolation_Experiments\Social_Brain_Areas_Analisys\Excel_Sheets\Test.xlsx'

# Set Mask Path
mask_path = r'\\128.40.155.187\data\D R E O S T I   L A B\Isolation_Experiments\Social_Brain_Areas_Analisys\Anatomical_Masks\Diencephalon_Area_1_Caudal_Hypothalamus.tif'

#---------------------------------------------------------------------------
#---------------------------------------------------------------------------

# Read summary list
cfos_paths, behaviour_metrics, metric_labels = SZCFOS.read_summarylist(
    summaryListFile, normalized=True)
behaviour_metrics = np.array(behaviour_metrics)
num_files = len(cfos_paths)

# Load masks
mask_stack = SZCFOS.load_mask(mask_path, transpose=True)
num_mask_voxels = np.sum(np.sum(np.sum(mask_stack)))

# ------------------------------------------------------------------
# cFos Analysis
# ------------------------------------------------------------------

# Measure (normalized) cFOS in Mask ROI
cFos_values = np.zeros(num_files)
for i in range(num_files):

    # Load original (warped) cFos stack
    cfos_data, cfos_affine, cfos_header = SZCFOS.load_nii(cfos_paths[i],
                                                          normalized=True)

    # Measure average signal level in mask ROI
# Set Background Path
#background_path = base_path + r'\Masks\Diencephalon_Area_10_DIL.tif'
#background_path = base_path + r'\Masks\Diencephalon_Area_8.tif'
background_path = base_path + r'\Masks\Tectum.labels.tif'

#---------------------------------------------------------------------------
#---------------------------------------------------------------------------

# Read folder list
folder_names, test_ROIs, stim_ROIs, cfos_names, NS_names, S_names, fish_numbers = SZCFOS.read_folderlist(
    base_path, folderListFile)
num_folders = len(folder_names)

# Load background mask
background_stack = SZCFOS.load_mask(background_path)
num_background_voxels = np.sum(np.sum(np.sum(background_stack)))

# ------------------------------------------------------------------
# Start Analysis

# Analyze Behaviour for each folder (BPS and SPI for now)
group_values = np.zeros(num_folders)
bps_values = np.zeros(num_folders)
spi_values = np.zeros(num_folders)
vpi_values = np.zeros(num_folders)
dist_values = np.zeros(num_folders)
for i in range(num_folders):

    # Retrieve group ID
    # - From folder list name
cfos_paths, behaviour_metrics, metric_labels = SZCFOS.read_summarylist(
    summaryListFile, normalized=True)
cfos_paths = np.array(cfos_paths)
behaviour_metrics = np.array(behaviour_metrics)

# Assign metrics/paths for each group
group_correct_id = (behaviour_metrics[:, 0] == group)
group_metric_in_range = (behaviour_metrics[:, 2] >
                         VPI_min) * (behaviour_metrics[:, 2] <= VPI_max)
group_indices = np.where(group_correct_id * group_metric_in_range)[0].astype(
    np.uint)
cfos_paths = cfos_paths[group_indices]
n = len(group_indices)

# Load ROI mask
roi_stack = SZCFOS.load_mask(roi_path, transpose=True)
num_roi_voxels = np.sum(np.sum(np.sum(roi_stack)))

# ------------------------------------------------------------------
# cFos Analysis
# ------------------------------------------------------------------

# Measure (normalized) cFOS in Mask ROI
cFos_values = np.zeros(n)
for i in range(n):

    # Load original (warped) cFos stack
    cfos_data, cfos_affine, cfos_header = SZCFOS.load_nii(cfos_paths[i],
                                                          normalized=True)

    # Measure average signal level in mask ROI