10 obj.pixelPitch = 0.008; %mm
12 obj.phaseMax=2; %Maximale Phase [*pi]
17 %Code wurde aus Beispieldateien des Herstellers übernommen
23 % Check if the installed SDK supports the required API version
24 heds_requires_version(2);
26 % Make some enumerations available locally to avoid too much code:
28 obj.displayOptions = heds_showflags.Auto;
31 % Detect SLMs and open a window on the selected
SLM:
34 % Open the
SLM preview window (might have an impact on performance):
40 obj.showBlankScreen();
43 function disconnect(obj)
44 %Code aus Beispielprogramm des Herstellers übernommen
45 obj.showBlankScreen();
47 obj.connected =
false;
50 function sendImage(obj,image)
51 image = rot90(image,2);
52 image =
ResizeImage(image,obj.pixelY,obj.pixelX,obj.resizeBehaviour);
53 image =
OffsetImage(image,obj.displacementX,obj.displacementY,obj.pixelPitch);
54 %
#Anpassungsbefehle in Klassenmethode SLM?
55 heds_show_phasevalues(single(image*2*pi));%Übertragung der Matrix an den
SLM
59 function showBlankScreen(obj)
61 heds_show_phasevalues(single(zeros(obj.pixelX,obj.pixelY))); %Übertragung leerer Matrix an den
SLM
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.
Property active
zeigt an, ob gerade Bild angezeigt wird
function show_slm_preview(in scale)