Skip to content

Commit

Permalink
Cyril branch reverted Gridder
Browse files Browse the repository at this point in the history
Reverts all changes to gridding code to try and track down regression
in LOFAR images between two branches
  • Loading branch information
ratt-priv-ci committed Mar 7, 2018
1 parent 889a45b commit 4bfc3f3
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 86 deletions.
20 changes: 10 additions & 10 deletions DDFacet/Gridder/GridderSmearPols.c
Original file line number Diff line number Diff line change
Expand Up @@ -354,20 +354,20 @@ void griddername(PyArrayObject *grid, \
float *ThisSumSqWeightsChan=calloc(1,(nVisChan)*sizeof(float));\
\
for(iBlock=0; iBlock<NTotBlocks; iBlock++){\
if( sparsificationFlag && !sparsificationFlag[iBlock] )\
continue;\
\
int NRowThisBlock=NRowBlocks[iBlock]-2;\
int chStart = StartRow[0];\
int chEnd = StartRow[1];\
int *Row = StartRow+2;\
/* advance pointer to next blocklist*/\
StartRow += NRowBlocks[iBlock];\
if( sparsificationFlag && !sparsificationFlag[iBlock] )\
continue;\
\
float Umean=0;\
float Vmean=0;\
float Wmean=0;\
float FreqMean=0;\
double Umean=0;\
double Vmean=0;\
double Wmean=0;\
double FreqMean=0;\
int NVisThisblock=0;\
for(ThisPol =0; ThisPol<4;ThisPol++){\
Vis[ThisPol]=0;\
Expand Down Expand Up @@ -1486,10 +1486,10 @@ void degriddername(PyArrayObject *grid, \
StartRow += NRowBlocks[iBlock];\
\
float complex Vis[4]={0};\
float Umean=0;\
float Vmean=0;\
float Wmean=0;\
float FreqMean=0;\
double Umean=0;\
double Vmean=0;\
double Wmean=0;\
double FreqMean=0;\
int NVisThisblock=0;\
\
float visChanMean=0.;\
Expand Down
8 changes: 4 additions & 4 deletions DDFacet/Gridder/GridderSmearPols.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,8 @@ float GiveDecorrelationFactor(int FSmear, int TSmear,
//printf("%f %f %f %f = %f\n",PI,Dnu,C,phase,phi);
if(phi!=0.){
df=(float)(sin((double)phi)/((double)phi));
/* if( df<0 ) */
/* df=0; */
if( df<0 )
df=0;
DecorrFactor*=df;
};
};
Expand All @@ -160,8 +160,8 @@ float GiveDecorrelationFactor(int FSmear, int TSmear,
phi=PI*(nu/C)*dphase;
if(phi!=0.){
df=(sin(phi)/(phi));
/* if( df<0 ) */
/* df=0; */
if( df<0 )
df=0;
DecorrFactor*=df;
};
};
Expand Down
111 changes: 39 additions & 72 deletions DDFacet/Gridder/JonesServer.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,82 +111,49 @@ void GiveJones(float complex *ptrJonesMatrices, int *JonesDims, float *ptrCoefs,
}
}

/*

float Jabs[4]={0};
float A=0; */
float A=0;

/* <<<<<<< HEAD */
/* /\* if(Mode==1){ *\/ */
/* /\* int ndone=0; *\/ */
/* /\* for(ipol=0; ipol<nPol; ipol++){ *\/ */
/* /\* Jout[ipol]=0; *\/ */
/* /\* } *\/ */

/* /\* int idir; *\/ */
/* /\* for(idir=0; idir<nd_Jones; idir++){ *\/ */
/* /\* if(ptrCoefs[idir]==0){continue;} *\/ */
/* /\* size_t offJ0=i_t*nd_Jones*na_Jones*nch_Jones*4 *\/ */
/* /\* +i_dir*na_Jones*nch_Jones*4 *\/ */
/* /\* +i_ant0*nch_Jones*4; *\/ */
/* /\* +iChJones*4; *\/ */

/* /\* float coef; *\/ */
/* /\* float complex val; *\/ */
/* /\* for(ipol=0; ipol<nPol; ipol++){ *\/ */
/* /\* A=cabs(*(ptrJonesMatrices+offJ0+ipol)); *\/ */
/* /\* //Jout[ipol]+=((float)(ptrCoefs[idir])/(float)(A))*(*(ptrJonesMatrices+offJ0+ipol)); *\/ */
/* /\* Jout[ipol]+=(ptrCoefs[idir]/A)*(*(ptrJonesMatrices+offJ0+ipol)); *\/ */
/* /\* Jabs[ipol]+=ptrCoefs[idir]*A; *\/ */
/* /\* //printf("[%i, %i] coef=%f val=(%f,%f) J=(%f,%f) A=(%f,%f) \n",ipol,ndone,coef,creal(val),cimag(val),creal(Jout[ipol]),cimag(Jout[ipol]),creal(Jabs[ipol]),cimag(Jabs[ipol])); *\/ */
/* /\* } *\/ */
/* /\* ndone+=1; *\/ */

/* /\* //printf("w=(%f) A=%f \n",ptrCoefs[idir],A); *\/ */
/* /\* }//end for idir *\/ */

/* /\* for(ipol=0; ipol<nPol; ipol++){ *\/ */
/* /\* Jout[ipol]*=Jabs[ipol]; *\/ */
/* /\* //printf("[%i, %i] J=(%f,%f) A=(%f,%f) \n",ipol,ndone,creal(Jout[ipol]),cimag(Jout[ipol]),creal(Jabs[ipol]),cimag(Jabs[ipol])); *\/ */
/* /\* } *\/ */
/* ======= */
/* if(Mode==1){ */
/* int ndone=0; */
/* for(ipol=0; ipol<nPol; ipol++){ */
/* Jout[ipol]=0; */
/* } */

/* int idir; */
/* for(idir=0; idir<nd_Jones; idir++){ */
/* if(ptrCoefs[idir]==0){continue;} */
/* size_t offJ0=i_t*nd_Jones*na_Jones*nch_Jones*4 */
/* +i_dir*na_Jones*nch_Jones*4 */
/* +i_ant0*nch_Jones*4 */
/* +iChJones*4; */

/* float coef; */
/* float complex val; */
/* for(ipol=0; ipol<nPol; ipol++){ */
/* A=cabs(*(ptrJonesMatrices+offJ0+ipol)); */
/* //Jout[ipol]+=((float)(ptrCoefs[idir])/(float)(A))*(*(ptrJonesMatrices+offJ0+ipol)); */
/* Jout[ipol]+=(ptrCoefs[idir]/A)*(*(ptrJonesMatrices+offJ0+ipol)); */
/* Jabs[ipol]+=ptrCoefs[idir]*A; */
/* //printf("[%i, %i] coef=%f val=(%f,%f) J=(%f,%f) A=(%f,%f) \n",ipol,ndone,coef,creal(val),cimag(val),creal(Jout[ipol]),cimag(Jout[ipol]),creal(Jabs[ipol]),cimag(Jabs[ipol])); */
/* } */
/* ndone+=1; */

/* //printf("w=(%f) A=%f \n",ptrCoefs[idir],A); */
/* }//end for idir */

/* for(ipol=0; ipol<nPol; ipol++){ */
/* Jout[ipol]*=Jabs[ipol]; */
/* //printf("[%i, %i] J=(%f,%f) A=(%f,%f) \n",ipol,ndone,creal(Jout[ipol]),cimag(Jout[ipol]),creal(Jabs[ipol]),cimag(Jabs[ipol])); */
/* } */
/* >>>>>>> master */
if(Mode==1){
int ndone=0;
for(ipol=0; ipol<nPol; ipol++){
Jout[ipol]=0;
}

int idir;
for(idir=0; idir<nd_Jones; idir++){
if(ptrCoefs[idir]==0){continue;}
size_t offJ0=i_t*nd_Jones*na_Jones*nch_Jones*4
+i_dir*na_Jones*nch_Jones*4
+i_ant0*nch_Jones*4
+iChJones*4;

float coef;
float complex val;
for(ipol=0; ipol<nPol; ipol++){
A=cabs(*(ptrJonesMatrices+offJ0+ipol));
//Jout[ipol]+=((float)(ptrCoefs[idir])/(float)(A))*(*(ptrJonesMatrices+offJ0+ipol));
Jout[ipol]+=(ptrCoefs[idir]/A)*(*(ptrJonesMatrices+offJ0+ipol));
Jabs[ipol]+=ptrCoefs[idir]*A;
//printf("[%i, %i] coef=%f val=(%f,%f) J=(%f,%f) A=(%f,%f) \n",ipol,ndone,coef,creal(val),cimag(val),creal(Jout[ipol]),cimag(Jout[ipol]),creal(Jabs[ipol]),cimag(Jabs[ipol]));
}
ndone+=1;

//printf("w=(%f) A=%f \n",ptrCoefs[idir],A);
}//end for idir

for(ipol=0; ipol<nPol; ipol++){
Jout[ipol]*=Jabs[ipol];
//printf("[%i, %i] J=(%f,%f) A=(%f,%f) \n",ipol,ndone,creal(Jout[ipol]),cimag(Jout[ipol]),creal(Jabs[ipol]),cimag(Jabs[ipol]));
}



}
}//endif


}

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -449,10 +416,10 @@ void updateJones(int irow, int visChan, double *uvwPtr, int EstimateWeight, int
if((ApplyJones_Beam)&(ApplyJones_killMS)){
int i_t=ptrTimeMappingJonesMatrices_Beam[irow];
int i_JonesChan=ptrVisToJonesChanMapping_Beam[visChan];
SameAsBefore_Beam=(CurrentJones_Beam_Time==i_t)&&(CurrentJones_Beam_Chan==i_JonesChan);
SameAsBefore_Beam=(CurrentJones_Beam_Time==i_t)&(CurrentJones_Beam_Chan=i_JonesChan);
i_t=ptrTimeMappingJonesMatrices[irow];
i_JonesChan=ptrVisToJonesChanMapping_killMS[visChan];
SameAsBefore_kMS=(CurrentJones_kMS_Time==i_t)&&(CurrentJones_kMS_Chan==i_JonesChan);
SameAsBefore_kMS=(CurrentJones_kMS_Time==i_t)&(CurrentJones_kMS_Chan=i_JonesChan);
if((SameAsBefore_Beam)&(SameAsBefore_kMS)){return;}
}

Expand Down

0 comments on commit 4bfc3f3

Please sign in to comment.