00001
00002
00003
00004
00005
00006 void do_patch1(short *adata0)
00007 {
00008 short *p = adata0+4096*1065;
00009 short tmp[2048];
00010 int i;
00011 for (i=0; i<512; ++i) tmp[i] = -32768;
00012 for (i=512; i<2048; ++i) tmp[i] = p[i-512];
00013 memcpy(p, tmp, 4096);
00014 }
00015
00016
00017
00018
00019
00020
00021
00022 void do_patch2(short *adata0)
00023 {
00024 int i;
00025 for (i=0; i<4096*4096; ++i)
00026 if (adata0[i] == 14610) adata0[i] = 6418;
00027 }
00028
00029
00030
00031
00032
00033
00034
00035 void do_patch3(short *adata0)
00036 {
00037 int i,j,idx;
00038 FILE *fp;
00039 static short skp[2048], tak[2048];
00040 static pix[6866600];
00041 static pix2[6866600];
00042 static int first_call = 1;
00043
00044 if (first_call) {
00045 first_call = 0;
00046 fp = fopen("/home/production/cvs/TBL_JSOC/lev0/crop/hmi/crop7", "r");
00047 fscanf(fp, "%d", &i);
00048 fscanf(fp, "%d", &i);
00049 fscanf(fp, "%d", &i);
00050 for (i=0; i<2048; ++i)
00051 fscanf(fp, "%hd %hd", &skp[i], &tak[i]);
00052 fclose(fp);
00053 }
00054
00055
00056 idx = 0;
00057 for (i=4095; i>=2048; --i)
00058 for (j=4095-skp[4095-i]; j>=2048; --j)
00059 pix[idx++] = adata0[4096*i+j];
00060 for (i=4095; i>=2048; --i)
00061 for (j=skp[4095-i]; j<2048; ++j)
00062 pix[idx++] = adata0[4096*i+j];
00063
00064
00065 for (idx=0; idx<68736; ++idx)
00066 pix2[idx] = pix[idx];
00067 for (idx=68736; idx<68736+512; ++idx)
00068 pix2[idx] = -32768;
00069 for (idx=68736+512; idx<3433300; ++idx)
00070 pix2[idx] = pix[idx-512];
00071
00072
00073 for (idx=3433300+940; idx<6866600; ++idx)
00074 pix2[idx] = pix[idx-940];
00075
00076
00077 idx = 0;
00078 for (i=4095; i>=2048; --i)
00079 for (j=4095-skp[4095-i]; j>=2048; --j)
00080 adata0[4096*i+j] = pix2[idx++];
00081
00082 idx += 940;
00083
00084 for (i=4093; i>=2048; --i) {
00085 for (j=skp[4095-i]; j<2048; ++j)
00086 adata0[4096*(i+2)+j] = pix2[idx++];
00087
00088 for (j=skp[4095-i]; j<skp[4093-i]; ++j)
00089 adata0[4096*(i+2)+j] = -32768;
00090 }
00091
00092 for (i=2048; i<2050; ++i)
00093 for (j=0; j<2048; ++j)
00094 adata0[4096*i+j] = -32768;
00095 }
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105 void do_patch4(short *adata0)
00106 {
00107 int i;
00108 short *p = adata0+4096*2354;
00109 for (i=2048; i<4080; ++i)
00110 p[i] = p[i+16];
00111 for (i=4080; i<4096; ++i)
00112 p[i] = -32768;
00113 }