From 6be512b12234b9cb12a20d38fb4924e9d8f7ece5 Mon Sep 17 00:00:00 2001 From: "Stephen D. Van Hooser" Date: Thu, 1 Nov 2018 10:21:51 -0400 Subject: [PATCH] fixes problem when individual images are read through preview functions across platforms and machines; see #12 --- ...reviewImageFunctionListGetPreviewImageParams.m | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/TPPreviewImageFunctionService/TPPreviewImageFunctionListGetPreviewImageParams.m b/TPPreviewImageFunctionService/TPPreviewImageFunctionListGetPreviewImageParams.m index f15300c..9bc73c9 100644 --- a/TPPreviewImageFunctionService/TPPreviewImageFunctionListGetPreviewImageParams.m +++ b/TPPreviewImageFunctionService/TPPreviewImageFunctionListGetPreviewImageParams.m @@ -29,6 +29,9 @@ filename = [dirname filesep 'tppreview_' shortname '_ch' int2str(channel) '.mat']; +parentdir = fileparts(dirname); + + goodload = 0; if exist(filename)==2, if frame~=0, @@ -66,6 +69,18 @@ initind = initind + numFrames; end; % params already loaded above + + % chuck the loaded parent path, it might be bogus + for i=1:numel(dirnames), + delimiters = find(dirnames{i} == '/' | dirnames{i} == '\'); % cannot call fileparts because cache might be from different platform + if isempty(delimiters), + delimeters = 0; % there is no path pre-pended + end; + dirnamehere = dirnames{i}(delimiters(end)+1:end); + dirnames{i} = [parentdir filesep dirnamehere]; + end + + pvimg = tpreadframe(dirnames{1},tpfnameparameters{1},ffile(frame,1),channel,ffile(frame,2)); total_frames = length(params{1}.Image_TimeStamp__us_); return;