Skip to content

Commit

Permalink
merging with develop-main
Browse files Browse the repository at this point in the history
  • Loading branch information
tsuchiyama-araya committed Jan 20, 2025
2 parents 3c392e6 + 900db5c commit 249985c
Show file tree
Hide file tree
Showing 61 changed files with 2,178 additions and 1,133 deletions.
32 changes: 23 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,90 +34,104 @@ OptiNiSt helps researchers try multiple data analysis methods, visualize the res
OptiNiSt also supports reproducibility of scientific research, standardization of analysis protocols, and developments of novel analysis tools as plug-in.

## Support library

### ROI detection

- [x] [Suite2p](https://github.com/MouseLand/suite2p)
- [x] [CaImAn](https://github.com/flatironinstitute/CaImAn)
- [x] [LCCD](https://github.com/magnetizedCell/lccd-python)

### Postprocessing

- [x] Basic Neural Analysis(Event Trigger Average...)
- [x] Dimension Reduction(PCA...)
- [x] Neural Decoding(LDA...)
- [x] Neural Population Analysis(Correlation...)

### Saving Format
- [x] [NWB](https://github.com/NeurodataWithoutBorders/pynwb)

- [x] [NWB](https://github.com/NeurodataWithoutBorders/pynwb)

## Key Features

### :beginner: Easy-To-Create Workflow

- **zero-knowledge of coding**: OptiNiSt allows you to create analysis pipelines easily on the GUI.

### :zap: Visualizing analysis results

- **quick visualization**: OptiNiSt supports you visualize the analysis results by plotly.

### :rocket: Managing Workflows
- **recording and reproducing**: OptiNiSt records and reproduces the workflow pipelines easily.

- **recording and reproducing**: OptiNiSt records and reproduces the workflow pipelines easily.

## Installation
Need anaconda or miniconda environment.

Need anaconda or miniconda or miniforge environment.

```
conda create -n optinist python=3.8
conda activate optinist
```

Install from pip.

```
pip install optinist
```

launch.

```
run_optinist
```

Open browser. http://localhost:8000

## Documentation
https://optinist.readthedocs.io/en/latest/

https://optinist.readthedocs.io/en/latest/

## Using GUI

### Workflow

- OptiNiSt allows you to make your analysis pipelines by graph style using nodes and edges on GUI. Parameters for each analysis are easily changeable.
<p align="center">
<img width="400px" src="docs/_static/workflow/whole.png" alt="workflow" />
</p>



### Visualize

- OptiNiSt allows you to visualize the analysis results with one click by plotly. It supports a variety of plotting styles.
<p align="center">
<img width="400px" src="docs/_static/visualize/whole.png" alt="visualize" />
</p>

### Record

- OptiNiSt supports you in recording and reproducing workflow pipelines in an organized manner.
<p align="center">
<img width="400px" src="docs/_static/record/whole.png" alt="record" />
</p>



## Contributors

### Proposers

Kenji Doya, Yukako Yamane [OIST Neural Computation Unit](https://groups.oist.jp/ncu)

### Main Developers

[Shogo Akiyama](https://github.com/ShogoAkiyama), [Yoshifumi Takeshima](https://github.com/Yoshifumi14)

### Support Developers
[Tatsuya Tanabe](https://github.com/ttya16), [Yosuke Kaneko](https://github.com/toto-maru), [Syuya Saeki](https://github.com/hiiaka)

[Tatsuya Tanabe](https://github.com/ttya16), [Yosuke Kaneko](https://github.com/toto-maru), [Syuya Saeki](https://github.com/hiiaka)

## References

[[Suite2p]](https://github.com/MouseLand/suite2p) Marius Pachitariu, Carsen Stringer, Mario Dipoppa, Sylvia Schröder, L. Federico Rossi, Henry Dalgleish, Matteo Carandini, Kenneth D. Harris. "Suite2p: beyond 10,000 neurons with standard two-photon microscopy". 2017
[[CaImAn]](https://github.com/flatironinstitute/CaImAn) Andrea Giovannucci Is a corresponding author, Johannes Friedrich, Pat Gunn, Jérémie Kalfon, Brandon L Brown, Sue Ann Koay, Jiannis Taxidis, Farzaneh Najafi, Jeffrey L Gauthier, Pengcheng Zhou, Baljit S Khakh, David W Tank, Dmitri B Chklovskii, Eftychios A Pnevmatikakis. "CaImAn: An open source tool for scalable Calcium Imaging data Analysis". 2019
[[LCCD]](https://github.com/magnetizedCell/lccd-python) Tsubasa Ito, Keisuke Ota, Kanako Ueno, Yasuhiro Oisi, Chie Matsubara, Kenta Kobayashi, Masamichi Ohkura, Junichi Nakai, Masanori Murayama, Toru Aonishi, "Low computational-cost cell detection method for calcium imaging data", 2022
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
project = "OptiNiSt"
copyright = f"{datetime.today().year}, OIST"
author = ""
release = "1.2.1"
release = "1.3.0"

# -- readthedocs -------------------------------------------------------------
on_rtd = os.environ.get("READTHEDOCS", None) == "True"
Expand Down
2 changes: 1 addition & 1 deletion docs/installation/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Please follow instructions below.
### Make Docker Image

Pull the latest docker image from docker hub.
```
```bash
docker pull oistncu/optinist
```
Start docker container.
Expand Down
6 changes: 3 additions & 3 deletions docs/installation/docker_developer.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,20 @@ Please follow instructions below.

### Clone repository

```
```bash
git clone https://github.com/oist/optinist.git
cd ./optinist
```

- copy config files
```
```bash
cp studio/config/.env.example studio/config/.env
cp frontend/.env.example frontend/.env
```

### Start Docker Container

```
```bash
docker compose -f docker-compose.dev.yml up
```

Expand Down
27 changes: 16 additions & 11 deletions docs/installation/linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,46 +23,50 @@ Please follow instructions below.
#### Install gcc, g++

- For install CaImAn, you need to install gcc and g++.
```

```bash
sudo apt install gcc g++
```

#### Install Anaconda

```
```bash
# *The latest version of the module is ok.
wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh
bash Anaconda3-2022.10-Linux-x86_64.sh
ANACONDA_VERSION=2022.10
wget https://repo.anaconda.com/archive/Anaconda3-${ANACONDA_VERSION}-Linux-x86_64.sh
bash Anaconda3-${ANACONDA_VERSION}-Linux-x86_64.sh
```

### Create Anaconda Environment
### Create Conda Environment

```
```bash
conda create -n optinist python=3.8
conda activate optinist
```


### Install Library

```
```bash
pip install optinist
```

### Set Saving Directory

Optinist default saving directory is `/tmp/studio`. If you reboot your PC, this repogitory content is deleted. And setting the saving directory in environment path.
```

```bash
export OPTINIST_DIR="your_saving_dir"
```

## 2. Run Backend

```
```bash
run_optinist
```

- `run_optinist` log is as blow:
```

```bash
$ run_optinist
INFO: Will watch for changes in these directories: ['/home/oist/optinist/backend']
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
Expand All @@ -71,6 +75,7 @@ INFO: Started server process [6557]
INFO: Waiting for application startup.
INFO: Application startup complete.
```
- Launch browser, and go to http://localhost:8000
Done!
24 changes: 14 additions & 10 deletions docs/installation/mac.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,49 +46,53 @@ Please follow instructions below.
arch -x86_64 /usr/bin/env bash
3. Download and install Miniconda:
3. Download and install Miniforge:
- Miniforge: https://github.com/conda-forge/miniforge
.. code-block:: bash
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-x86_64.sh"
bash Miniconda3-latest-MacOSX-x86_64.sh
bash Miniforge3-$(uname)-x86_64.sh
/Users/MYUSERNAME/miniconda3/bin/conda init
$HOME/miniforge3/bin/conda init
conda activate
conda config --set channel_priority flexible
Now continue creating the optinist environment using conda
```

### Create Anaconda Environment
### Create Conda Environment

```
```bash
conda create -n optinist python=3.8
conda activate optinist
```


### Install Library

```
```bash
pip install optinist
```

### Set Saving Directory

Optinist default saving directory is `/tmp/studio`. If you reboot your PC, this repogitory content is deleted. And setting the saving directory in environment path.
```
```bash
export OPTINIST_DIR="your_saving_dir"
```

## 2. Run Backend

```
```bash
run_optinist
```
- `run_optinist` log is as blow:
```
```bash
$ run_optinist
INFO: Will watch for changes in these directories: [‘/Users/oist/optinist/backend’]
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
Expand Down
32 changes: 19 additions & 13 deletions docs/installation/native_platforms_developer.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@ Get node with version 20
You can also install node via [nvm](https://github.com/nvm-sh/nvm)

After install node, install yarn.
```
```bash
npm install -g yarn
```

### Clone Repository

```
```bash
git clone https://github.com/oist/optinist.git
cd ./optinist
```
Expand All @@ -51,20 +51,25 @@ cd ./optinist
cp frontend/.env.example frontend/.env
```

### Create Anaconda Environment
### Create Conda Environment

```
```bash
conda create -n optinist_dev python=3.8 poetry
conda activate optinist_dev
```

```
conda config --set channel_priority strict
```
- for *Miniconda*
```bash
conda config --set channel_priority strict
```
- for *Miniforge*
```bash
conda config --set channel_priority flexible
```

### Install Requirements

```
```bash
poetry install --no-root --with dev
```

Expand All @@ -73,17 +78,18 @@ If you will make PRs, please see the [](for_developers) section.
### Set Saving Directory

Optinist default saving directory is `/tmp/studio`. If you reboot your PC, this repogitory content is deleted. And setting the saving directory in environment path.
```

```bash
export OPTINIST_DIR="your_saving_dir"
```

## 2. Run Backend

```
```bash
python main.py
```
- `python main.py` log is as blow:
```
```bash
$ run_optinist
INFO: Will watch for changes in these directories: ['/home/oist/optinist/backend']
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
Expand All @@ -99,13 +105,13 @@ INFO: Application startup complete.
Open new terminal window, and go to `frontend` directory.
```
```bash
# from optinist root directory
cd frontend
```
Then install packages and run.
```
```bash
yarn install
yarn start
```
Expand Down
Loading

0 comments on commit 249985c

Please sign in to comment.