MATLAB: How to return the state of preivew camera

gige vision cameraImage Acquisition ToolboxMATLABpreview

thank you for your help in advance.
Is there something like fopen for gige camera "Preview(g)"?
here is what the code looks like.
Camlist = gigecamlist;
IP = string(Camlist{1,3});
g= gigecam(IP,'PixelFormat','mono8');
g_Res = [g.Width g.Height];
%----------------lines to created figure with tabs-------------------------------------------------------
streamingHandle = uicontrol(tab_ini,'Style','PushButton','String', 'Streaming','Position',[135 10 80 20],'Callback', {@streaming,tab_ini,g_Res,g});
%------------------------------------------------------ callback funtion for push button
function streaming(object_handle,event, tab_ini, g_Res, g)
%% How can i return a value from 'preview(g)' to condition "if"
% if Preview(g) ==1; is opened
% closePreview(g);
% end
dock_tab = axes(tab_ini,'units','pixels','Position',[35,40,g_Res(1),g_Res(2)],'box','on');
nBands = 1; % grey scale
I = image(zeros(g_Res(2),g_Res(1), nBands),'Parent',dock_tab);
preview(g, I);

Best Answer

%avoid warnings about struct() preventing hiding implementation details
old_warning_state = warning('off', 'MATLAB:structOnObject');
gs = struct(g);
gsw = struct(gs.webcamImpl);
gscpc = struct(gsw.CamPreviewController);
warning(old_warning_state);
if gscpc.IsPreviewing
closePreview(g)
end
Note: you cannot do this directly: several of the properties are hidden properties.