From 127e80e8c5e1029f545e1edf560cf3eba28a9d0a Mon Sep 17 00:00:00 2001
From: Olivier Sauter <olivier.sauter@epfl.ch>
Date: Mon, 24 Jun 2024 17:25:07 +0200
Subject: [PATCH] add comments to follow freq and time_out requests for radcam

---
 matlab/TCV/gdat_tcv.m | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m
index 15096593..7c142481 100644
--- a/matlab/TCV/gdat_tcv.m
+++ b/matlab/TCV/gdat_tcv.m
@@ -3434,31 +3434,41 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         gdat_data.x(end+1:end+numel(gdat_data.(gdat_data.gdat_params.camera{i}).x)) = gdat_data.(gdat_data.gdat_params.camera{i}).x;
       end
       sxr = rc_load_diodes(shot,'diag_name',"sxr",'channels',gdat_data.x); % since all cameras with different channel number
+      % for "heavy" signals, can trim it to specified time_interval and/or reduce it to smaller nb points
       if freq_opt == 1
+        % default, fast/raw time array
         if ~isempty(time_interval)
           if numel(time_interval) == 2
+            % extract data within [time_interval(1: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
+            % time_out array provided to obtain data, use closest points (since raw data on fast frequency)
             ij = iround_os(sxr.time,time_interval);
             gdat_data.data = sxr.data(ij,:)';
             gdat_data.t = sxr.time(ij);
           end
         else
+          % raw data requested (default), no time_out provided
           gdat_data.data = sxr.data';
           gdat_data.t = sxr.time;
         end
       else
+        % slower frequency requested (or smoothed interpolation using interpos)
         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));
+            % construct a default 40kHz time base within time_interval(1:2)
+            gdat_data.t = linspace(time_interval(1),time_interval(2),round((time_interval(2)-time_interval(1))/0.25e-4));
           else
+            % time array provided
             gdat_data.t = time_interval;
           end
         else
+          % construct a default 40kHz time base within full raw time interval
           gdat_data.t = linspace(sxr.time(1),sxr.time(end),round((sxr.time(end)-sxr.time(1))/0.25e-4));
         end
+        % compute interpolation with tension provided
         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