diff --git a/crpptbx/data_generic_fit_gui.m b/crpptbx/data_generic_fit_gui.m index c50400d6202c49dde03bbd2bf373634f469778d8..74b80f58224beb5000349bbd6670e45d7eeef9b4 100644 --- a/crpptbx/data_generic_fit_gui.m +++ b/crpptbx/data_generic_fit_gui.m @@ -236,7 +236,7 @@ else gen_signals = data_gen; end handles.gen_signals = gen_signals; - +keyboard fields_avail = fieldnames(gen_signals); if length(fields_avail)>0 set(handles.popup_data_left,'string',fields_avail); diff --git a/crpptbx/generic_fit.m b/crpptbx/generic_fit.m index 54a7f8c25cc0a861c8fb926a84774979f3b72d55..97532229c93b61cf1d84b709170cffdfb7071f82 100644 --- a/crpptbx/generic_fit.m +++ b/crpptbx/generic_fit.m @@ -93,7 +93,7 @@ if in_option_eff == 0 % construct 1D array with data from data_in{idata} if ~isempty(it_data{idata}) for it=1:length(it_data{idata}) - jrho_data = find(data_in{idata}.x(:,it_data{idata}(it))>0 & data_in{idata}.x(:,it_data{idata}(it))<1.01); + jrho_data = find(data_in{idata}.x(:,it_data{idata}(it))>0 & data_in{idata}.x(:,it_data{idata}(it))<1.01 & data_in{idata}.data(:,it_data{idata}(it))>0); if length(jrho_data)>0 rhotor_data_tofit(end+1:end+length(jrho_data)) = data_in{idata}.x(jrho_data,it_data{idata}(it)); xxdata_tofit(end+1:end+length(jrho_data)) = data_in{idata}.data(jrho_data,it_data{idata}(it)); @@ -110,7 +110,6 @@ if in_option_eff == 0 gen_signals_data.(dataname).combined_data.perDt{i}.data = []; gen_signals_data.(dataname).combined_data.perDt{i}.error_bar = []; gen_signals_data.(dataname).combined_data.perDt{i}.provenance = []; - return else [rhoeff,irhoeff] = sort(rhotor_data_tofit); xxdata_tofit_eff = xxdata_tofit(irhoeff); @@ -132,18 +131,23 @@ xxfit = []; dxxfitdrn = []; for i=1:length(gen_signals_data.(dataname).combined_data.perDt) rhoeff = gen_signals_data.(dataname).combined_data.perDt{i}.rho; - xxdata_tofit_eff = gen_signals_data.(dataname).combined_data.perDt{i}.data; - xxerr_tofit_eff = gen_signals_data.(dataname).combined_data.perDt{i}.error_bar; - xeff = [0. rhoeff]; - yeffxx = [xxdata_tofit_eff(1) xxdata_tofit_eff]; - erreffxx = [100.*max(xxerr_tofit_eff) xxerr_tofit_eff]; - [xxfit(:,i),dxxfitdrn(:,i)]=interpos(xeff,yeffxx,main_rho,tension_xx_eff,[1 0],[0 0],erreffxx); - if doplot - figure(11);clf - errorbar(rhoeff,xxdata_tofit_eff,xxerr_tofit_eff,'*'); - hold all - plot(main_rho,xxfit(:,i)) - pause(0.01) + if ~isempty(rhoeff) + xxdata_tofit_eff = gen_signals_data.(dataname).combined_data.perDt{i}.data; + xxerr_tofit_eff = gen_signals_data.(dataname).combined_data.perDt{i}.error_bar; + xeff = [0. rhoeff]; + yeffxx = [xxdata_tofit_eff(1) xxdata_tofit_eff]; + erreffxx = [100.*max(xxerr_tofit_eff) xxerr_tofit_eff]; + [xxfit(:,i),dxxfitdrn(:,i)]=interpos(xeff,yeffxx,main_rho,tension_xx_eff,[1 0],[0 0],erreffxx); + if doplot + figure(11);clf + errorbar(rhoeff,xxdata_tofit_eff,xxerr_tofit_eff,'*'); + hold all + plot(main_rho,xxfit(:,i)) + pause(0.01) + end + else + xxfit(1:nb_points,i) = NaN; + dxxfitdrn(1:nb_points,i) = NaN; end end