Metadata-Version: 2.4
Name: bids-manager
Version: 0.1.7
Summary: GUI application to manage BIDS datasets
Author-email: Karel López Vilaret <karel.mauricio.lopez.vilaret@uni-oldenburg.de>
License-Expression: MIT
Project-URL: Homepage, https://github.com/ANCPLabOldenburg/BIDS-Manager
Project-URL: Documentation, https://github.com/ANCPLabOldenburg/BIDS-Manager
Project-URL: Source, https://github.com/ANCPLabOldenburg/BIDS-Manager
Project-URL: Tracker, https://github.com/ANCPLabOldenburg/BIDS-Manager/issues
Keywords: BIDS,DICOM,GUI,Neuroimaging
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydicom==3.0.1
Requires-Dist: pandas==2.3.1
Requires-Dist: PyQt5==5.15.11
Requires-Dist: PyQtWebEngine==5.15.7
Requires-Dist: PyYAML>=6.0
Requires-Dist: heudiconv-ancp
Requires-Dist: dcm2niix==1.0.20250506
Requires-Dist: bidsphysio==3.0
Requires-Dist: nibabel==5.3.2
Requires-Dist: numpy==2.2.6
Requires-Dist: psutil==7.0.0
Requires-Dist: matplotlib==3.10.3
Requires-Dist: joblib==1.4.2
Requires-Dist: scikit-image==0.24.0
Requires-Dist: pyqtgraph==0.13.7
Requires-Dist: PyOpenGL==3.1.7
Provides-Extra: schema
Requires-Dist: PyYAML>=6.0; extra == "schema"
Dynamic: license-file


# BIDS Manager

**BIDS Manager** is a **PyQt-based** GUI that converts **DICOM** folders into **BIDS**-compliant datasets and allows easy metadata editing.

---

## Requirements

| Software  | Minimum Version | Notes                                                   |
|----------|-----------------|---------------------------------------------------------|
| **Python** | 3.10            | Installed automatically if you use the one-click installers |

---

## Installation

You can install BIDS Manager in two ways:

### 1. One-click installers <sup>(recommended)</sup>

1. **Download** the ZIP package:  
   **[📦 One-click Installers](https://github.com/ANCPLabOldenburg/BIDS-Manager/raw/main/Installers/Installers.zip
)**
2. **Extract** the ZIP file and run the script for your operating system:

| OS               | Script                        | How to Run                         | Duration |
|------------------|-------------------------------|------------------------------------|---------|
| **Windows 10/11**| `install_bids_manager.bat`     | Double-click                        | ≈ 5 min |
| **Linux**        | `install_bids_manager.sh`      | `./install_bids_manager.sh`         | ≈ 5 min |

3. After the installation finishes, you will find two shortcuts on your desktop:

| OS          | Launch                    | Uninstall                      |
|-------------|---------------------------|--------------------------------|
| **Windows** | `run_bidsmanager.bat`      | `uninstall_bidsmanager.bat`    |
| **Linux**   | **BIDS Manager** (launcher)| `uninstall_bidsmanager.sh`     |

---

### 2. Install in a virtual environment (advanced)

```bash
# 1. Create a virtual environment
python3 -m venv <env_name>

# 2. Activate it
source <env_name>/bin/activate          # On Windows: <env_name>\Scripts\activate

# 3. Install BIDS Manager from GitHub
pip install bids-manager
```

The package declares all dependencies including `heudiconv`, so installation
pulls everything required to run the GUI and helper scripts.
All core requirements are version pinned in `pyproject.toml` to ensure
consistent installations.

After installation the following commands become available:

- `bids-manager` – main GUI combining conversion and editing tools
- `dicom-inventory` – generate `subject_summary.tsv` from a DICOM directory
- `build-heuristic` – create a HeuDiConv heuristic from the TSV
- `run-heudiconv` – run HeuDiConv using the generated heuristic
- `post-conv-renamer` – rename fieldmap files after conversion
- `bids-editor` – standalone metadata editor
- `fill-bids-ignore` – interactively update `.bidsignore`

All utilities provide `-h/--help` for details.

### Recent updates

- The TSV produced by `dicom-inventory` can now be loaded directly in the GUI and
  its file name customised before generation.
- The Batch Rename tool previews changes and allows restricting the scope to
  specific subjects.
- A "Set Intended For" dialog lets you manually edit fieldmap IntendedFor lists
  if the automatic matching needs adjustment.
- `run-heudiconv` now keeps a copy of `subject_summary.tsv` under `.bids_manager`
  and generates a clean `participants.tsv` using demographics from that file.
- Re-running `run-heudiconv` on the same dataset now appends new subjects to
  the existing `.bids_manager` records and updates `participants.tsv` instead of
  overwriting them.
- `dicom-inventory` distinguishes repeated sequences by adding `series_uid` and `rep`
  columns and records `acq_time` for each series in `subject_summary.tsv`.
- Fieldmap rows for magnitude and phase images are now merged so each acquisition
  appears once with the combined file count, and their `series_uid` values are
  stored as a pipe-separated list so both sequences are converted.
- `post-conv-renamer` now adds an `IntendedFor` list to each fieldmap JSON so
  fMRI preprocessing tools can automatically match fieldmaps with the relevant
  functional runs.
- The GUI's Tools menu gained actions to refresh `_scans.tsv` files and edit
  `.bidsignore` entries.
- The DPI scale dialog now adjusts values in 25% increments and the DPI button
  appears between the CPU and Authorship buttons.
- On startup the GUI detects the system DPI and applies the matching scale.
- The scanned data table now provides a "Generate unique IDs" button that
  assigns random 3‑letter/3‑digit identifiers to subjects. If an entry already
  exists for the same study in an existing `.bids_manager/subject_summary.tsv`,
  you are prompted to reuse its identifier.
- A "Detect repeats" button can recompute repetition numbers based on
  acquisition time when all BIDS and given names are filled.

