import nibabel as nib
import numpy as np


def process(file, file_out):
    func = nib.load(file)
    func.darrays[0].intent = nib.nifti1.intent_codes['NIFTI_INTENT_ZSCORE']

    # Compress indices
    # data = np.round(func.darrays[0].data)
    # max_value = max(data[:])
    # lookup_value = 0
    # current_value = 0
    # while lookup_value < max_value:
    #     index = data == lookup_value
    #     if np.any(index):
    #         data[index] = current_value
    #         current_value += 1
    #     lookup_value += 1
    # func.darrays[0].data = data

    nib.save(func, file_out)

if __name__ == '__main__':
    process('atlas_RikenBMA_cortex_borders.R.func.gii', 'atlas_riken.func.gii')
    process('atlas_MBM_cortex_vPaxinos_and_subcortical_borders.R.func.gii', 'atlas_paxinos.func.gii')
