From 4ad740a3008792fb21d6cce5aaaae2694b530cc5 Mon Sep 17 00:00:00 2001 From: Olivier Sauter <olivier.sauter@epfl.ch> Date: Sun, 16 Jun 2024 07:59:39 +0200 Subject: [PATCH] add time_out as array provided for radcam option keep previous xtomo time_interval as is --- matlab/TCV/gdat_tcv.m | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m index a6118f64..28552955 100644 --- a/matlab/TCV/gdat_tcv.m +++ b/matlab/TCV/gdat_tcv.m @@ -3337,10 +3337,14 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') % 200ms includes all characteristic time constants time_interval = [gdat_data.gdat_params.time_out-0.1 gdat_data.gdat_params.time_out+0.1]; else - time_interval = [min(gdat_data.gdat_params.time_out)-0.1 max(gdat_data.gdat_params.time_out)+0.1]; + if strcmp(gdat_data.gdat_params.source,'radcam') + time_interval = gdat_data.gdat_params.time_out; % for radcam provide time array on which to do interpos + else + time_interval = [min(gdat_data.gdat_params.time_out)-0.1 max(gdat_data.gdat_params.time_out)+0.1]; + warning(['Expects a time interval [t1 t2] for ' data_request_eff ' in param time_out, uses [' ... + num2str(time_interval(1)) ',' num2str(time_interval(2)) ']' char(10)]) + end end - warning(['Expects a time interval [t1 t2] for ' data_request_eff ' in param time_out, uses [' ... - num2str(time_interval(1)) ',' num2str(time_interval(2)) ']' char(10)]) end end % at this stage 2 option for freq, raw data (fast, default), 10kHz or similar (slow) @@ -3429,10 +3433,30 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') end sxr = rc_load_diodes(shot,'diag_name',"sxr",'channels',gdat_data.x); % since all cameras with different channel number if freq_opt == 1 - gdat_data.data = sxr.data'; - gdat_data.t = sxr.time; + if ~isempty(time_interval) + if numel(time_interval) == 2 + ij = find(sxr.time>=time_interval(1) & sxr.time>=time_interval(end)); + gdat_data.data = sxr.data(ij,:)'; + gdat_data.t = sxr.time(ij); + else + ij = iround_os(sxr.time,time_interval); + gdat_data.data = sxr.data(ij,:)'; + gdat_data.t = sxr.time(ij); + end + else + gdat_data.data = sxr.data'; + gdat_data.t = sxr.time; + end else - gdat_data.t = linspace(sxr.time(1),sxr.time(end),round((sxr.time(end)-sxr.time(1))/1e-4)); + if ~isempty(time_interval) + if numel(time_interval) == 2 + gdat_data.t = linspace(time_interval(1),time_interval(2),round((time_interval(2)-time_interval(1))/1e-4)); + else + gdat_data.t = time_interval; + end + else + gdat_data.t = linspace(sxr.time(1),sxr.time(end),round((sxr.time(end)-sxr.time(1))/1e-4)); + end for i=1:size(sxr.data,2) gdat_data.data(i,:) = interpos(sxr.time,sxr.data(:,i),gdat_data.t,gdat_data.gdat_params.fit_tension); end -- GitLab