Commit c9468014 authored by Wei Chengliang's avatar Wei Chengliang
Browse files

add CTI/1*16/prescan/overscan

parent d84594ad
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "nrutil.h"
void creattraps(long *seed,int ntrap,int ny,int nmax,float c,float beta,float **sp)
{
//creat ntrap traps along one column
//sp[i][0] the number of trap in the ith pixle;
//sp[i][j] (c,1+c) the height of the jth trap in the ith pixle;
float ran1(long *idum);
void sort(unsigned long n, float arr[]);
float tmp,betare,height;
int i,nyt,ntmp,j;
float *tmpv;
tmpv = vector(1,100);
if(nmax>50){printf(" the upper limite of trap in each pixe is too large, nmax=%d\n",nmax); getchar();}
betare=1./beta;
for(i=0;i<ny;i++)sp[i][0]=0;
for(i=0;i<ntrap;i++){
nyt=ran1(seed)*ny;
sp[nyt][0]++;
}
for(i=0;i<ny;i++){
ntmp=sp[i][0];
if(ntmp==1){
height=ran1(seed)-c;
if(height<=0){sp[i][1]=0;}
else{
sp[i][1]=pow(height,betare);
}
}
if(ntmp>1){
if(ntmp>nmax)sp[i][0]=ntmp=nmax; // upper limite of trap in each pixel is nmax
for(j=1;j<=ntmp;j++)tmpv[j]=ran1(seed)-c;
sort(ntmp, tmpv);
for(j=1;j<=ntmp;j++){
height=tmpv[j];
if(height<=0){sp[i][j]=0;}
else{sp[i][j]=pow(height,betare);}
}
}
sp[i][ntmp+1]=999999;
}
free_vector(tmpv,1,100);
}
#include <math.h>
float gammln(float xx)
{
double x,y,tmp,ser;
static double cof[6]={76.18009172947146,-86.50532032941677,
24.01409824083091,-1.231739572450155,
0.1208650973866179e-2,-0.5395239384953e-5};
int j;
y=x=xx;
tmp=x+5.5;
tmp -= (x+0.5)*log(tmp);
ser=1.000000000190015;
for (j=0;j<=5;j++) ser += cof[j]/++y;
return -tmp+log(2.5066282746310005*ser/x);
}
/* (C) Copr. 1986-92 Numerical Recipes Software )1!. */
#include <math.h>
float gasdev(long *idum)
{
float ran1(long *idum);
static int iset=0;
static float gset;
float fac,rsq,v1,v2;
if (iset == 0) {
do {
v1=2.0*ran1(idum)-1.0;
v2=2.0*ran1(idum)-1.0;
rsq=v1*v1+v2*v2;
} while (rsq >= 1.0 || rsq == 0.0);
fac=sqrt(-2.0*log(rsq)/rsq);
gset=v1*fac;
iset=1;
return v2*fac;
} else {
iset=0;
return gset;
}
}
/* (C) Copr. 1986-92 Numerical Recipes Software )1!. */
This diff is collapsed.
/* CAUTION: This is the ANSI C (only) version of the Numerical Recipes
utility file nrutil.h. Do not confuse this file with the same-named
file nrutil.h that may be supplied in a 'misc' subdirectory.
*That* file is the one from the book, and contains both ANSI and
traditional K&R versions, along with #ifdef macros to select the
correct version. *This* file contains only ANSI C. */
#ifndef _NR_UTILS_H_
#define _NR_UTILS_H_
static float sqrarg;
#define SQR(a) ((sqrarg=(a)) == 0.0 ? 0.0 : sqrarg*sqrarg)
static double dsqrarg;
#define DSQR(a) ((dsqrarg=(a)) == 0.0 ? 0.0 : dsqrarg*dsqrarg)
static double dmaxarg1,dmaxarg2;
#define DMAX(a,b) (dmaxarg1=(a),dmaxarg2=(b),(dmaxarg1) > (dmaxarg2) ?\
(dmaxarg1) : (dmaxarg2))
static double dminarg1,dminarg2;
#define DMIN(a,b) (dminarg1=(a),dminarg2=(b),(dminarg1) < (dminarg2) ?\
(dminarg1) : (dminarg2))
static float maxarg1,maxarg2;
#define FMAX(a,b) (maxarg1=(a),maxarg2=(b),(maxarg1) > (maxarg2) ?\
(maxarg1) : (maxarg2))
static float minarg1,minarg2;
#define FMIN(a,b) (minarg1=(a),minarg2=(b),(minarg1) < (minarg2) ?\
(minarg1) : (minarg2))
static long lmaxarg1,lmaxarg2;
#define LMAX(a,b) (lmaxarg1=(a),lmaxarg2=(b),(lmaxarg1) > (lmaxarg2) ?\
(lmaxarg1) : (lmaxarg2))
static long lminarg1,lminarg2;
#define LMIN(a,b) (lminarg1=(a),lminarg2=(b),(lminarg1) < (lminarg2) ?\
(lminarg1) : (lminarg2))
static int imaxarg1,imaxarg2;
#define IMAX(a,b) (imaxarg1=(a),imaxarg2=(b),(imaxarg1) > (imaxarg2) ?\
(imaxarg1) : (imaxarg2))
static int iminarg1,iminarg2;
#define IMIN(a,b) (iminarg1=(a),iminarg2=(b),(iminarg1) < (iminarg2) ?\
(iminarg1) : (iminarg2))
#define SIGN(a,b) ((b) >= 0.0 ? fabs(a) : -fabs(a))
void nrerror(char error_text[]);
float *vector(long nl, long nh);
int *ivector(long nl, long nh);
unsigned char *cvector(long nl, long nh);
long *lvector(long nl, long nh);
double *dvector(long nl, long nh);
float **matrix(long nrl, long nrh, long ncl, long nch);
double **dmatrix(long nrl, long nrh, long ncl, long nch);
int **imatrix(long nrl, long nrh, long ncl, long nch);
float **submatrix(float **a, long oldrl, long oldrh, long oldcl, long oldch,
long newrl, long newcl);
float **convert_matrix(float *a, long nrl, long nrh, long ncl, long nch);
float ***f3tensor(long nrl, long nrh, long ncl, long nch, long ndl, long ndh);
void free_vector(float *v, long nl, long nh);
void free_ivector(int *v, long nl, long nh);
void free_cvector(unsigned char *v, long nl, long nh);
void free_lvector(long *v, long nl, long nh);
void free_dvector(double *v, long nl, long nh);
void free_matrix(float **m, long nrl, long nrh, long ncl, long nch);
void free_dmatrix(double **m, long nrl, long nrh, long ncl, long nch);
void free_imatrix(int **m, long nrl, long nrh, long ncl, long nch);
void free_submatrix(float **b, long nrl, long nrh, long ncl, long nch);
void free_convert_matrix(float **b, long nrl, long nrh, long ncl, long nch);
void free_f3tensor(float ***t, long nrl, long nrh, long ncl, long nch,
long ndl, long ndh);
int ***i3tensor(long nrl, long nrh, long ncl, long nch, long ndl, long ndh);
void free_i3tensor(int ***t, long nrl, long nrh, long ncl, long nch,
long ndl, long ndh);
unsigned char ***b3tensor(long nrl, long nrh, long ncl, long nch, long ndl, long ndh);
void free_b3tensor(unsigned char ***t, long nrl, long nrh, long ncl, long nch,
long ndl, long ndh);
double ***d3tensor(long nrl, long nrh, long ncl, long nch, long ndl, long ndh);
void free_d3tensor(double ***t, long nrl, long nrh, long ncl, long nch,
long ndl, long ndh);
char **cmatrix(long nrl, long nrh, long ncl, long nch);
void free_cmatrix(char **m, long nrl, long nrh, long ncl, long nch);
#endif /* _NR_UTILS_H_ */
#include <math.h>
#define PI 3.141592654
float poidev(float xm, int *idum)
{
float gammln(float xx);
float ran1(int *idum);
static float sq,alxm,g,oldm=(-1.0);
float em,t,y;
if (xm < 12.0) {
if (xm != oldm) {
oldm=xm;
g=exp(-xm);
}
em = -1;
t=1.0;
do {
++em;
t *= ran1(idum);
} while (t > g);
} else {
if (xm != oldm) {
oldm=xm;
sq=sqrt(2.0*xm);
alxm=log(xm);
g=xm*alxm-gammln(xm+1.0);
}
do {
do {
y=tan(PI*ran1(idum));
em=sq*y+xm;
} while (em < 0.0);
em=floor(em);
t=0.9*(1.0+y*y)*exp(em*alxm-gammln(em+1.0)-g);
} while (ran1(idum) > t);
}
return em;
}
float poidev_copy(float xm, int *idum)
{
float gammln(float xx);
float ran1_copy(int *idum);
static float sq1,alxm1,g1,oldm1=(-1.0);
float em,t,y;
if (xm < 12.0) {
if (xm != oldm1) {
oldm1=xm;
g1=exp(-xm);
}
em = -1;
t=1.0;
do {
++em;
t *= ran1_copy(idum);
} while (t > g1);
} else {
if (xm != oldm1) {
oldm1=xm;
sq1=sqrt(2.0*xm);
alxm1=log(xm);
g1=xm*alxm1-gammln(xm+1.0);
}
do {
do {
y=tan(PI*ran1_copy(idum));
em=sq1*y+xm;
} while (em < 0.0);
em=floor(em);
t=0.9*(1.0+y*y)*exp(em*alxm1-gammln(em+1.0)-g1);
} while (ran1_copy(idum) > t);
}
return em;
}
#undef PI
/* (C) Copr. 1986-92 Numerical Recipes Software )1!. */
#define IA 16807
#define IM 2147483647
#define AM (1.0/IM)
#define IQ 127773
#define IR 2836
#define NTAB 32
#define NDIV (1+(IM-1)/NTAB)
#define EPS 1.2e-7
#define RNMX (1.0-EPS)
float ran1(int *idum)
{
int j;
int k;
//static
static int iy=0;
static int iv[NTAB];
float temp;
if (*idum <= 0 || !iy) {
if (-(*idum) < 1) *idum=1;
else *idum = -(*idum);
for (j=NTAB+7;j>=0;j--) {
k=(*idum)/IQ;
*idum=IA*(*idum-k*IQ)-IR*k;
if (*idum < 0) *idum += IM;
if (j < NTAB) iv[j] = *idum;
}
iy=iv[0];
}
k=(*idum)/IQ;
*idum=IA*(*idum-k*IQ)-IR*k;
if (*idum < 0) *idum += IM;
j=iy/NDIV;
iy=iv[j];
iv[j] = *idum;
if ((temp=AM*iy) > RNMX) return RNMX;
else return temp;
}
float ran1_copy(int *idum)
{
int j;
int k;
//static
static int iy1=0;
static int iv1[NTAB];
float temp;
if (*idum <= 0 || !iy1) {
if (-(*idum) < 1) *idum=1;
else *idum = -(*idum);
for (j=NTAB+7;j>=0;j--) {
k=(*idum)/IQ;
*idum=IA*(*idum-k*IQ)-IR*k;
if (*idum < 0) *idum += IM;
if (j < NTAB) iv1[j] = *idum;
}
iy1=iv1[0];
}
k=(*idum)/IQ;
*idum=IA*(*idum-k*IQ)-IR*k;
if (*idum < 0) *idum += IM;
j=iy1/NDIV;
iy1=iv1[j];
iv1[j] = *idum;
if ((temp=AM*iy1) > RNMX) return RNMX;
else return temp;
}
#undef IA
#undef IM
#undef AM
#undef IQ
#undef IR
#undef NTAB
#undef NDIV
#undef EPS
#undef RNMX
/* (C) Copr. 1986-92 Numerical Recipes Software )1!. */
#define IM1 2147483563
#define IM2 2147483399
#define AM (1.0/IM1)
#define IMM1 (IM1-1)
#define IA1 40014
#define IA2 40692
#define IQ1 53668
#define IQ2 52774
#define IR1 12211
#define IR2 3791
#define NTAB 32
#define NDIV (1+IMM1/NTAB)
#define EPS 1.2e-7
#define RNMX (1.0-EPS)
float ran2(long *idum)
{
int j;
long k;
static long idum2=123456789;
static long iy=0;
static long iv[NTAB];
float temp;
if (*idum <= 0) {
if (-(*idum) < 1) *idum=1;
else *idum = -(*idum);
idum2=(*idum);
for (j=NTAB+7;j>=0;j--) {
k=(*idum)/IQ1;
*idum=IA1*(*idum-k*IQ1)-k*IR1;
if (*idum < 0) *idum += IM1;
if (j < NTAB) iv[j] = *idum;
}
iy=iv[0];
}
k=(*idum)/IQ1;
*idum=IA1*(*idum-k*IQ1)-k*IR1;
if (*idum < 0) *idum += IM1;
k=idum2/IQ2;
idum2=IA2*(idum2-k*IQ2)-k*IR2;
if (idum2 < 0) idum2 += IM2;
j=iy/NDIV;
iy=iv[j]-idum2;
iv[j] = *idum;
if (iy < 1) iy += IMM1;
if ((temp=AM*iy) > RNMX) return RNMX;
else return temp;
}
#undef IM1
#undef IM2
#undef AM
#undef IMM1
#undef IA1
#undef IA2
#undef IQ1
#undef IQ2
#undef IR1
#undef IR2
#undef NTAB
#undef NDIV
#undef EPS
#undef RNMX
/* (C) Copr. 1986-92 Numerical Recipes Software )1!. */
#define NRANSI
#include "nrutil.h"
#define SWAP(a,b) temp=(a);(a)=(b);(b)=temp;
#define M 7
#define NSTACK 50
void sort(unsigned long n, float arr[])
{
unsigned long i,ir=n,j,k,l=1;
int jstack=0,*istack;
float a,temp;
istack=ivector(1,NSTACK);
for (;;) {
if (ir-l < M) {
for (j=l+1;j<=ir;j++) {
a=arr[j];
for (i=j-1;i>=1;i--) {
if (arr[i] <= a) break;
arr[i+1]=arr[i];
}
arr[i+1]=a;
}
if (jstack == 0) break;
ir=istack[jstack--];
l=istack[jstack--];
} else {
k=(l+ir) >> 1;
SWAP(arr[k],arr[l+1])
if (arr[l+1] > arr[ir]) {
SWAP(arr[l+1],arr[ir])
}
if (arr[l] > arr[ir]) {
SWAP(arr[l],arr[ir])
}
if (arr[l+1] > arr[l]) {
SWAP(arr[l+1],arr[l])
}
i=l+1;
j=ir;
a=arr[l];
for (;;) {
do i++; while (arr[i] < a);
do j--; while (arr[j] > a);
if (j < i) break;
SWAP(arr[i],arr[j]);
}
arr[l]=arr[j];
arr[j]=a;
jstack += 2;
if (jstack > NSTACK) nrerror("NSTACK too small in sort.");
if (ir-i+1 >= j-l) {
istack[jstack]=ir;
istack[jstack-1]=i;
ir=j-1;
} else {
istack[jstack]=j-1;
istack[jstack-1]=l;
l=i;
}
}
}
free_ivector(istack,1,NSTACK);
}
#undef M
#undef NSTACK
#undef SWAP
#undef NRANSI
/* (C) Copr. 1986-92 Numerical Recipes Software )1!. */
...@@ -15,7 +15,11 @@ ...@@ -15,7 +15,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"32": { "32": {
"chip_name": "FGS1A-D2", "chip_name": "FGS1A-D2",
...@@ -33,7 +37,11 @@ ...@@ -33,7 +37,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"33": { "33": {
"chip_name": "FGS1B-D1", "chip_name": "FGS1B-D1",
...@@ -51,7 +59,11 @@ ...@@ -51,7 +59,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"34": { "34": {
"chip_name": "FGS1B-D2", "chip_name": "FGS1B-D2",
...@@ -69,7 +81,11 @@ ...@@ -69,7 +81,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"35": { "35": {
"chip_name": "FGS2A-D1", "chip_name": "FGS2A-D1",
...@@ -87,7 +103,11 @@ ...@@ -87,7 +103,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"36": { "36": {
"chip_name": "FGS2A-D2", "chip_name": "FGS2A-D2",
...@@ -105,7 +125,11 @@ ...@@ -105,7 +125,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"37": { "37": {
"chip_name": "FGS2B-D1", "chip_name": "FGS2B-D1",
...@@ -123,7 +147,11 @@ ...@@ -123,7 +147,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"38": { "38": {
"chip_name": "FGS2B-D2", "chip_name": "FGS2B-D2",
...@@ -141,7 +169,11 @@ ...@@ -141,7 +169,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"39": { "39": {
"chip_name": "FGS3-D1", "chip_name": "FGS3-D1",
...@@ -159,7 +191,11 @@ ...@@ -159,7 +191,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"40": { "40": {
"chip_name": "FGS3-D2", "chip_name": "FGS3-D2",
...@@ -177,7 +213,11 @@ ...@@ -177,7 +213,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"41": { "41": {
"chip_name": "FGS4-D1", "chip_name": "FGS4-D1",
...@@ -195,7 +235,11 @@ ...@@ -195,7 +235,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"42": { "42": {
"chip_name": "FGS4-D2", "chip_name": "FGS4-D2",
...@@ -213,7 +257,11 @@ ...@@ -213,7 +257,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 2000.0, "bias_level": 2000.0,
"gain": 1.0, "gain": 1.0,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"1": { "1": {
"chip_name": "GI-1", "chip_name": "GI-1",
...@@ -231,7 +279,11 @@ ...@@ -231,7 +279,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"2": { "2": {
"chip_name": "GV-1", "chip_name": "GV-1",
...@@ -249,7 +301,11 @@ ...@@ -249,7 +301,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"3": { "3": {
"chip_name": "GU-1", "chip_name": "GU-1",
...@@ -267,7 +323,11 @@ ...@@ -267,7 +323,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"4": { "4": {
"chip_name": "GU-2", "chip_name": "GU-2",
...@@ -285,7 +345,11 @@ ...@@ -285,7 +345,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"5": { "5": {
"chip_name": "GV-2", "chip_name": "GV-2",
...@@ -303,7 +367,11 @@ ...@@ -303,7 +367,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"6": { "6": {
"chip_name": "y-1", "chip_name": "y-1",
...@@ -321,7 +389,11 @@ ...@@ -321,7 +389,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"7": { "7": {
"chip_name": "i-1", "chip_name": "i-1",
...@@ -339,7 +411,11 @@ ...@@ -339,7 +411,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"8": { "8": {
"chip_name": "g-1", "chip_name": "g-1",
...@@ -357,7 +433,11 @@ ...@@ -357,7 +433,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"9": { "9": {
"chip_name": "r-1", "chip_name": "r-1",
...@@ -375,7 +455,11 @@ ...@@ -375,7 +455,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"10": { "10": {
"chip_name": "GI-2", "chip_name": "GI-2",
...@@ -393,7 +477,11 @@ ...@@ -393,7 +477,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"11": { "11": {
"chip_name": "z-1", "chip_name": "z-1",
...@@ -411,7 +499,11 @@ ...@@ -411,7 +499,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"12": { "12": {
"chip_name": "NUV-1", "chip_name": "NUV-1",
...@@ -429,7 +521,11 @@ ...@@ -429,7 +521,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"13": { "13": {
"chip_name": "NUV-2", "chip_name": "NUV-2",
...@@ -447,7 +543,11 @@ ...@@ -447,7 +543,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"14": { "14": {
"chip_name": "u-1", "chip_name": "u-1",
...@@ -465,7 +565,11 @@ ...@@ -465,7 +565,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"15": { "15": {
"chip_name": "y-2", "chip_name": "y-2",
...@@ -483,7 +587,11 @@ ...@@ -483,7 +587,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"16": { "16": {
"chip_name": "y-3", "chip_name": "y-3",
...@@ -501,7 +609,11 @@ ...@@ -501,7 +609,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"17": { "17": {
"chip_name": "u-2", "chip_name": "u-2",
...@@ -519,7 +631,11 @@ ...@@ -519,7 +631,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"18": { "18": {
"chip_name": "NUV-3", "chip_name": "NUV-3",
...@@ -537,7 +653,11 @@ ...@@ -537,7 +653,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"19": { "19": {
"chip_name": "NUV-4", "chip_name": "NUV-4",
...@@ -555,7 +675,11 @@ ...@@ -555,7 +675,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"20": { "20": {
"chip_name": "z-2", "chip_name": "z-2",
...@@ -573,7 +697,11 @@ ...@@ -573,7 +697,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"21": { "21": {
"chip_name": "GI-3", "chip_name": "GI-3",
...@@ -591,7 +719,11 @@ ...@@ -591,7 +719,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"22": { "22": {
"chip_name": "r-2", "chip_name": "r-2",
...@@ -609,7 +741,11 @@ ...@@ -609,7 +741,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"23": { "23": {
"chip_name": "g-2", "chip_name": "g-2",
...@@ -627,7 +763,11 @@ ...@@ -627,7 +763,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"24": { "24": {
"chip_name": "i-2", "chip_name": "i-2",
...@@ -645,7 +785,11 @@ ...@@ -645,7 +785,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"25": { "25": {
"chip_name": "y-4", "chip_name": "y-4",
...@@ -663,7 +807,11 @@ ...@@ -663,7 +807,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"26": { "26": {
"chip_name": "GV-3", "chip_name": "GV-3",
...@@ -681,7 +829,11 @@ ...@@ -681,7 +829,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"27": { "27": {
"chip_name": "GU-3", "chip_name": "GU-3",
...@@ -699,7 +851,11 @@ ...@@ -699,7 +851,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"28": { "28": {
"chip_name": "GU-4", "chip_name": "GU-4",
...@@ -717,7 +873,11 @@ ...@@ -717,7 +873,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"29": { "29": {
"chip_name": "GV-4", "chip_name": "GV-4",
...@@ -735,7 +895,11 @@ ...@@ -735,7 +895,11 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
}, },
"30": { "30": {
"chip_name": "GI-4", "chip_name": "GI-4",
...@@ -753,6 +917,10 @@ ...@@ -753,6 +917,10 @@
"df_strength": 2.3, "df_strength": 2.3,
"bias_level": 500, "bias_level": 500,
"gain": 1.1, "gain": 1.1,
"full_well": 90000 "full_well": 90000,
"prescan_x": 27,
"overscan_x": 71,
"prescan_y": 0,
"overscan_y": 84
} }
} }
...@@ -9,15 +9,14 @@ ...@@ -9,15 +9,14 @@
# Base diretories and naming setup # Base diretories and naming setup
# Can add some of the command-line arguments here as well; # Can add some of the command-line arguments here as well;
# OK to pass either way or both, as long as they are consistent # OK to pass either way or both, as long as they are consistent
<<<<<<< HEAD ##<<<<<<< HEAD
work_dir: "/share/home/zhangxin/CSST_SIM/CSST_new_sim/csst-simulation/" ##work_dir: "/share/home/zhangxin/CSST_SIM/CSST_new_sim/csst-simulation/"
======= ##=======
work_dir: "/share/home/fangyuedong/new_sim/workplace/" work_dir: "/share/home/weichengliang/CSST_git/test_new_sim/outputs/"
# work_dir: "/share/C6_new_sim_2sq" ##>>>>>>> new_sim
>>>>>>> new_sim
data_dir: "/share/simudata/CSSOSDataProductsSims/data/" data_dir: "/share/simudata/CSSOSDataProductsSims/data/"
run_name: "C6_new_sim_2sq_run1" run_name: "testRun2"
project_cycle: 6 project_cycle: 8
run_counter: 1 run_counter: 1
# Whether to use MPI # Whether to use MPI
...@@ -71,7 +70,7 @@ obs_setting: ...@@ -71,7 +70,7 @@ obs_setting:
# "Spectroscopic": simulate slitless spectroscopic chips only # "Spectroscopic": simulate slitless spectroscopic chips only
# "FGS": simulate FGS chips only (31-42) # "FGS": simulate FGS chips only (31-42)
# "All": simulate full focal plane # "All": simulate full focal plane
survey_type: "Spectroscopic" survey_type: "Photometric"
# Exposure time [seconds] # Exposure time [seconds]
exp_time: 150. exp_time: 150.
...@@ -107,7 +106,7 @@ obs_setting: ...@@ -107,7 +106,7 @@ obs_setting:
# - give a list of indexes of chips: [ip_1, ip_2...] # - give a list of indexes of chips: [ip_1, ip_2...]
# - run all chips: null # - run all chips: null
# Note: for all pointings # Note: for all pointings
run_chips: [10] run_chips: [8]
# Whether to enable astrometric modeling # Whether to enable astrometric modeling
enable_astrometric_model: True enable_astrometric_model: True
...@@ -178,12 +177,14 @@ ins_effects: ...@@ -178,12 +177,14 @@ ins_effects:
non_linear: YES # Whether to add non-linearity non_linear: YES # Whether to add non-linearity
cosmic_ray: YES # Whether to add cosmic-ray cosmic_ray: YES # Whether to add cosmic-ray
cray_differ: YES # Whether to generate different cosmic ray maps CAL and MS output cray_differ: YES # Whether to generate different cosmic ray maps CAL and MS output
cte_trail: YES # Whether to simulate CTE trails cte_trail: YES # Whether to simulate CTE trails, CTI_lgl_v0.3.tar.gz
saturbloom: YES # Whether to simulate Saturation & Blooming saturbloom: YES # Whether to simulate Saturation & Blooming
add_badcolumns: YES # Whether to add bad columns add_badcolumns: YES # Whether to add bad columns
add_hotpixels: YES # Whether to add hot pixels add_hotpixels: YES # Whether to add hot pixels
add_deadpixels: YES # Whether to add dead(dark) pixels add_deadpixels: YES # Whether to add dead(dark) pixels
bright_fatter: YES # Whether to simulate Brighter-Fatter (also diffusion) effect bright_fatter: YES # Whether to simulate Brighter-Fatter (also diffusion) effect
add_prescan: YES # Whether to add pre/over-scan
format_output: YES ##1*16 output
# Values: # Values:
# default values have been defined individually for each chip in: # default values have been defined individually for each chip in:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment