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
+14-12Lines changed: 14 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@
26
26
27
27
---
28
28
29
-
## Summary
29
+
## Overview
30
30
31
31
High-precision measurements are essential for advancing research in spintronics and materials characterization. **PICA (Python-based Instrument Control and Automation)** is a modular, open-source software suite designed to automate advanced transport measurements for electronic devices and chemical samples. It operates as a versatile framework capable of running on any standard laboratory workstation.
32
32
@@ -49,8 +49,8 @@ The suite performs automated protocols including:
49
49
50
50
## Table of Contents
51
51
52
-
-[Summary](#summary)
53
-
-[Statement of Need](#statement-of-need)
52
+
-[Overview](#overview)
53
+
-[Motivation](#motivation)
54
54
-[Key Features](#key-features)
55
55
-[Design and Implementation](#design-and-implementation)
@@ -63,13 +63,13 @@ The suite performs automated protocols including:
63
63
64
64
---
65
65
66
-
## Statement of Need
66
+
## Motivation
67
67
68
68
Advancements in experimental physics and device manufacturing depend on the precise characterization of material properties under extreme physical conditions. Researchers often face a binary choice: purchase expensive proprietary software or develop custom measurement scripts from scratch.
69
69
70
-
While libraries such as **PyVISA** and **PyMeasure** provide foundational drivers, requiring users to write and maintain low-level code, **PICA builds upon these powerful libraries** to offer a turnkey application. It provides a ready-to-run graphical interface that abstracts the underlying control logic, allowing experimentalists to focus on data acquisition without extensive software development overhead.
70
+
While libraries such as [**PyVISA**](https://github.com/pyvisa/pyvisa) and [**PyMeasure**](https://github.com/pymeasure/pymeasure) provide foundational drivers, requiring users to write and maintain low-level code, **PICA builds upon these powerful libraries** to offer a turnkey application. It provides a ready-to-run graphical interface that abstracts the underlying control logic, allowing experimentalists to focus on data acquisition without extensive software development overhead.
71
71
72
-
PICA enables continuous operation across the full range from Delta-mode low-resistance measurements (removing constant offsets) to high-impedance electrometricmeasurements using a single unified framework.
72
+
PICA enables continuous operation across a full range of measurements, from Delta-mode low-resistance (removing constant offsets) to high-impedance, electrometric, pyroelectric, and capacitance measurements, all within a single, unified framework.
73
73
74
74
## Key Features
75
75
@@ -93,7 +93,7 @@ Unlike simple script-based automation, PICA decouples the User Interface (UI) fr
93
93
***Data Integrity:** A "write on acquisition" strategy using `pandas` saves data to CSV immediately after every acquisition point, preventing data loss during power failures.
94
94
95
95
### Hardware Abstraction Layer
96
-
PICA utilizes **PyVISA** to abstract low-level communication protocols (GPIB, USB, Ethernet). The software implements a strict initialization routine:
96
+
PICA utilizes [**PyVISA**](https://github.com/pyvisa/pyvisa) to abstract low-level communication protocols (GPIB, USB, Ethernet). The software implements a strict initialization routine:
97
97
1.**Connection Verification:** A built-in "VISA Instrument Scanner" queries the bus (`*IDN?`) to map instrument addresses.
98
98
2.**Instrument Reset Protocol:** Explicitly resets all stored data and buffers to provide a clean initial state.
99
99
3.**Graceful Shutdown:** Ensures sources are ramped down and heaters disabled safely, even if the software is interrupted.
@@ -136,7 +136,7 @@ The system is currently validated with industry-standard hardware, covering a re
136
136
## Pre-requisites: The VISA Driver
137
137
138
138
> [!WARNING]
139
-
> **A VISA Backend is Required:**`PyVISA` is a Python wrapper, not a driver. For PICA to communicate with hardware, you **must** install a VISA backend on your system first. If you attempt to run the software on a clean machine without a VISA implementation, it will fail to find the instruments. This is the most common failure point for new instrument control setups.
139
+
> **A VISA Backend is Required:**[`PyVISA`](https://github.com/pyvisa/pyvisa) is a Python wrapper, not a driver. For PICA to communicate with hardware, you **must** install a VISA backend on your system first. If you attempt to run the software on a clean machine without a VISA implementation, it will fail to find the instruments. This is the most common failure point for new instrument control setups.
140
140
>
141
141
> Choose one of the following:
142
142
> -**NI-VISA:** The industry standard from National Instruments. Download and install it from the [NI website](https://www.ni.com/en/support/downloads/drivers/download.ni-visa.html#575764).
@@ -179,7 +179,7 @@ PICA is structured as a standard Python package.
179
179
pip install .
180
180
```
181
181
182
-
*Note: Ensure you have the NI-VISA drivers installed on your host machine to allow `PyVISA` to communicate with the hardware.*
182
+
*Note: Ensure you have the NI-VISA drivers installed on your host machine to allow [`PyVISA`](https://github.com/pyvisa/pyvisa) to communicate with the hardware.*
183
183
184
184
## Running the Software
185
185
@@ -214,7 +214,7 @@ Upon launching PICA (`pica-gui`), select your desired measurement module from th
214
214
***Data Analysis:** Includes options to switch axes to logarithmic scales for better visualization of wide-range data.
215
215
***Utilities:** Two buttons above the plot area provide instant access to:
216
216
***VISA Instrument Scanner:** To verify instrument connections and addresses.
217
-
***PICA Plotter Utility:** For post-measurement comparison and detailed analysis.
217
+
***PICA Plotter Utility:** For post or during measurements comparison and detailed analysis.
218
218
219
219
*The interface is designed to be minimalistic to reduce unnecessary user interaction during active high-precision measurements.*
220
220
@@ -249,6 +249,8 @@ PICA evolved from simple offline scripts in 2022 to a full-stack automated suite
***v13.0:** Transition to Multiprocessing and standardized GUI themes.
251
251
252
+
The project's earlier history and foundational development are outlined below:
253
+
252
254
### 2022 - 2023: Inception & Prototyping
253
255
254
256
- **2023 (Migration):** Moved from offline lab systems to GitHub; organized scripts into instrument modules (Keithley/Lake Shore).
@@ -260,7 +262,7 @@ PICA evolved from simple offline scripts in 2022 to a full-stack automated suite
260
262
261
263
## Resources & Documentation
262
264
263
-
***User Manual:**Detailed physics and usage guides are available in the [User Manual](docs/User_Manual.md).
265
+
* **User Manual:** Details on the project and usage guides are available in the [User Manual](docs/User_Manual.md).
264
266
* **Instrument Manuals:** A list of instrument manuals is available in [docs/Instruments_Manuals_Lists.md](docs/Instruments_Manuals_Lists.md).
265
267
266
268
---
@@ -281,7 +283,7 @@ If you use this software in your research, please cite it:
281
283
}
282
284
````
283
285
284
-
## Authors & Acknowledgments
286
+
## Authors & Funding
285
287
286
288
This project is led by [**Prathamesh Deshmukh**](https://www.researchgate.net/profile/Prathamesh-Deshmukh-6) under the supervision of [**Dr. Sudip Mukherjee**](https://www.csr.res.in/Faculty/profile/889/893/Dr.SudipMukherjee) at the [*UGC-DAE Consortium for Scientific Research, Mumbai Centre*](https://www.csr.res.in/Mumbai_Centre).
Copy file name to clipboardExpand all lines: docs/User_Manual.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,7 +47,7 @@ PICA was constructed on a core philosophy of **robustness, modularity, and acces
47
47
### 2.1 The Choice of Python
48
48
Python was selected as the foundational language for PICA due to its ubiquity in the scientific community:
49
49
***Scientific Ecosystem:** Libraries like `NumPy` (array operations), `Pandas` (data structuring), and `Matplotlib` (publication-quality plotting) create a seamless workflow from acquisition to analysis.
50
-
***PyVISA Integration:** The `PyVISA` library provides platform-independent wrappers for VISA drivers, allowing communication via simple, readable commands (e.g., ``instrument.query('*IDN?')``) rather than complex low-level protocols.
50
+
***PyVISA Integration:** The [`PyVISA`](https://github.com/pyvisa/pyvisa) library provides platform-independent wrappers for VISA drivers, allowing communication via simple, readable commands (e.g., ``instrument.query('*IDN?')``) rather than complex low-level protocols.
51
51
***Cross-Platform:** PICA runs on Windows, Linux, and macOS with minimal modification, accommodating diverse lab environments.
52
52
53
53
### 2.2 The Case for GUIs
@@ -79,7 +79,7 @@ This approach, however, leads to a considerable degree of code repetition becaus
79
79
2.**Dependencies:** Install via `pip install -r requirements.txt`.
80
80
81
81
> [!WARNING]
82
-
> **A VISA Backend is Required:**`PyVISA` is a Python wrapper, not a driver. For PICA to communicate with hardware, you **must** install a VISA backend on your system first. If you attempt to run the software on a clean machine without a VISA implementation, it will fail to find the instruments. This is the most common failure point for new instrument control setups.
82
+
> **A VISA Backend is Required:**[`PyVISA`](https://github.com/pyvisa/pyvisa) is a Python wrapper, not a driver. For PICA to communicate with hardware, you **must** install a VISA backend on your system first. If you attempt to run the software on a clean machine without a VISA implementation, it will fail to find the instruments. This is the most common failure point for new instrument control setups.
83
83
>
84
84
> Choose one of the following:
85
85
> -**NI-VISA:** The industry standard from National Instruments. Download and install it from the [NI website](https://www.ni.com/en/support/downloads/drivers/download.ni-visa.html#575764).
@@ -104,7 +104,7 @@ PICA is structured as a standard Python package.
104
104
pip install .
105
105
```
106
106
107
-
*Note: Ensure you have the NI-VISA drivers installed on your host machine to allow `PyVISA` to communicate with the hardware.*
107
+
*Note: Ensure you have the NI-VISA drivers installed on your host machine to allow [`PyVISA`](https://github.com/pyvisa/pyvisa) to communicate with the hardware.*
0 commit comments