Skip to content

Commit df0a240

Browse files
formatting corrections
1 parent 9a0f114 commit df0a240

2 files changed

Lines changed: 17 additions & 15 deletions

File tree

README.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
---
2828

29-
## Summary
29+
## Overview
3030

3131
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.
3232

@@ -49,8 +49,8 @@ The suite performs automated protocols including:
4949
5050
## Table of Contents
5151

52-
- [Summary](#summary)
53-
- [Statement of Need](#statement-of-need)
52+
- [Overview](#overview)
53+
- [Motivation](#motivation)
5454
- [Key Features](#key-features)
5555
- [Design and Implementation](#design-and-implementation)
5656
- [Supported Hardware Modules](#supported-hardware-modules)
@@ -63,13 +63,13 @@ The suite performs automated protocols including:
6363

6464
---
6565

66-
## Statement of Need
66+
## Motivation
6767

6868
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.
6969

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.
7171

72-
PICA enables continuous operation across the full range from Delta-mode low-resistance measurements (removing constant offsets) to high-impedance electrometric measurements 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.
7373

7474
## Key Features
7575

@@ -93,7 +93,7 @@ Unlike simple script-based automation, PICA decouples the User Interface (UI) fr
9393
* **Data Integrity:** A "write on acquisition" strategy using `pandas` saves data to CSV immediately after every acquisition point, preventing data loss during power failures.
9494

9595
### 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:
9797
1. **Connection Verification:** A built-in "VISA Instrument Scanner" queries the bus (`*IDN?`) to map instrument addresses.
9898
2. **Instrument Reset Protocol:** Explicitly resets all stored data and buffers to provide a clean initial state.
9999
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
136136
## Pre-requisites: The VISA Driver
137137

138138
> [!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.
140140
>
141141
> Choose one of the following:
142142
> - **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.
179179
pip install .
180180
```
181181

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.*
183183

184184
## Running the Software
185185

@@ -214,7 +214,7 @@ Upon launching PICA (`pica-gui`), select your desired measurement module from th
214214
* **Data Analysis:** Includes options to switch axes to logarithmic scales for better visualization of wide-range data.
215215
* **Utilities:** Two buttons above the plot area provide instant access to:
216216
* **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.
218218

219219
*The interface is designed to be minimalistic to reduce unnecessary user interaction during active high-precision measurements.*
220220

@@ -249,6 +249,8 @@ PICA evolved from simple offline scripts in 2022 to a full-stack automated suite
249249
* **v15.0:** JOSS submission preparation, CI/CD integration.
250250
* **v13.0:** Transition to Multiprocessing and standardized GUI themes.
251251

252+
The project's earlier history and foundational development are outlined below:
253+
252254
### 2022 - 2023: Inception & Prototyping
253255
254256
- **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
260262
261263
## Resources & Documentation
262264
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).
264266
* **Instrument Manuals:** A list of instrument manuals is available in [docs/Instruments_Manuals_Lists.md](docs/Instruments_Manuals_Lists.md).
265267
266268
---
@@ -281,7 +283,7 @@ If you use this software in your research, please cite it:
281283
}
282284
````
283285
284-
## Authors & Acknowledgments
286+
## Authors & Funding
285287
286288
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).
287289

docs/User_Manual.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ PICA was constructed on a core philosophy of **robustness, modularity, and acces
4747
### 2.1 The Choice of Python
4848
Python was selected as the foundational language for PICA due to its ubiquity in the scientific community:
4949
* **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.
5151
* **Cross-Platform:** PICA runs on Windows, Linux, and macOS with minimal modification, accommodating diverse lab environments.
5252

5353
### 2.2 The Case for GUIs
@@ -79,7 +79,7 @@ This approach, however, leads to a considerable degree of code repetition becaus
7979
2. **Dependencies:** Install via `pip install -r requirements.txt`.
8080

8181
> [!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.
8383
>
8484
> Choose one of the following:
8585
> - **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.
104104
pip install .
105105
```
106106

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.*
108108

109109
### 3.3 Running the Software
110110

0 commit comments

Comments
 (0)