Skip to content

Commit 87d0821

Browse files
Sirs suggetions applied v4
1 parent 994e892 commit 87d0821

1 file changed

Lines changed: 20 additions & 4 deletions

File tree

paper/paper.md

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,34 @@ bibliography: paper.bib
2929

3030
# Summary
3131

32-
PICA (Python-based Instrument Control and Automation) is a modular, open-source software suite designed to automate complex characterisation experiments in condensed matter physics. PICA is designed as a versatile framework capable of operating on any standard laboratory workstation. It provides an extensible unified graphical user interface (GUI) for orchestrating high-precision instruments, specifically Keithley SourceMeters/Nanovoltmeters, Lakeshore Temperature Controllers, and Keysight LCR metres. The suite controls temperature setpoints to perform automated protocols, including temperature-dependent resistivity, current-voltage (I-V) characteristics, and pyroelectric current measurement.
32+
PICA (Python-based Instrument Control and Automation) is a modular, open-source software suite designed to automate complex characterisation experiments in condensed matter physics. PICA is designed as a versatile framework capable of operating on any standard laboratory workstation.
33+
It provides an extensible unified graphical user interface (GUI) for orchestrating high-precision instruments, specifically source-measure units, nanovoltmeters, temperature controllers, and LCR metres.
34+
35+
The suite supports characterisation across a vast resistance range of 24 orders of magnitude (10 nΩ to 10 PΩ) and orchestrates measurements under varying magnetic fields and temperatures.
36+
Python was chosen for its free, open source nature, cross-platform capabilities, and extensive ecosystem of over 100,000 packages, offering a powerful, community-supported alternative to licensed commercial software for instrument control.
37+
38+
By utilising threading and multiprocessing capabilities, PICA ensures that the entire hardware ecosystem functions as a single cohesive unit. This allows the system to perform automated protocols, including temperature-dependent resistivity current voltage (I-V) characterisation and pyroelectric current measurement, without requiring physical reconfiguration of the measurement setups.
39+
3340

3441
# Statement of need
3542

36-
Advancements in experimental physics depend on the precise characterisation of material properties under extreme physical conditions. Researchers have to choose between expensive proprietary software like LabVIEW or developing a custom measurement script from scratch. While powerful ecosystem libraries such as PyVISA [@grecco2023pyvisa] and PyMeasure [@pymeasure_2025] provide the foundational drivers for instrumental communication, they are fundamentally software libraries that require the user to write and maintain code. This creates a technical barrier for researchers who lack programming expertise. PICA addresses this gap by functioning as a turnkey application rather than a library. It offers a "ready-to-run" graphical interface that abstracts the underlying control logic, allowing the experimentalist to focus on data acquisition without the need to develop custom software scripts for the supported hardware configurations.
43+
Advancements in experimental physics depend on the precise characterisation of material properties under extreme physical conditions. Researchers have to choose between expensive proprietary visual programming software or developing a custom measurement script from scratch.
44+
45+
While powerful ecosystem libraries such as PyVISA [@grecco2023pyvisa] and PyMeasure [@pymeasure_2025] provide the foundational drivers for instrumental communication, they are fundamentally software libraries that require the user to write and maintain code. This creates a technical barrier for researchers who lack programming expertise. PICA addresses this gap by functioning as a turnkey application rather than a library. It offers a "ready-to-run" graphical interface that abstracts the underlying control logic, allowing experimentalists to focus on data acquisition without needing to develop custom software scripts for the supported hardware configurations.
46+
47+
The software was specifically developed to control a multifunctional, custom-designed probe inserted into the Physical Property Measurement System (PPMS), enabling fully user-defined measurement protocols across the temperature range of 5 K to 350 K. It eliminates the need to alter the measurement setup for full characterisation, handling everything from Delta mode (low resistance) to high impedance electrometry. The primary goal of PICA was to facilitate the precise characterisation of materials ranging from low-noise superconductors to high-band gap insulators (covering 24 orders of magnitude in resistance) using a single unified framework.
48+
49+
The system is currently validated with industry-standard hardware, including the Keithley 6221 Current Source, Keithley 2182 Nanovoltmeter, and Keithley 6517B Electrometer.
50+
51+
While the current implementation drives specific instruments, the underlying framework is universal. Researchers using different hardware models need only replace the specific SCPI commands with their instrument equivalent commands to utilise the suite.
3752

3853
It differentiates itself through the following unique features:
3954

4055
* **Accessibility:** A professional dashboard that allows researchers without coding experience to configure and run a complex measurement protocol immediately using the suite's pre-packaged measurement modules.
4156

4257
* **Physical Validation:** PICA's protocols are actively used for cryogenic transport measurements (80K - 320K) at the UGC DAE Consortium for Scientific Research, Mumbai Centre, validating the software's core architecture in a real-world research environment and providing a stable, tested foundation for the university and researchers to build upon.
4358

44-
* **Process Isolation:** PICA deploys a `multiprocessing` architecture that runs instrumentation control logic in an isolated process. This ensures that hardware timeouts or driver crashes do not freeze the main dashboard, which is a common problem in single-threaded Python scripts.
59+
* **Process Isolation:** PICA deploys a `multiprocessing` architecture that runs instrumentation control logic in an isolated process. This ensures that hardware timeouts or driver crashes do not freeze the main dashboard, a common issue in single-threaded Python scripts.
4560

4661
* **Modular CLI Architecture:** As demonstrated in the repository, measurement modules also contain CLI measurement module counterparts that allow researchers to utilise PICA's measurement protocol and logic for headless automation or integration into other workflows without GUI overhead.
4762

@@ -59,6 +74,7 @@ PICA is built on a modular architecture characterised by self-contained modules,
5974
### Process Isolation and Concurrency
6075

6176
Unlike simple script-based automation, PICA decouples the User Interface (UI) from the instrumentation control logic. It utilises Python's standard 'multiprocessing' libraries to spawn isolated processes for measurement tasks.
77+
6278
* **Stability:** If an instrument hangs or a communication bus times out, the isolated process can be terminated safely without freezing the main GUI or losing previous data.
6379

6480
* **Responsiveness:** The `tkinter`-based frontend remains responsive for live data plotting (using `matplotlib` [@hunter2007matplotlib] with blitting) even while the backend waits for hardware triggers. Numpy [@harris2020numpy] is utilised throughout this pipeline for efficient array manipulation and data validation during real-time updates.
@@ -71,7 +87,7 @@ PICA utilises **PyVISA** [@grecco2023pyvisa] to abstract the low-level communica
7187

7288
1. **Connection Verification:** A built-in "VISA Instrument Scanner" queries the bus (`*IDN?`) to map the connected instrument addresses.
7389

74-
2. **Instrument Reset Protocol:** To eliminate the influence of all previous experiments, any stored data, cache in buffers, and existing settings or configurations, the instruments are explicitly reset, thereby providing a clean initial state before each measurement.
90+
2. **Instrument Reset Protocol:** To eliminate the influence of all previous experiments, all stored data, cache in buffers, and existing settings or configurations are explicitly reset, thereby providing a clean initial state before each measurement.
7591

7692
3. **Graceful Shutdown:** A "Safety Shutdown Routine" logic ensures that sources are ramped down to zero and heaters are disabled safely, even if the software is interrupted unexpectedly.
7793

0 commit comments

Comments
 (0)