diff --git a/CHANGELOG b/CHANGELOG index b8eb750..d1dca04 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,6 @@ 0.13.2 - fix: model parameters defined via expressions were not exported + - fix: only export hidden parameters in developer mode - enh: export ancillary parameters in autosave 0.13.1 - fix: make sure fit parameters are identified by their label diff --git a/docs/sec_interface.rst b/docs/sec_interface.rst index 336aed6..e04a9ea 100644 --- a/docs/sec_interface.rst +++ b/docs/sec_interface.rst @@ -276,3 +276,5 @@ mode. (it is excluded by default, because it is virtually identical to the :ref:`sneddon_spher_approx ` model which is much faster). + - Displays and exports hidden model parameters (parameters whose name + starts with an underscore ``_``). diff --git a/pyjibe/fd/export.py b/pyjibe/fd/export.py index ea85ae8..4e04b34 100644 --- a/pyjibe/fd/export.py +++ b/pyjibe/fd/export.py @@ -6,6 +6,7 @@ from afmformats import meta import nanite.model as nmodel +from PyQt5 import QtCore from .. import units @@ -32,6 +33,10 @@ def save_tsv_metadata_results(filename, fdist_list, which=EXPORT_CHOICES): if np.sum([k not in EXPORT_CHOICES for k in which]): raise ValueError("Found invalid export choices.") + settings = QtCore.QSettings() + settings.setIniCodec("utf-8") + dev_mode = bool(int(settings.value("advanced/developer mode", "0"))) + size = len(fdist_list) columns = OrderedDict() # Metadata @@ -63,6 +68,9 @@ def save_tsv_metadata_results(filename, fdist_list, which=EXPORT_CHOICES): if "params_initial" in fdist.fit_properties: fp = fdist.fit_properties["params_initial"] for ki in fp: + if ki.startswith("_") and not dev_mode: + # ignore hidden parameters in normal mode + continue if not (fp[ki].vary or fp[ki].expr): label, hrvalue = get_unitname_value( name=nmodel.get_parm_name(model_key, ki), @@ -76,6 +84,9 @@ def save_tsv_metadata_results(filename, fdist_list, which=EXPORT_CHOICES): if "params_fitted" in fdist.fit_properties: fp = fdist.fit_properties["params_fitted"] for ki in fp: + if ki.startswith("_") and not dev_mode: + # ignore hidden parameters in normal mode + continue if fp[ki].vary or fp[ki].expr: label, hrvalue = get_unitname_value( name=nmodel.get_parm_name(model_key, ki),