Azzera filtri
Azzera filtri

How to use print in a parfor

11 visualizzazioni (ultimi 30 giorni)
meghannmarie
meghannmarie il 23 Ago 2021
Commentato: Walter Roberson il 19 Gen 2023
Whenever I am using print inside a parfor, I get some all black images. How do I fix this?
Here is a snippet of code and I attached the variables figs and output_files (I had to make them way smaller to upload).
Thanks!!
load('variables.mat')
% output resolution and format
outputDPI = '-r900';
outputFmt = '-dpng';
parfor f = 1:numel(figs)
figure1 = figs{f};
output_file = output_files{f};
if ~isempty(figure1)
opengl software
set(groot, 'DefaultFigureRenderer', 'painters');
print(figure1, output_file, outputFmt, outputDPI);
close(figure1);
end %if ~isempty(figure1)
end %for f = 1:numel(figs)
  4 Commenti
Alvaro
Alvaro il 19 Gen 2023
I am getting this error when using parfor
Error using print
Functionality not supported with figures created with the uifigure function.
and this error when using for
Error using checkArgsForHandleToPrint
Handle input argument contains nonhandle values.
Error in checkArgsForHandleToPrint
Error in print>LocalCreatePrintJob (line 101)
handles = checkArgsForHandleToPrint(0, varargin{:});
Error in print (line 38)
[pj, inputargs] = LocalCreatePrintJob(varargin{:});
In any case, would just running this in serial work out? Or are you trying to speed up the rendering?
Walter Roberson
Walter Roberson il 19 Gen 2023
WIth your actual data file, please execute
cellfun(@(C) isprop(C,'isUIFigure'), figs)
and see if some of them show up as 1 . Any entries that show up as 1 correspond to uifigures -- uifigure have that property but traditional figure do not have that property.

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Graphics Performance in Help Center e File Exchange

Prodotti


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by