00001
00006 #ifndef __FILE_IO_H__
00007 #define __FILE_IO_H__
00008
00009 #include "lissom.h"
00010 #include "cmdparam.h"
00011
00012
00013 #define MAPLE 1
00014
00015 #define SUBTRACT 0
00016 #define SUBTRACTFROM 1
00017 #define SUBTRACTIF 2
00018 #define SUBTRACTFROMIF 3
00019 #define OVERWRITE 4
00020 #define IGNORE 5
00021
00022
00023 #define READ -1
00024 #define WRITE -2
00025
00026
00027 typedef struct
00028 {
00029 double levels[MAX_NUM_ANGLES];
00030 double total_level;
00031 } OrientationHistogram;
00032
00033
00034 extern int plot_pe;
00035
00036
00037
00038 extern OrientationHistogram map_angles;
00039 extern OrientationHistogram prev_map_angles;
00040 extern OrientationHistogram weight_angles;
00041 extern OrientationHistogram ormap_angles;
00042
00043
00044
00045 cmdstat cmd_plot_activity( CMD_ARGS );
00046 cmdstat cmd_load_snapshot( CMD_ARGS );
00047 void file_io_init_hook( void );
00048 int compute_orientation_distribution(int lowi, int highi, int lowj,
00049 int highj, OrientationHistogram
00050 *histo, double
00051 activity[NMAX][NMAX],int eye);
00052 int compute_weight_distribution(OrientationHistogram *histo, int ui,
00053 int uj, l_weight *weights, int
00054 radius, int ar_width, int eye);
00055 void read_or(FILE * or_fp, int or_min, int or_max, int
00056 or_preferences[2][NMAX][NMAX], double
00057 or_selectivities[2][NMAX][NMAX] );
00058 void read_wts(Neuron nmap[NMAX][NMAX], const char *basefilename,int ui,int uj, int output_routine,
00059 int iter, int action, int *centerx, int *centery);
00060 int plot_weights_to_file(int ui, int uj, char *filebasename,int iter);
00061 void save_presentation_image(const char* filename,double fname_angle,
00062 double input_v[RNMAX*RNMAX*MAX_NUM_EYES],
00063 double initial_activity[NMAX][NMAX],
00064 double settled_activity[NMAX][NMAX],
00065 int pres);
00066 int save_image_data(void);
00067 void swallow_line(FILE *stream);
00068 void weights_IO(int action, FILE *fp);
00069
00070 #endif