4 properties (Access =
public)
15 addDisplacementCorrection =
true;
16 displacementX = 0; %mm
17 displacementY = 0; %mm
18 angleCalibrationFactor = 1;
19 lensCalibrationFactor = 1;
22 resizeBehaviour = 'stretch';
27 framerate_mode = 'fixed'; %'fixed', 'fromFile' %Anzeigedauer der Bilder: Fixed = Fester Wert '1/Framerate'; fromFile = Die Anzeigedauer wird einer Datei entnommen, de während der Hologrammberechnung erzeugt wird.
29 controlLaserEmission =
false;
48 function loadVideo(obj,folder)
51 obj.videoFolder = folder;
53 files = dir(obj.videoFolder); %Alle Dateien aus Liste auslesen
59 path = strcat(obj.videoFolder,
'\',names{1,i});%Achtung, andere Schreibweise, da Typ Cell
60 %Prüfen, ob Bilddatei vom Typ png,jpg oder bmp ist, alle anderen Dateien ignorieren
62 if(extractBetween(path,strlength(path)-2,strlength(path))==
"png" || ...
63 extractBetween(path,strlength(path)-2,strlength(path))==
"bmp" ||...
64 extractBetween(path,strlength(path)-2,strlength(path))==
"jpg")
65 obj.imgList = [obj.imgList; string(path)];
70 %Bild vom
SLM löschen und aktuelles Bild zurücksetzen
72 obj.showBlankScreen();
75 function playVideo(obj)
78 %Erst Anzeigedauern laden
80 if (obj.framerate_mode == "fixed")
81 displayTime = ones(size(obj.imgList))./obj.framerate;
83 elseif(obj.framerate_mode == "fromFile")
84 disp("Method not implemented yet");
90 for loop = 1:1:obj.loops
91 for n = 1:1:size(obj.imgList)
93 %
#Fehlermeldung, wenn kein Laser verbunden
94 obj.sendImage(single(imread(obj.imgList(n)))./255);
95 if(obj.controlLaserEmission)
96 setWS(
'Laser',
'timer',displayTime(n));%#nicht schön gelöst
97 evalin(
'base',
'Laser.laserTime(Laser.timer);');%Schaltet den
Laser ein
101 obj.actualImageNo = n;
107 function sendImageNo(obj)
108 if(obj.actualImageNo == 0)
109 obj.showBlankScreen();
111 obj.sendImage(single(imread(obj.imgList(obj.actualImageNo)))./255);
112 %imshow(obj.imgList(obj.actualImageNo));
Property actualImageNo
Index des aktuell angezeigten Bildes in der 'imgList'.
function setWS(in field, in param, in value)