diff --git a/matlab/+SSF/drawKymosCondition.m b/matlab/+SSF/drawKymosCondition.m
new file mode 100644
index 0000000000000000000000000000000000000000..45ad1431d0830388a0a22dce1cca806aa14349d6
--- /dev/null
+++ b/matlab/+SSF/drawKymosCondition.m
@@ -0,0 +1,108 @@
+% % ROOT = '/g/leverjs/Olivier/Agne/march_2023_20x/';
+% ROOT = '/g/leverjs/Olivier/Agne/2022-06-03_48h-depr-transcr-drugs/';
+% % ROOT = '/g/leverjs/Olivier/Agne/2023-03-25_DHB-proliferation-setup2/';
+% kymo_dir = fullfile(ROOT,'kymo_downsize');
+% flist = dir(fullfile(kymo_dir,'*.LEVER'));
+% 
+% % for treatment (tx)
+% tblClasses = readtable('../transcr-drugs/expDescr-2022-06-03.xlsx');
+% classList = tblClasses.Cell_Type;
+% % for steady state (ss)
+% % classList = get_ssClasses(flist);
+% % for DHB
+% % tblClasses = readtable('../DHB/expDescr-2023-03-25.csv');
+% % classList = tblClasses.Cell_Type;
+% 
+% % outfile = 'dhb_erk_kymos_condition.pdf';
+% outfile = 'tx_erk_kymos_condition.pdf';
+% 
+% cbLabel = 'ERK SSF';
+% targetChannels = 1;
+function drawKymosCondition(flist,classList,labelNames,outfile,cbLabel,targetChannels,stride)
+
+xClasses = unique(classList);
+
+nKeep = 0;
+clipRange = [2.5,97.5];
+clipLimits = SSF.getClipLimits(flist,targetChannels,clipRange,nKeep);
+
+xyim = []; % one per flist
+for cc = 1:length(xClasses)
+    idxCC = find(strcmp(classList,xClasses(cc)));
+    flistCC = flist(idxCC);
+    clf;imCC = {};
+    for ff = 1:length(flistCC)        
+        fname = fullfile(flistCC(ff).folder,flistCC(ff).name);
+        imq = SSF.draw_ssf_kymo(fname,targetChannels,clipLimits,nKeep);         
+        szim(ff,:) = size(imq);
+        imq(:,1) = 0; imq(:,end) = 0;
+        imq(1:2,:) = 0; imq(end-1:end,:) = 0;
+        row = ceil(ff/stride);
+        col = 1 + mod(ff-1,stride);
+        if 1 == col
+            imCC{row} = [];        
+        elseif size(imq,1) ~= size(imCC{row},1)
+            imq = imresize(imq,[size(imCC{row},1),NaN]);            
+        end
+        imCC{row} = [ imCC{row}, imq];
+    end
+    sz = cellfun(@size,imCC,'UniformOutput',false);
+    sz = vertcat(sz{:});
+    if size(sz,1)>1
+        sz = max(sz);
+    end
+    for i = 1:length(imCC)
+        if size(imCC{i},2) < sz(2)
+            imCC{i}(end,sz(2)) = 0;
+        end
+    end
+    ccLabels= labelNames(idxCC);
+    imMontage = vertcat(imCC{:});
+    clf;imagesc(imMontage) ; hold on  
+    axis off    
+    % label movies
+    for ff = 1:length(flistCC)
+        row = ceil(ff/stride);
+        col = 1 + mod(ff-1,stride);
+        if 1 == col
+            x = 1;
+        end
+        
+        y = (row-1) * szim(ff,1);        
+        plot([x,x+szim(ff,2)],[y,y],'-k');
+        plot([x,x+szim(ff,2)],[y+szim(ff,1),y+szim(ff,1)],'-k');
+        plot([x,x],[y,y+szim(ff,1)],'-k')
+        % don't draw to your right...
+%         plot([x+szim(ff,2),x+szim(ff,2)],[y,y+szim(ff,1)],'-k')
+        text(x,y,ccLabels{ff},'Interpreter','none','FontSize',6,'BackgroundColor',[0.8,0.8,0.8,0.5],...
+            'VerticalAlignment','top');
+        x = x + szim(ff,2);
+%         date_movie = regexp(flistCC(ff).name,'(\d{4}-\d{2}-\d{2}).+_(\d{2})','tokens');
+%         text(x,y,[date_movie{1}{1} '_' date_movie{1}{2}],'Interpreter','none','FontSize',6,'BackgroundColor',[0.8,0.8,0.8,0.5]);
+%         plot([x+62,x+62],[y+5,y+size(imq,1)-5],'-r')
+%         treatment = regexp(tblCC.Treatment{ff},'(.*)\w*(','tokens');
+%         text(x+30,y+20,[date_movie{1}{1} '_' date_movie{1}{2} ' :: ' treatment{1}{1}],'Interpreter','none','FontSize',6,'BackgroundColor',[0.8,0.8,0.8,0.7]);
+    end
+    
+    % set background (index 0, colormap(1)) to white
+    cm = parula();    
+    cm(1,:) = [1,1,1];
+    colormap(cm);
+    axis on
+    set(gca,'xtick',[]);
+    set(gca,'ytick',[]);
+    ylabel('xy \Downarrow x');
+    xlabel('time');
+    fx = strfind(flist(ff).name,'.LEVER');
+    fx = fx(1)-1;    
+    title(xClasses{cc},'Interpreter','none');
+    tick_labels = round(linspace(clipLimits(1),clipLimits(2),5),2);
+    cb = colorbar('Ticks',[1,64,128,192,255],'TickLabels',tick_labels);
+    cb.Label.String = cbLabel;
+    if 1 == cc
+        exportgraphics(gcf,outfile);
+    else
+        exportgraphics(gcf,outfile,'Append',true);
+    end
+end
+    
\ No newline at end of file