You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-15Lines changed: 9 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,15 +53,10 @@
53
53
54
54
## Overview
55
55
56
-
**PICA (Python-based Instrument Control and Automation)** is a software suite designed to provide a robust framework for automating laboratory instruments in materials science and condensed matter physics research. The suite features a central graphical user interface (GUI), the **PICA Launcher**, which serves as a dashboard for managing and executing a variety of characterization experiments.
57
-
58
-
A key architectural feature is the use of **isolated process execution** for each measurement module via Python's `multiprocessing` library. This ensures high stability, prevents inter-script conflicts, and allows the main dashboard to remain responsive during long-running experiments.
59
-
60
-
> **⚠️ Important Note on Testing & Validation**
61
-
>
62
-
> This software is actively used for daily laboratory measurements and has been verified on physical instruments (Keithley, Lakeshore, etc.).
63
-
>
64
-
> Recently, significant updates were made to the codebase to integrate **Automated CI/CD Testing** (simulations and logic checks). While these automated tests pass successfully, the refactoring required for them may have introduced subtle timing or hardware-specific regressions. **A comprehensive round of manual validation on the physical instruments is currently underway** to ensure full operational stability.
56
+
PICA (Python-based Instrument Control and Automation) is a modular, open-source software suite specifically designed to automate complex characterisation experiments and provide a robust framework for automating laboratory instruments in materials science and condensed matter physics research.
57
+
Developed to operate as a custom laboratory-built measurement system, PICA provides a unifying graphical user interface (GUI) for orchestrating high-precision instruments, specifically Keithley SourceMeters/Nanovoltmeters, Lakeshore Temperature Controllers, and Keysight LCR Meters. The suite regulates the cryogenic environment to perform automated protocols such as temperature-dependent resistivity, current-voltage (I-V) characteristics, and pyroelectric current measurements.
58
+
The suite features a central graphical user interface (GUI), the **PICA Launcher**, which serves as a dashboard for managing and executing a variety of characterisation experiments. Built to streamline data acquisition and enhance experimental reproducibility, PICA leverages Python's `multiprocessing` library to ensure high stability by isolating each measurement process.
59
+
.
65
60
66
61
---
67
62
@@ -92,10 +87,9 @@ The core design philosophy of PICA is the separation of concerns, implemented th
92
87
---
93
88
94
89
## Core Features
95
-
90
+
-**Modular Design:** Each experimental setup is a self-contained module, making the codebase easy to extend.
96
91
-**Centralized Control Dashboard:** A comprehensive GUI for launching all measurement modules.
97
92
-**Integrated VISA Instrument Scanner:** An embedded utility for identifying and troubleshooting GPIB/VISA connections via the NI-VISA backend.
98
-
-**Modular Design:** Each experimental setup is a self-contained module, making the codebase easy to extend.
99
93
-**Embedded Documentation:** In-application viewer for technical manuals and project guides.
100
94
-**System Console Log:** A real-time logging system that provides status updates and error diagnostics.
101
95
@@ -143,7 +137,7 @@ PICA is now structured as a standard Python package. Follow these steps to insta
143
137
pip install -e .
144
138
```
145
139
146
-
## 🖥️ Running the Software
140
+
## ��️ Running the Software
147
141
148
142
You can now run PICA in two modes: the standard Graphical User Interface (GUI) or the new Command Line Interface (CLI) for headless operation.
149
143
@@ -161,7 +155,7 @@ You can now run PICA in two modes: the standard Graphical User Interface (GUI) o
161
155
162
156
---
163
157
164
-
## 🧪 Running Tests
158
+
## �� Running Tests
165
159
166
160
This repository includes a robust test suite using `pytest`. It mocks hardware interactions and GUI components, allowing the logic to be verified in a headless environment (CI).
167
161
@@ -189,7 +183,7 @@ To run the tests locally:
189
183
190
184
PICA has evolved from a collection of offline utility scripts into a modular software suite. The development timeline highlights the shift from manual instrument handling to a fully automated, asynchronous control system.
191
185
192
-
>**📜 Project Lore:** For a detailed chronological log of the project's development history, including the offline prototyping phase and specific version changelogs, please refer to [`Change_Logs.md`](Change_Logs.md).
186
+
>**�� Project Lore:** For a detailed chronological log of the project's development history, including the offline prototyping phase and specific version changelogs, please refer to [`Change_Logs.md`](Change_Logs.md).
193
187
194
188
---
195
189
[1.0.1] - 2025-12-02 (Current)
@@ -232,7 +226,7 @@ This period marked the transition to the **GUI-Backend isolated architecture**.
232
226
233
227
---
234
228
235
-
## 📚 Resources & Documentation
229
+
## �� Resources & Documentation
236
230
237
231
* **User Manual:** Detailed setup and troubleshooting guides are available in [docs/User_Manual.md](docs/User_Manual.md).
238
232
* **Instrument Manuals:** Original PDF manuals for the supported hardware are located in `assets/Manuals/`.
0 commit comments