a
    gF$                     @   s  d Z ddlZddlZddlmZ g dZeD ]Z	ej	
e	Zer,e	Z qRq,eddZdZdZdZd	ZdZdZdZdZd
ZdZdZdd	dddZg dZdZededddddd	ddd	ZdZdd	dddZ dZ!dddd
ddddd dddd!d"Z"ed eed eed e!iZ#ed eed e ed e"iZ$ed# Z%ed$ Z&ed% Z'ed& Z(ed' Z)ed( Z*ed) Z+ed* Z,ed+ Z-dZ.d,d-gZ/e/d g d.e/d g d/iZ0d0d1 edD Z1g d2Z2g d3Z3g d4Z4g d5Z5e4d g d6e4d g d7e4d d8dgiZ6i Z7edD ](Z8e4D ]Z9e8e6e9 v re9e7e8< qq d9d:gd9d:gd;gd<Z:d=Z;d>Z<d?d@gZ=e=d dAe=d d>iZ>g dBZ?g dCZ@dDZAg dEZBdFd1 eeCeBD ZDdGdHgZEe/d eEd e/d eEd iZFdId1 edD ZGg dJZHg dKZIdLdMgZJdNZKdOdPgZLdQdRgZMdSdTgZNddUgZOdVdW ZPdXdY ZQdS )Za*  
Created on Mon Feb  6 03:21:38 2023

@author: Albert

Script that handles global variables
    Includes hardcoded paths, useful to share code across computers.
IMPORTANT: assumes that each PC has its own copies of the datasets, and its own (potentially different) results, temporal matrices, etc.
    N)z D:\Albert\MPI_Brain\Bonn ProjectzD:\MPI_Brain\Data\Bonn Projectz3C:\Users\Albert\MyFiles\MPI_Brain\Data\Bonn Projectz?WARNING: No recognized project data path found in this computer   	averagingposition   Tncp_hals
         F)n_neighborsdiscrete_labelnum_shufflesverbose)preprocessing	alignment
APdecodingPCA_analysis_dict   	      
amplitudesall)	
mouse_listsession_listtime_bin_sizedistance_bin_sizegaussian_size	data_usedrunningeliminate_v_zerosnum_componentsCCA_analysis_dict   )CCA_dimreturn_warped_datareturn_trimmed_datasessions_to_alignAPdecoding_analysis_dicti  i        g333333?BT)limit_positionmin_pos_to_filtermax_pos_to_filter
TCA_methodTCA_factorsTCA_replicatesTCA_convergence_attemptsTCA_on_LDA_repetitionsLDA_imbalance_propLDA_imbalance_repetitionsLDA_trial_shufflesLDA_session_shufflessession_comparisonsz\WithAmpltd\BigFatCluster.matz\WithAmpltd\cclustID.matz\Output\z	\Results\z	\Figures\z\TrackedFibersz\place_cell_bool_dombeck.matz\place_cell_bool_losonczy.matz\Imports\structure_indexIDDD)r   r	   r(   r   )   r   r!      c                 C   s   i | ]}|t |d k qS )r   )MOUSE_TYPE_LABELS.0mnum r?   TD:\MPI_Brain\Codes\aversive_scripts_2025\aversive_scripts_2025\project_parameters.py
<dictcomp>       rA   )B1B2B3T1T2T3T4P1P2Ex1Ex2rC   rD   rF   rG   rJ   rK   )	r      r   0   1   H   I   `   a   )BaselineTrainingProbe)BTP)r   r	   r(   )r   r9   r   r!   r:   )r   r   )r9   r!   )r	   r(   )r9   r   r!   twilightgrayReal	Predictedblack)Self	UnalignedAlignedzAligned (shift))	steelbluedeepskybluetealdarkslateblueviridis)	royalblue	indianredforestgreenc                 C   s   i | ]}t | t| qS r?   )SESSION_TYPE_LABELSSESSION_TYPE_COLORS)r=   ir?   r?   r@   rA      rB   	darkgreenmediumseagreenc                 C   s    i | ]}|t tt|  qS r?   )MOUSE_TYPE_COLORSr;   indexMOUSE_TYPE_LABEL_BY_MOUSEr<   r?   r?   r@   rA      rB   )zNo APAPzTrial ShufflezSession ShufflezAlignment shift)	slateblue
darkvioletr\   	darkkhaki
darksalmonWithinBetweenPurplesmediumslateblueorchidzNon-place cellz
Place celllightseagreen	goldenrodzair puffc                 C   s^   t td}| tv rHt|  D ]*}|d |v r|d |v r||d  qdd |D }||fS )zJ Given a mouse number, get session numbers and labels avoiding repetition r   r   r	   c                 S   s   g | ]}t | qS r?   )SESSION_NAMES)r=   snumr?   r?   r@   
<listcomp>   rB   z/get_session_list_from_mouse.<locals>.<listcomp>)listrangeSESSION_REPEATSremove)r>   slistrepeated_pairsnamesr?   r?   r@   get_session_list_from_mouse   s    r   c                 C   sf   t td  t td   }t td  }g }| D ]*}||v rD|d q,||v r,|d q,t|}|S )Nr   r(   r	   )SESSION_SNUM_BY_LABELrk   appendnparray)snum_by_trialno_ap_trials	ap_trialslabel_by_trialr   r?   r?   r@    get_AP_labels_from_snum_by_trial   s    
r   )R__doc__numpyr   os.pathosmatplotlib.pyplotpyplotpltrecognized_project_pathspathisdirpath_existsproject_pathFileNotFoundErrortrial_bin_numwarp_sampling_typewarp_based_onCCA_concat_dim"CCA_concat_transform_original_dataCCA_concat_trial_bin_numCCA_concat_warp_sampling_typeCCA_concat_warp_based_onCCA_concat_align_tor-   r.   r/   	SI_paramsANALYSIS_NAME_LISTpreprocessing_dict_namer   preprocessing_param_dictcca_dict_namecca_param_dictAPdecoding_dict_nameAPdecoding_param_dictdefault_param_dicts_namesdefault_param_dictsFAT_CLUSTER_PATHCLUSTERID_PATHOUTPUT_PATHRESULTS_PATHFIGURES_PATHTRACKED_FIBERS_PATHPLACE_CELL_PATH_DOMBECKPLACE_CELL_PATH_LOSONCZYSTRUCTURE_INDEX_PATHMAX_POSr;   MOUSE_TYPE_INDEXESrr   r   SESSION_TIMESrk   SESSION_TYPE_LABELS_SHORTr   SESSION_LABEL_BY_SNUMr   styper   PCA_CMAPSHUFFLE_DEFAULT_COLORPREDICTION_LABELSPREDICTION_COLORS
CCA_LABELS
CCA_COLORS
ERROR_CMAPrl   lenSESSION_TYPE_COLORS_DICTrp   MOUSE_TYPE_COLORS_BY_MTYPEMOUSE_TYPE_COLORS_BY_MNUMAP_DECODING_LABELSAP_DECODING_COLORSDISTANCE_LABELSDISTANCE_CMAPCELL_TYPE_COLORSCELL_TYPE_LABELSWEIGHT_TYPES_COLORSWEIGHT_TYPES_LABELSr   r   r?   r?   r?   r@   <module>   s   
