From d5527de4f8851e9bb90b28a4c06700fbfd63888e Mon Sep 17 00:00:00 2001 From: Talon Chandler Date: Wed, 5 Mar 2025 16:09:59 -0800 Subject: [PATCH 1/3] iohub dependency update --- recOrder/cli/utils.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recOrder/cli/utils.py b/recOrder/cli/utils.py index 681aabbb..6909ceab 100644 --- a/recOrder/cli/utils.py +++ b/recOrder/cli/utils.py @@ -4,8 +4,7 @@ import click import numpy as np import torch -from iohub.ngff import Position, open_ome_zarr -from iohub.ngff_meta import TransformationMeta +from iohub.ngff import Position, TransformationMeta, open_ome_zarr from numpy.typing import DTypeLike @@ -103,4 +102,3 @@ def apply_inverse_to_zyx_and_save( t_idx, output_channel_indices ] = reconstruction_czyx click.echo(f"Finished Writing.. t={t_idx}") - From 972e9fc4838053fea05fd9f913e82c719de452b6 Mon Sep 17 00:00:00 2001 From: Talon Chandler Date: Wed, 2 Apr 2025 12:01:40 -0700 Subject: [PATCH 2/3] archive README --- README.md | 76 +++---------------------------------------------------- 1 file changed, 4 insertions(+), 72 deletions(-) diff --git a/README.md b/README.md index 42b9dfee..615a05fc 100644 --- a/README.md +++ b/README.md @@ -1,77 +1,9 @@ # recOrder -[![Python package index](https://img.shields.io/pypi/v/recOrder-napari.svg)](https://pypi.org/project/recOrder-napari) -[![PyPI monthly downloads](https://img.shields.io/pypi/dm/recOrder-napari.svg)](https://pypistats.org/packages/recOrder-napari) -[![Total downloads](https://pepy.tech/badge/recOrder-napari)](https://pepy.tech/project/recOrder-napari) -[![GitHub contributors](https://img.shields.io/github/contributors-anon/mehta-lab/recOrder)](https://github.com/mehta-lab/recOrder/graphs/contributors) -![GitHub Repo stars](https://img.shields.io/github/stars/mehta-lab/recOrder) -![GitHub forks](https://img.shields.io/github/forks/mehta-lab/recOrder) -![PyPI - Python Version](https://img.shields.io/pypi/pyversions/recOrder-napari) +The `recOrder` repository is now an archive. +All of `recOrder`'s functionality and future development has been migrated to the [`waveorder` repository](https://github.com/mehta-lab/waveorder), where GUI, CLI, and API are co-developed in the same repository. -`recOrder` is a collection of computational imaging methods. It currently provides QLIPP (quantitative label-free imaging with phase and polarization), phase from defocus, and fluorescence deconvolution. +**Migrating `recOrder` users** can make a new environment, `pip install waveorder`, and use `waveorder` GUI and CLI calls as a drop-in replacement for `recOrder` calls. -[![Unveiling the invisible](https://github.com/mehta-lab/recOrder/blob/main/docs/images/comms_video_screenshot.png?raw=true)](https://www.youtube.com/watch?v=JEZAaPeZhck) - -Acquisition, calibration, background correction, reconstruction, and applications of QLIPP are described in the following [E-Life Paper](https://elifesciences.org/articles/55502): - -```bibtex -Syuan-Ming Guo, Li-Hao Yeh, Jenny Folkesson, Ivan E Ivanov, Anitha P Krishnan, Matthew G Keefe, Ezzat Hashemi, David Shin, Bryant B Chhun, Nathan H Cho, Manuel D Leonetti, May H Han, Tomasz J Nowakowski, Shalin B Mehta, "Revealing architectural order with quantitative label-free imaging and deep learning," eLife 2020;9:e55502 DOI: 10.7554/eLife.55502 (2020). -``` - -These are the kinds of data you can acquire with `recOrder` and QLIPP: - -https://user-images.githubusercontent.com/9554101/271128301-cc71da57-df6f-401b-a955-796750a96d88.mov - -https://user-images.githubusercontent.com/9554101/271128510-aa2180af-607f-4c0c-912c-c18dc4f29432.mp4 - -## What do I need to use `recOrder` -`recOrder` is to be used alongside a conventional widefield microscope. For QLIPP, the microscope must be fitted with an analyzer and a universal polarizer: - -https://user-images.githubusercontent.com/9554101/273073475-70afb05a-1eb7-4019-9c42-af3e07bef723.mp4 - -For phase-from-defocus or fluorescence deconvolution methods, the universal polarizer is optional. - -The overall structure of `recOrder` is shown in Panel B, highlighting the structure of the graphical user interface (GUI) through a napari plugin and the command-line interface (CLI) that allows users to perform reconstructions. - -![Flow Chart](https://github.com/mehta-lab/recOrder/blob/main/docs/images/recOrder_Fig1_Overview.png?raw=true) - - - -## Software Quick Start - -(Optional but recommended) install [anaconda](https://www.anaconda.com/products/distribution) and create a virtual environment: - -```sh -conda create -y -n recOrder python=3.10 -conda activate recOrder -``` - -Install `recOrder-napari` with acquisition dependencies -(napari with PyQt6 and pycro-manager): - -```sh -pip install recOrder-napari[all] -``` - -Install `recOrder-napari` without napari, QtBindings (PyQt/PySide) and pycro-manager dependencies: - -```sh -pip install recOrder-napari -``` - -Open `napari` with `recOrder-napari`: - -```sh -napari -w recOrder-napari -``` - -For more help, see [`recOrder`'s documentation](https://github.com/mehta-lab/recOrder/tree/main/docs). To install `recOrder` -on a microscope, see the [microscope installation guide](https://github.com/mehta-lab/recOrder/blob/main/docs/microscope-installation-guide.md). - -## Dataset - -[Slides](https://doi.org/10.5281/zenodo.5135889) and a [dataset](https://doi.org/10.5281/zenodo.5178487) shared during a workshop on QLIPP and recOrder can be found on Zenodo, and the napari plugin's sample contributions (`File > Open Sample > recOrder-napari` in napari). - -[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5178487.svg)](https://doi.org/10.5281/zenodo.5178487) -[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5135889.svg)](https://doi.org/10.5281/zenodo.5135889) \ No newline at end of file +`recOrder`'s PyPI package will stay online, so `pip install recOrder-napari` will continue to support earlier releases. From d8c11d3dc2b6b07f922e8cf70bbc14ce9a0e44ff Mon Sep 17 00:00:00 2001 From: Talon Chandler Date: Wed, 2 Apr 2025 12:17:24 -0700 Subject: [PATCH 3/3] Revert "iohub dependency update" This reverts commit d5527de4f8851e9bb90b28a4c06700fbfd63888e. --- recOrder/cli/utils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recOrder/cli/utils.py b/recOrder/cli/utils.py index 6909ceab..681aabbb 100644 --- a/recOrder/cli/utils.py +++ b/recOrder/cli/utils.py @@ -4,7 +4,8 @@ import click import numpy as np import torch -from iohub.ngff import Position, TransformationMeta, open_ome_zarr +from iohub.ngff import Position, open_ome_zarr +from iohub.ngff_meta import TransformationMeta from numpy.typing import DTypeLike @@ -102,3 +103,4 @@ def apply_inverse_to_zyx_and_save( t_idx, output_channel_indices ] = reconstruction_czyx click.echo(f"Finished Writing.. t={t_idx}") +