From c49d196e3a4a1f131ef82602a79db057903bc974 Mon Sep 17 00:00:00 2001 From: Florian Vollrath Date: Tue, 24 Apr 2018 08:37:03 +0200 Subject: [PATCH] added a script for import, alignement and export of stack data --- realignementScript.m | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 realignementScript.m diff --git a/realignementScript.m b/realignementScript.m new file mode 100644 index 0000000..890754a --- /dev/null +++ b/realignementScript.m @@ -0,0 +1,50 @@ +%% Paramters +%input file +inFileGren = 'D:\data\BelenTestData\Out\complete_g.tif'; +inFileRed = 'D:\data\BelenTestData\Out\complete_g.tif'; + +%oiutput file +outFileGreen = 'D:\data\BelenTestData\Out\complete_g_Grealigned.tif'; +outFileRed = 'D:\data\BelenTestData\Out\complete_g_Rrealigned.tif'; + +%Apply Gaussian Filter before correction? +bGaussian = 0; + +%reference channels +referenceChannel = 1; %1: red, 0: green +numShiftCorrections = 1; + +nSubIm = 200;%number of subImages for med align +numImages = 50; %number of images that will be meaned for global shift correction +%% Load data and perform correction +data_r = loadtiff(inFileRed); +data_g = loadtiff(inFileGren); + +for j = 1:numShiftCorrections + if referenceChannel + referenceChannelData = data_r; + else + referenceChannelData = data_g; + end + + if bGaussian + for f=1:size(referenceChannelData,3) + referenceChannelData(:,:,f) = imgaussfilt(referenceChannelData(:,:,f),2); + end + end + + %Med Align + [rs, cs] = medAlign(referenceChannelData, nSubIm, 50, -inf); + %shift red and green channel + %waitbar(j/numShiftCorrections, wb, 'Performing Med Align..'); + for i = 1:size(data_g,3) + data_r(:,:,i) = circshift(data_r(:,:,i),[rs(i),cs(i)]); + data_g(:,:,i) = circshift(data_g(:,:,i),[rs(i),cs(i)]); + end +end + +%% Exort Data + +saveastiff(data_r, outFileRed); +saveastiff(data_g, outFileGreen); +