Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
yudgugger committed Jun 26, 2024
2 parents 73beb46 + 810cfa7 commit 83d02cd
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions doc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<p align="justify" width="100%">
In the case you use this library for your work, please think about citing it: <br>
&#8226 H. Valloire, P. Quéméré, N. Vaxelaire, H. Kuentz, G. Le Rhun, Ł. Borowik, "Enhancing ferroelectric characterization at nanoscale: A comprehensive approach for data processing in spectroscopic piezoresponse force microscopy", J. Appl. Phys, 21 May 2024, 135 (19): 194101, DOI: <a href="https://doi.org/10.1063/5.0197226">https://doi.org/10.1063/5.0197226</a> <br>
&#8226 Hugo Valloire, Patrick Quemere, 2024, May 22, PySSPFM (Version 2024.06).
&#8226 Hugo Valloire, Patrick Quemere, 2024, May 22, PySSPFM (Version 2024.07).
</p>

<div id="table-of-contents" style="text-align: justify;">
Expand Down Expand Up @@ -352,6 +352,7 @@ The <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/tree/main/examples"
<ul align="justify" width="100%">
<li><code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/examples/utils/nanoloop/ex_phase.py">examples/utils/nanoloop/ex_phase.py</a></code>.</li>
<li><code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/examples/toolbox/ex_vector_clustering.py">examples/toolbox/ex_vector_clustering.py</a></code>.</li>
<li><code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/examples/toolbox/ex_clustering_inertia.py">examples/toolbox/ex_clustering_inertia.py</a></code>.</li>
<li><code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/examples/toolbox/ex_global_map_reader.py">examples/toolbox/ex_global_map_reader.py</a></code>.</li>
<li><code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/examples/toolbox/ex_list_map_reader.py">examples/toolbox/ex_list_map_reader.py</a></code>.</li>
<li><code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/examples/toolbox/ex_map_correlation.py">examples/toolbox/ex_map_correlation.py</a></code>.</li>
Expand Down Expand Up @@ -503,7 +504,8 @@ A default data processing path management is provided, but the user has the opti
<p align="justify" width="100%">
Following the first processing step (see section <a href="https://github.com/CEA-MetroCarac/PySSPFM/tree/main/doc#iv---first-step-of-data-analysis">IV) - First step of data analysis</a> of the documentation), by default, a new directory is created at the same root as the input data folder, with the nomenclature: <code>'initial_file_name'_'yyyy-mm-dd-HHh-MMm'_out_'processing_type'</code>. This directory itself contains two subdirectories, <code>figs</code> and <code>nanoloops</code>, and a text file, <code>parameters.txt</code>.
<ul align="justify" width="100%">
<li>The <code>parameters.txt</code> text file saves all the measurement parameters initially present in the measurement form, along with parameters and information about the first measurement processing step. It is generated by the function <code>save_parameters</code> of the script <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/datacube_to_nanoloop/file.py">utils/datacube_to_nanoloop/file.py</a></code>.</li>
<li>Processing parameters for the 1st step are stored in a JSON file named <code>datacube_to_nanoloop_s1_params.json</code>, created with <code>create_json_res</code> or <code>copy_json_res</code> function of the script <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/path_for_runable.py">PySSPFM/utils/path_for_runable.py</a></code></li>
<li>Measurement parameters are contained in the csv measurement sheet that is copied into the result folder</li>
<li>The <code>figs</code> directory contains all the figures generated during the first step, including various graphical representations of the raw data and segments managed by the <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/datacube_to_nanoloop/plot.py">utils/datacube_to_nanoloop/plot.py</a></code> script, phase histograms used for calibration managed by the <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/nanoloop/phase.py">utils/nanoloop/phase.py</a></code> script, and phase, amplitude, piezoresponse and eventually resonance frequency and quality factor nanoloops managed by the <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/nanoloop/plot.py">utils/nanoloop/plot.py</a></code> scripts.</li>
<li>The <code>nanoloops</code> directory contains the processed data following the first step of processing in the extracted measure of amplitude, phase and eventually resonance frequency nanoloops, eventually with uncertainties as a function of polarization voltage, both in off and on field modes, for each measurement file. It can also contain scalar information associated with the segment (topography, adhesion, calculated phase offset ...). This directory is generated using the functions <code>sort_nanoloop_data</code> and <code>save_nanoloop_file</code> of the script located in <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/nanoloop/file.py">utils/nanoloop/file.py</a></code>.</li>
</ul>
Expand All @@ -519,7 +521,7 @@ Following the first processing step (see section <a href="https://github.com/CEA
<p align="justify" width="100%">
Following the second stage of processing (see section <a href="https://github.com/CEA-MetroCarac/PySSPFM/tree/main/doc#vi---second-step-of-data-analysis">VI) - Second step of data analysis</a> of the documentation), the processing folder is augmented as follows:
<ul align="justify" width="100%">
<li>The text file <code>parameters.txt</code> enriched with parameters and information pertaining to the second stage of measurement processing. This stage is conducted by the function <code>complete_parameters</code> of the script <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/nanoloop_to_hyst/file.py">utils/nanoloop_to_hyst/file.py</a></code>.</li>
<li>Processing parameters for the 2nd step are stored in a JSON file named <code>nanoloop_to_hyst_s2_params.json</code>, created with <code>create_json_res</code> or <code>copy_json_res</code> function of the script <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/path_for_runable.py">PySSPFM/utils/path_for_runable.py</a></code></li>
<li>The <code>figs</code> directory houses the visual representations generated during the second stage of processing, encompassing off and on field hysteresis with fitting and parameter extraction, along with the extraction of the artifact-related component through multiple protocols. This stage is executed by the script <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/nanoloop_to_hyst/plot.py">utils/nanoloop_to_hyst/plot.py</a></code>.</li>
<li>A new <code>properties</code> folder contains all material properties measured for each measurement file, both in on field and off field conditions, as well as in differential (or coupled) and other measurements. The data is recorded using the function <code>save_properties</code> of the script <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/nanoloop_to_hyst/file.py">utils/nanoloop_to_hyst/file.py</a></code>. These properties are extracted during the hysteresis fitting stage and artifact analysis, accomplished by the scripts <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/nanoloop_to_hyst/analysis.py">utils/nanoloop_to_hyst/analysis.py</a></code> and <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/nanoloop_to_hyst/electrostatic.py">utils/nanoloop_to_hyst/electrostatic.py</a></code>, respectively.</li>
<li>A <code>best_nanoloops</code> directory that contains the singular nanoloop for each mode (on field and off field) per measurement file. The data is recorded using the function <code>save_best_nanoloops</code> of the script <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/nanoloop_to_hyst/file.py">utils/nanoloop_to_hyst/file.py</a></code>.</li>
Expand All @@ -534,7 +536,7 @@ Following the second stage of processing (see section <a href="https://github.co
</p>

<p align="justify" width="100%">
For each script in the toolbox, it is possible to save the analysis conducted. Using function <code>save_path_management</code> of the script <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/path_for_runable.py">PySSPFM/utils/path_for_runable.py</a></code>, a <code>toolbox</code> folder is then created within the processing directory. This folder comprises a set of subdirectories, one for each toolbox treatment, following the nomenclature: <code>'tool_used'_'yyyy-mm-dd-HHh-MMm'</code>. Each of these directories contains the figures generated during the analysis performed by the respective tool, along with a text file <code>user_params.txt</code> generated by the function <code>save_user_pars</code> of the script <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/path_for_runable.py">PySSPFM/utils/path_for_runable.py</a></code> that maintains a record of the parameters employed for the analysis.
For each script in the toolbox, it is possible to save the analysis conducted. Using function <code>save_path_management</code> of the script <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/path_for_runable.py">PySSPFM/utils/path_for_runable.py</a></code>, a <code>toolbox</code> folder is then created within the processing directory. This folder comprises a set of subdirectories, one for each toolbox treatment, following the nomenclature: <code>'tool_used'_'yyyy-mm-dd-HHh-MMm'</code>. Each of these directories now includes the figures generated during the analysis performed by the respective tool. Additionally, processing parameters are stored in a JSON file, created with <code>create_json_res</code> or <code>copy_json_res</code> function of the script <code><a href="https://github.com/CEA-MetroCarac/PySSPFM/blob/main/PySSPFM/utils/path_for_runable.py">PySSPFM/utils/path_for_runable.py</a></code>.
</p>

<p align="justify" width="100%">
Expand Down Expand Up @@ -2169,7 +2171,7 @@ The entire assemblage of scripts under the <code><a href="https://github.com/CEA
<h2>References</h2>
<span id="ref1">&#8226 [1] Jesse, Stephen, Arthur P. Baddorf, and Sergei V. Kalinin. “Switching Spectroscopy Piezoresponse Force Microscopy of Ferroelectric Materials.” Applied Physics Letters 88, no. 6 (February 6, 2006): 062908. https://doi.org/10.1063/1.2172216.</span><br>
<span id="ref2">&#8226 [2] Olivier Scholder. (2019). scholi/pySPM v0.2.20 (v0.2.20). Zenodo. https://doi.org/10.5281/zenodo.2650457.</span>
<span id="ref3">&#8226 [3] Suhas Somnath, CompPhysChris, ramav87, Numan Laanait, Rajiv Giridharagopal, Maxim Ziatdinov, Mani, str-eat, Gerd Duscher, Carlo, anugrah-saxena, Ondrej Dyck, Jessica Kong, Liambcollins, Enrique A. Lopez-Guerra, Ajinkya Kulkarni, Kavin Teenakul, Magnus Nord, & zhangxinqiao314. (2023). pycroscopy/pycroscopy: 0.63.2 (v0.63.2). Zenodo. https://doi.org/10.5281/zenodo.8229615.</span>
<span id="ref3">&#8226 [3] Suhas Somnath, CompPhysChris, ramav87, Numan Laanait, Rajiv Giridharagopal, Maxim Ziatdinov, Mani, str-eat, Gerd Duscher, Carlo, anugrah-saxena, Ondrej Dyck, Jessica Kong, Liambcollins, Enrique A. Lopez-Guerra, Ajinkya Kulkarni, Kavin Teenakul, Magnus Nord, & zhangxinqiao314. (2023). pycroscopy/pycroscopy: 0.63.2 (v0.63.2). Zenodo. https://doi.org/10.5281/zenodo.8229615.</span><br>
<span id="ref4">&#8226 [4] : Huang, Boyuan, Ehsan Nasr Esfahani, and Jiangyu Li. “Mapping Intrinsic Electromechanical Responses at the Nanoscale via Sequential Excitation Scanning Probe Microscopy Empowered by Deep Data.” National Science Review 6, no. 1 (January 1, 2019): 55–63. https://doi.org/10.1093/nsr/nwy096.</span><br>
<span id="ref5">&#8226 [5] : Rodriguez, Brian J, Clint Callahan, Sergei V Kalinin, and Roger Proksch. “Dual-Frequency Resonance-Tracking Atomic Force Microscopy.” Nanotechnology 18, no. 47 (November 28, 2007): 475504. https://doi.org/10.1088/0957-4484/18/47/475504.</span><br>
<span id="ref6">&#8226 [6] : Gannepalli, A, D G Yablon, A H Tsou, and R Proksch. “Mapping Nanoscale Elasticity and Dissipation Using Dual Frequency Contact Resonance AFM.” Nanotechnology 22, no. 35 (September 2, 2011): 355705. https://doi.org/10.1088/0957-4484/22/35/355705.</span><br>
Expand Down

0 comments on commit 83d02cd

Please sign in to comment.