Source code for scimba_torch.plots.plot_regularized_sdf_projector
"""Plotting functions for regularized sdf projectors."""importmatplotlib.pyplotaspltfromscimba_torch.geometry.regularized_sdf_projectorsimportRegularizedSdfProjectorfromscimba_torch.plots._utils.plots_2dimport_plot_2x_regularized_sdf_projectorfromscimba_torch.plots._utils.plots_3dimport_plot_3x_regularized_sdf_projectorfromscimba_torch.plots.plots_ndimportplot_abstract_approx_space
[docs]defplot_regularized_sdf_projector(rsdfproj:RegularizedSdfProjector,**kwargs,)->None:"""Plot an regularized sdf projector. Args: rsdfproj: the time-discrete solver **kwargs: arbitrary keyword arguments Keyword Args: ...: see examples Implemented only for 2 and 3 dimensional spaces. """ifrsdfproj.geometric_domain.dim==2:sizeofobjects=[4,3]nblines,nbcols=2,3fig=plt.figure(figsize=(sizeofobjects[0]*nbcols,sizeofobjects[1]*nblines),layout="constrained",)subfigs=fig.subfigures(nblines,1,wspace=0.07)plot_abstract_approx_space(rsdfproj.space,# the approximation spacersdfproj.geometric_domain,# the spatial domain[],# the parameter's domainloss=rsdfproj.losses,# for plot of the loss: the lossesresidual=rsdfproj.pde,# for plot of the residual: the pdefig=subfigs[0],**kwargs,)_plot_2x_regularized_sdf_projector(subfigs[1],rsdfproj,**kwargs)elifrsdfproj.geometric_domain.dim==3:sizeofobjects=[4,3]nblines,nbcols=1,3fig=plt.figure(figsize=(sizeofobjects[0]*nbcols,sizeofobjects[1]*nblines),layout="constrained",)_plot_3x_regularized_sdf_projector(fig,rsdfproj,**kwargs)