13 %Auslesen der Bildschirmauflösung und Farbtiefe
14 %
##holt immer nur die Auflösung des ersten Bildschirms
15 set(0,
'units',
'pixels')
16 screenRes = get(0,'screensize');
17 set(0,'units','inches');
18 screenSize = get(0,'screensize').*25.4;
19 set(0,'units','pixels');
20 pitch = screenSize./screenRes;
22 obj.pixelX = screenRes(3);
23 obj.pixelY = screenRes(4);
24 obj.pixelPitch = pitch(3); %mm
25 obj.grayLevels =2^(get(0,'ScreenDepth'));
26 obj.phaseMax=2; %Maximale Phase [*pi]
31 %Verbinden nicht nötig, da Bildschirm immer gefunden wird
35 function disconnect(obj)
41 function sendImage(obj,image)
42 % Image Matrix mit Werten von 0-1.
43 image = transpose(image);
44 image =
ResizeImage(image,obj.pixelX,obj.pixelY,obj.resizeBehaviour);
45 image =
OffsetImage(image,obj.displacementX,obj.displacementY,obj.pixelPitch);
46 %
#Anpassungsbefehle in Klassenmethode SLM?
48 ShowOnScreen(image,obj.activeScreen); %Anzeigen des Bildes als Vollbild
52 function showBlankScreen(obj)
53 obj.sendImage(zeros(obj.pixelX,obj.pixelY));
function OffsetImage(in input, in x, in y, in pixelPitch)
Verschiebt eine Matrix um einen Abstand x,y und füllt die Ränder mit Nullen auf.
function ResizeImage(in input, in x, in y, in mode)
Passt ein Bild an eine andere Auflösung an. Verschiedene Anpassungsoptionen wählbar.
function ShowOnScreen(in image, in n)
Gibt eine Matrix im Großformat auf einem der an den PC angeschlossen Bilschirme aus Dient als Vorschau...