0001 function [calmat data P fval hessian]=calibrate_IQUV2(cal_source,save_path,start_date,source_name,IntensityType,save_data,new_bad_rasters)
0002
0003
0004 if(~exist('save_data'))
0005 save_data = 1
0006 end
0007 if(~exist('new_bad_rasters'))
0008 new_bad_rasters = []
0009 end
0010
0011
0012
0013 [home,installeddir] = where_am_i();
0014 maindir= [home,'/',installeddir,'/',save_path,'/'];
0015
0016 load([maindir,start_date,'_',source_name,'_',IntensityType,'_PA_IQUV.mat'])
0017
0018
0019
0020
0021
0022
0023
0024
0025 for b=1:length(new_bad_rasters)
0026 good_rasters=good_rasters(good_rasters~=new_bad_rasters(b))
0027 end
0028
0029
0030 good_rasters=good_rasters
0031
0032 for i=1:length(good_rasters);
0033 data(i,1)=gfit{good_rasters(i),1}.a1;
0034 data(i,2)=gfit{good_rasters(i),8}.a1;
0035 data(i,3)=gfit{good_rasters(i),2}.a1;
0036 data(i,4)=gfit{good_rasters(i),4}.a1;
0037 data(i,5)=gfit{good_rasters(i),3}.a1;
0038 data(i,6)=gfit{good_rasters(i),5}.a1;
0039 data(i,7)= PA_D(good_rasters(i));
0040 end
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056 mjd=tstr2mjd(start_date);
0057 [sourceNum sourceFlux fluxErr polang polfrac] = ...
0058 sourceCorrespondance({cal_source}, mjd);
0059
0060
0061
0062
0063 telescope_constants;
0064
0065 Tsrc = sourceFlux.*(dishArea*apEff)./(2*k_b*1e26);
0066
0067 model = [Tsrc polfrac polang]
0068
0069
0070
0071 [calmat fval hessian]= polcal2(data, model);
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087 figure (30)
0088 plot_labels = {'I1','I2','Q1','Q2','U1','U2'};
0089 legend_label = {'data','modelled data'};
0090 calmat
0091 for i=1:6
0092 subplot(2,3,i);
0093 plot(data(:,7),data(:,i));
0094 hold all
0095 end
0096
0097
0098
0099
0100
0101 calmodel=zeros(size(data,1),6);
0102 for i=1:6;
0103 subplot(2,3,i);
0104 for npoints = 1:size(data,1);
0105 phi = -data(npoints,7);
0106 modelvec = [model(1), model(1)*model(2)*cosd(2*(model(3)+phi)), model(1)*model(2)*sind(2*(model(3)+phi))];
0107 calmodel(npoints,:)=modelvec*calmat;
0108 end
0109
0110 plot(data(:,7),calmodel(:,i))
0111 xlabel(plot_labels(i));
0112 legend(legend_label,'Location','SouthEast');
0113 if(i==1 | i==2)
0114 ylim([0 3.6])
0115 end
0116 end
0117
0118
0119
0120 fits_name = strcat(start_date,'_',source_name,'_',IntensityType);
0121
0122 save_file = strcat([maindir,'/',fits_name,'_caldata.mat']);
0123 plot_file1 = strcat([maindir,'/',fits_name,'_polcal_plot.png']) ;
0124 plot_file2 = strcat([maindir,'/',fits_name,'_polcal_plot2.png']) ;
0125 if(save_data==1)
0126 save(save_file,'calmat')
0127 print('-f30','-dpng',plot_file2)
0128 print('-f1','-dpng',plot_file1)
0129 end
0130
0131