Aydin is a user-friendly, feature-rich, and fast image denoising tool

Overview

image

Code style: black codecov DOI

Aydin is a user-friendly, feature-rich, and fast image denoising tool that provides a number of self-supervised, auto-tuned, and unsupervised image denoising algorithms. Aydin handles from the get-go n-dimensional array-structured images with an arbitrary number of batch dimensions, channel dimensions, and typically up to 4 spatio-temporal dimensions.

It comes with Aydin Studio a graphical user interface to easily experiment with all the different algorithms and parameters available, a command line interface to run large jobs on the terminal possibly on powerfull remote machines, and an API for custom coding and integration into your scripts and applications.

And, of course, a simplified napari plugin is in the works! Notebooks for running on Collab are also planned.

Supported algorithms:

Currently Aydin supports two main families of denoisers: the first family consists of 'classical' denoising algorithms that leverage among other: frequency domain filtering, smoothness priors, low-rank representations, self-similarity. The second family consists of algorithms that leverage machine learning approaches such as convolutional neural networks (CNN) or gradient boosting (GB). In the Noise2Self paper we show that it is possible to calibrate any parameterised denoising algorithm, from the few parameters of a classical algorithm to the millions of weights of a deep neural network. We leverage and extend these ideas in Aydin to provide a variety of auto-tuned and trained high-quality image denoisers. Here is the list of currently available methods:

  • Low-pass filtering based algorithms:

    • Butterworth denoiser (butterworth).
    • Gaussian blur denoiser (gaussian).
    • Gaussian-Median mixed denoiser (gm).
  • Optimisation-based with smoothness priors:

    • Total-Variation denoising (tv)
    • Harmonic prior (harmonic)
  • Low-rank representations:

    • Denoising via sparse decomposition (e.g. OMP) over a fixed dictionary (DCT, DST, ...)
    • Denoising via sparse decomposition (e.g. OMP) over a learned dictionary (Kmeans, PCA, ICA, SDL, ...)
  • Patch similarity:

    • Non-Local Means denoising (nlm)
    • BMnD (not available just yet but partly implemented!)
  • Machine learning based:

    • Noise2Self-FGR: Noise2Self denoising via Feature Generation and Regression (FGR). We use specially crafted integral features. We have several variants that leverage different regressors: CatBoost(cb), lightGBM, linear, perceptron, random-forrest, support vector regression)
    • Noise2Self-CNN: Noise2Self denoising via Convolutional Neural Networks (CNN). This is the original approach of Noise2Self. In our experience this is typically slower to train, and more prone to hallucination and residual noise than FGR.
  • Other:

    • Lipschitz continuity denoising

Some methods actually do combine multiple ideas and so the classification above is not crisp. We recomend to try first a good baseline denoiser such as the Butterworth denoiser. If unsatisfied with the result and you have a powerfull computer with a recent NVIDIA graphics card then try the Noise2Self-FGR-cb denoiser. For detailed use-cases check here.

We have a long todo list of existing, modified, as well as original algorithms that we plan to add to Aydin in the next weeks and months. We will do so progressively as time allows. Stay tuned!

Documentation

Aydin documentation can be found here.

Installation of Aydin Studio

We recommend that users that are not familiar with python start with our user-friendly UI. Just download the version for your operating system:

The latest releases and standalone executables can be found here and detailed installation instructions of Aydin Studio for all three oerating systems can be found here

Installation of Aydin in Conda:

First download and install miniconda or anaconda.

Then create a conda environment to host aydin:

conda create -n aydin_env python=3.9

Activate the environment:

conda activate aydin_env

Install Aydin in the environment:

pip install aydin

CUDA dependencies:

If you have a NVIDIA CUDA Graphics card, you should install the CUDA toolkit:

conda install cudatoolkit

Mac specific dependencies:

For Macs (OSX) you first need to do:

brew install libomp

You can install Brew by following the instructions here.

How to run ?

Assuming that you have installed Aydin in an environment, you can:

Start Aydin Studio from the command line with:

aydin

Run the Command Line Interface (CLI) for denoising:

aydin denoise path/to/noisyimage

Get help on command line usage:

aydin -h

Recommended Environment

Linux

  • Ubuntu 18.04+

Windows

  • Windows 10

OSX

  • Mojave 10.14.6+

Recommended Hardware:

Recommended specifications are: at least 16 Gb of RAM, ideally 32 Gb, and more for very large images, a CPU with at least 4 cores, preferably 16 or more, and a recent NVIDIA graphics card such as a RTX series card. Older graphics cards could work but may cause trouble or be too slow. Aydin Studio's summary page gives an overview of the strengths and weaknesses of your machine, highlighting in red and orange items that might be problematic.

Known Issues:

Here are some issues that are being actively addressed and will be addressed asap:

  • Stop button for all algorithms. For technical reasons having to do with the diversity of libraries we use, we currently cannot stop training. We are planning to solve this using subprocess spawning. For now, to stop Aydin from running, you need to close the window and/or terminate the process. We know this is very unfortunate and are determined to fix this quickly.

  • On Ubuntu and perhaps other Linux systems, high-dpi modes tend to mess with font and ui element rendering.

Road Map:

Planned features:

  • Toggling between 'Advanced' and 'Basic' modes to show and hide advanced algorithms.
  • Loading of denoising model and configurations (JSON) on Aydin Studio
  • Pytorch backend

Contributing

Feel free to check our contributing guideline first and start discussing your new ideas and feedback with us through issues.

Comments
  • MAC installation with libomp installed

    MAC installation with libomp installed

    Describe the bug Unable to start AydinStudio even with libomp installed with brew. It seems to me that aydin is looking for the libomp in /usr/local/opt/libomp instead of /Users/tl10/homebrew/Cellar/libomp/ where brew by default install libraries to ?

    To Reproduce Steps to reproduce the behavior:

    1. Following this section: https://royerlab.github.io/aydin/getting_started/install.html#install-aydin-in-a-conda-environment-with-cuda-support
    2. Run aydin in termal
    ❯ aydin
    <class 'OSError'> dlopen(/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
      Referenced from: /Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so
      Reason: image not found <traceback object at 0x7f834cb109c0>
    Traceback (most recent call last):
      File "/Users/tl10/miniconda3/envs/aydin_env/bin/aydin", line 8, in <module>
        sys.exit(cli())
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/click/core.py", line 1128, in __call__
        return self.main(*args, **kwargs)
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/click/core.py", line 1053, in main
        rv = self.invoke(ctx)
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/click/core.py", line 1637, in invoke
        super().invoke(ctx)
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/click/core.py", line 1395, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/click/core.py", line 754, in invoke
        return __callback(*args, **kwargs)
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func
        return f(get_current_context(), *args, **kwargs)
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/aydin/cli/cli.py", line 47, in cli
        run(VERSION)
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/aydin/gui/gui.py", line 123, in run
        ex = App(ver)
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/aydin/gui/gui.py", line 37, in __init__
        self.main_widget = MainPage(self, self.threadpool)
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/aydin/gui/main_page.py", line 60, in __init__
        "Denoise": DenoiseTab(self),
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/aydin/gui/tabs/qt/denoise.py", line 63, in __init__
        ) = get_list_of_denoiser_implementations()
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/aydin/restoration/denoise/util/denoise_utils.py", line 59, in get_list_of_denoiser_implementations
        descriptions += denoiser_class().implementations_description
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/aydin/restoration/denoise/noise2selffgr.py", line 148, in implementations_description
        response = importlib.import_module(regression.__name__ + '.' + module.name)
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 850, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/aydin/regression/lgbm.py", line 6, in <module>
        import lightgbm
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/lightgbm/__init__.py", line 8, in <module>
        from .basic import Booster, Dataset, Sequence, register_logger
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/lightgbm/basic.py", line 110, in <module>
        _LIB = _load_lib()
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/lightgbm/basic.py", line 101, in _load_lib
        lib = ctypes.cdll.LoadLibrary(lib_path[0])
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/ctypes/__init__.py", line 460, in LoadLibrary
        return self._dlltype(name)
      File "/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/ctypes/__init__.py", line 382, in __init__
        self._handle = _dlopen(self._name, mode)
    OSError: dlopen(/Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
      Referenced from: /Users/tl10/miniconda3/envs/aydin_env/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so
      Reason: image not found
    

    Expected behavior AydinStudio running with GUI

    Screenshots Where the current libomp is installed:

    ❯ brew info libomp
    libomp: stable 13.0.0 (bottled)
    LLVM's OpenMP runtime library
    https://openmp.llvm.org/
    /Users/tl10/homebrew/Cellar/libomp/13.0.0 (9 files, 1.6MB) *
      Poured from bottle on 2021-12-14 at 12:15:36
    From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/libomp.rb
    License: MIT
    

    Desktop (please complete the following information):

    • OS: OSX
    • Version : catalina 10.15.7
    bug 
    opened by BioinfoTongLI 8
  • cannot convert float NaN to integer

    cannot convert float NaN to integer

    Traceback (most recent call last): File "C:\Users\xxxxxx\Miniconda3\envs\aydin_env\lib\site-packages\aydin\gui_qt\job_runners\worker.py", line 60, in run result = self.fn(*self.args, **self.kwargs) File "C:\Users\xxxxxx\Miniconda3\envs\aydin_env\lib\site-packages\aydin\gui_qt\job_runners\denoise_job_runner.py", line 67, in start_func denoised = self.denoiser.denoise( File "C:\Users\xxxxxx\Miniconda3\envs\aydin_env\lib\site-packages\aydin\restoration\denoise\classic.py", line 349, in denoise response = self.it.translate( File "C:\Users\xxxxxx\Miniconda3\envs\aydin_env\lib\site-packages\aydin\it\base.py", line 393, in translate tilling_strategy, margins = self._get_tilling_strategy_and_margins( File "C:\Users\xxxxxx\Miniconda3\envs\aydin_env\lib\site-packages\aydin\it\base.py", line 569, in _get_tilling_strategy_and_margins spatiotemp_tilling_strategy = tuple( File "C:\Users\xxxxxx\Miniconda3\envs\aydin_env\lib\site-packages\aydin\it\base.py", line 570, in max(1, min(rest_split_factor, int(math.ceil(split_per_dim * s)))) ValueError: cannot convert float NaN to integer

    System: Intel Xeon Gold 6256 CPU 3.6Ghz RAM 1TB

    Windowns Server 2016 ver1607

    Aydin

    bug 
    opened by pent1162 6
  • Problem with Aydin installation

    Problem with Aydin installation

    I get the following code when I try to launch aydin 0.0.15: ``(aydin_env) C:\Users\Mary Brown>aydin Traceback (most recent call last): File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\runpy.py", line 197, in run_module_as_main return run_code(code, main_globals, None, File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\runpy.py", line 87, in run_code exec(code, run_globals) File "C:\Users\Mary Brown.conda\envs\aydin_env\Scripts\aydin.exe_main.py", line 4, in File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\aydin\cli\cli.py", line 16, in from aydin.gui.gui import run File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\aydin\gui\gui.py", line 7, in from aydin.gui.main_page import MainPage File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\aydin\gui\main_page.py", line 27, in from aydin.gui.tabs.qt.denoising_cropping import DenoisingCroppingTab File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\aydin\gui\tabs\qt\denoising_cropping.py", line 1, in from aydin.gui.tabs.qt.base_cropping import BaseCroppingTab File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\aydin\gui\tabs\qt\base_cropping.py", line 2, in from napari.qt.qt_viewer import QtViewer File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\napari_qt_init.py", line 6, in from ..utils.translations import trans File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\napari\utils_init.py", line 2, in from .colormaps import Colormap File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\napari\utils\colormaps_init.py", line 2, in from .colormap import Colormap File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\napari\utils\colormaps\colormap.py", line 7, in from ..events import EventedModel File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\napari\utils\events_init_.py", line 1, in from .event import ( # isort:skip File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\napari\utils\events\event.py", line 73, in from ..translations import trans File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\napari\utils\translations.py", line 13, in from ._base import _DEFAULT_CONFIG_PATH, _DEFAULT_LOCALE File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\napari\utils_base.py", line 14, in _DEFAULT_CONFIG_PATH = user_config_dir(_APPNAME, _APPAUTHOR, _FILENAME) File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\appdirs.py", line 196, in user_config_dir path = user_data_dir(appname, appauthor, None, roaming) File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\appdirs.py", line 81, in user_data_dir path = os.path.normpath(_get_win_folder(const)) File "C:\Users\Mary Brown.conda\envs\aydin_env\lib\site-packages\appdirs.py", line 480, in _get_win_folder_with_pywin32 from win32com.shell import shellcon, shell ImportError: DLL load failed while importing shell: The specified procedure could not be found.

    I am not learned in computer coding and I'm not sure how to interpret this. What is wrong with my Aydin 0.1.15 installation? Will you create an exe or msi Windows installation file for this new version of Aydin? Thank you.

    opened by maryebrown1 6
  • Not finding model zipped folder

    Not finding model zipped folder

    Hi, It seems that, for some reason I cannot figure out, Aydin cannot find the zipped model file. It does not happen every time, so I do not think it is an installation issue. I would say it is rather a problem with zipping the folder, as the folder is in place and with a bunch of files inside:

    /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_options3.json
    /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_denoised3.tif
    /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3
      /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3/channel0
        /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3/channel0/lgbm_model.txt
        /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3/channel0/regressor_model.json
      /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3/channel1
        /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3/channel1/lgbm_model.txt
        /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3/channel1/regressor_model.json
      /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3/feature_generation.json
      /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3/image_translation.json
      /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3/regressor.json
    
    DONE, options json written in /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_options3.json 
    ├╗ Saving 'fgr' image translator to /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3 
    │├  Saving image translator to: /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3 
    │├  Saving feature generator to: /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3 
    │├  Saving regressor to: /home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3 
    │┴« 6.02 seconds 
    │ 
    ├  Previously existing model will be deleted before saving the new model 
    Traceback (most recent call last):
      File "/home/julio/.conda/envs/aydin_env/lib/python3.9/shutil.py", line 815, in move
        os.rename(src, real_dst)
    FileNotFoundError: [Errno 2] No such file or directory: '20211103_Aux-async_1225_p008_training.ome_model3.zip' -> '/home/julio/temp/Aydin_tests/20211103_Aux-async_1225_p008_training.ome_model3.zip'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/home/julio/.conda/envs/aydin_env/lib/python3.9/site-packages/aydin/gui/_qt/job_runners/worker.py", line 67, in run
        result = self.fn(*self.args, **self.kwargs)
      File "/home/julio/.conda/envs/aydin_env/lib/python3.9/site-packages/aydin/gui/_qt/job_runners/denoise_job_runner.py", line 81, in start_func
        self.denoiser.save_model(model_path)
      File "/home/julio/.conda/envs/aydin_env/lib/python3.9/site-packages/aydin/restoration/denoise/base.py", line 167, in save_model
        self.archive_model(model_path, os.path.dirname(model_path))
      File "/home/julio/.conda/envs/aydin_env/lib/python3.9/site-packages/aydin/restoration/denoise/base.py", line 153, in archive_model
        shutil.move(f"{name}.{format}", destination)
      File "/home/julio/.conda/envs/aydin_env/lib/python3.9/shutil.py", line 835, in move
        copy_function(src, real_dst)
      File "/home/julio/.conda/envs/aydin_env/lib/python3.9/shutil.py", line 444, in copy2
        copyfile(src, dst, follow_symlinks=follow_symlinks)
      File "/home/julio/.conda/envs/aydin_env/lib/python3.9/shutil.py", line 264, in copyfile
        with open(src, 'rb') as fsrc:
    FileNotFoundError: [Errno 2] No such file or directory: '20211103_Aux-async_1225_p008_training.ome_model3.zip
    

    OS is Fedora34 installation through conda

    Do you have an idea of something I could try?

    opened by juliomateoslangerak 6
  • aydin_0.1.11_linux.zip needs glibc >= 2.18

    aydin_0.1.11_linux.zip needs glibc >= 2.18

    Describe the bug The linux bundled version is not compatible with CentOS-7 x86_64. Missing documentation requirement...

    To Reproduce Steps to reproduce the behavior:

    1. wget https://github.com/royerlab/aydin/releases/download/v0.1.11/aydin_0.1.11_linux.zip
    2. unzip aydin_0.1.11_linux.zip
    3. cd aydin_0.1.11_linux/
    4. ./run_aydin.sh

    Expected behavior aydin starting as explained https://royerlab.github.io/aydin/getting_started/install.html#install-aydin-bundle-on-linux

    Screenshots

    [[email protected] aydin_0.1.11_linux]$ ./run_aydin.sh 
    Traceback (most recent call last):
      File "build/linux/runtimehooks/hook-splash.py", line 1, in <module>
      File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
      File "matplotlib/__init__.py", line 107, in <module>
      File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
      File "matplotlib/rcsetup.py", line 26, in <module>
      File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
      File "matplotlib/colors.py", line 82, in <module>
      File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
      File "matplotlib/scale.py", line 18, in <module>
      File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
      File "matplotlib/ticker.py", line 179, in <module>
      File "PyInstaller/loader/pyimod03_importers.py", line 546, in exec_module
      File "matplotlib/transforms.py", line 46, in <module>
    ImportError: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /dev/shm/aydin_0.1.11_linux/aydin/libstdc++.so.6)
    [13014] Failed to execute script 'hook-splash' due to unhandled exception!
    

    Desktop (please complete the following information):

    • OS: CentOS-7 x86_64 (up to date)
    • Version: 7.9.2009

    Additional context

    [[email protected] aydin_0.1.11_linux]$ rpm -q glibc
    glibc-2.17-325.el7_9.x86_64
    glibc-2.17-325.el7_9.i686
    
    bug 
    opened by truatpasteurdotfr 5
  • installation fails

    installation fails

    Dear all, I have tried to install Aydin. When executing " pip install aydin", I get the following error-message: File "C:\Users\kirsch\Miniconda3\envs\aydin_env\lib\site-packages\pip_vendor\urllib3\response.py", line 442, in _error_catcher raise ReadTimeoutError(self._pool, None, "Read timed out.") pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. WARNING: There was an error checking the latest version of pip.

    Help would be greatly appreciated. Thanks and best, Matthias

    opened by mocherry 4
  • Use a pyside2-based approach instead of pyqt5

    Use a pyside2-based approach instead of pyqt5

    PyQt5 does not provide commercial support by default. PySide2 is PyQt5 with a commercial-friendly lib. Migrating means only renaming imports mainly and few refinements here and there.

    QDarkStyle==3.0.2 and qtpy==1.11.2 both supports pyside2 even pyside6. Switching to pyside might provide an even better business adoption.

    opened by Abdur-rahmaanJ 4
  • GUI: new egg chamber example dataset

    GUI: new egg chamber example dataset

    This PR introduces the drosophile egg chamber data from LimeSeg Test Datasets(https://zenodo.org/record/1472859) as a new example dataset to Aydin Studio per @royerloic and @haesleinhuepf requested. Also this will enable aydin napari plugin to expose this data as an example data together with the plugin.

    enhancement 
    opened by AhmetCanSolak 3
  • GUI: editable output paths

    GUI: editable output paths

    This PR is adding a column on the images tab to expose the output path that will be used to write the resulting denoised image. This feature is requested by @li-li-github first but I think will be helpful to many. Initial design of the idea can be seen in the screenshot here:

    image

    One thing worth to mention, it is common to have users want to output everything into one specific folder location. We should try to enable an easy way to just set one output folder as well.

    feature request 
    opened by AhmetCanSolak 3
  • import in API docs gives error

    import in API docs gives error

    Describe the bug Thanks for the great library! As described in the API docs, I tried from aydin.restoration.denoise.noise2self_fgr import noise2self_fgr and received a ModuleNotFoundError. Perhaps it should be from aydin import noise2self_fgr?

    To Reproduce Steps to reproduce the behavior:

    1. Open python terminal
    2. Try from aydin.restoration.denoise.noise2self_fgr import noise2self_fgr
    3. See error

    Expected behavior Should import the noise2self_fgr() function

    Desktop (please complete the following information):

    • OS: Ubuntu 18.04
    bug 
    opened by kevinyamauchi 3
  • Using Aydin on Mac BigSur Chip M1

    Using Aydin on Mac BigSur Chip M1

    Describe the bug I installed Aydin on my Mac, but can't open it (while worked well on a PC). I got this error on the terminal:

    Last login: Thu Nov 11 12:10:33 on ttys001
    /Applications/aydin_0.1.9.app/Contents/MacOS/aydin ; exit;
    (base) -MacBook-Pro ~ % /Applications/aydin_0.1.9.app/Contents/MacOS/aydin ; exit;
    zsh: illegal hardware instruction  /Applications/aydin_0.1.9.app/Contents/MacOS/aydin
    Saving session...
    ...copying shared history...
    ...saving history...truncating history files...
    ...completed.
    
    [Process completed]
    

    Not sure what the problem is. I wonder if it could be a problem of compatibility with Apple M1 chip. Could you help me please?

    Desktop (please complete the following information):

    • OS: macOS BigSur
    • Version 11.2.1 (20D74)
    bug 
    opened by MeghaneSittewelle 3
  • CLI: L1 loss and PSNR with Self-Supervised Loss for benchmark_algos command

    CLI: L1 loss and PSNR with Self-Supervised Loss for benchmark_algos command

    This PR introduces a new result metric to Aydin CLI benchmark_algos command, which is PSNR with self-supervised loss used instead of MSE(mean-squared error) term.

    opened by AhmetCanSolak 0
  • Torch does not have access to GPU after Aydin installation

    Torch does not have access to GPU after Aydin installation

    Describe the bug After following the conda installation instructions from (https://github.com/royerlab/aydin) pytorch does not have access to the GPU.

    To Reproduce Steps to reproduce the behavior:

    1. Run conda installation instructions from (https://github.com/royerlab/aydin).
    2. Run python in the bash.
    3. Run import torch.
    4. Run torch.cuda.is_available().

    Expected behavior Expected True but gives False

    Screenshots image

    Desktop (please complete the following information):

    • Windows 10 Enterprise LTSC
    • GPU: NVIDIA Quadro P1000
    • Cuda compilation tools, release 11.6, V11.6.124 Build cuda_11.6.r11.6/compiler.31057947_0

    Additional context Interestingly after also installing cudnn with conda install cudnn, tensorflow successfully can find the GPU using: import tensorflow as tf print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

    bug 
    opened by leopold-franz 2
  • rep_crop ZeroDivisionError

    rep_crop ZeroDivisionError

    Describe the bug We get a ZeroDivisionError with an image shape of (2, 84, 580, 576). This issue is a reminder to our future selves.

    To Reproduce Steps to reproduce the behavior:

    1. Get two 3D timepoints
    2. Make hyperstack with t=2
    3. Run denoising
    4. See error

    Expected behavior No error, smooth run.

    Screenshots

    Traceback (most recent call last):
      File "/Users/ahmetcan.solak/Dev/AhmetCanSolak/aydin/aydin/gui/_qt/job_runners/worker.py", line 60, in run
        result = self.fn(*self.args, **self.kwargs)
      File "/Users/ahmetcan.solak/Dev/AhmetCanSolak/aydin/aydin/gui/_qt/job_runners/denoise_job_runner.py", line 60, in start_func
        self.denoiser.train(
      File "/Users/ahmetcan.solak/Dev/AhmetCanSolak/aydin/aydin/restoration/denoise/noise2selffgr.py", line 279, in train
        self.it.train(
      File "/Users/ahmetcan.solak/Dev/AhmetCanSolak/aydin/aydin/it/base.py", line 280, in train
        self.blind_spots, autocorrelogram = auto_detect_blindspots(
      File "/Users/ahmetcan.solak/Dev/AhmetCanSolak/aydin/aydin/analysis/blind_spot_analysis.py", line 105, in auto_detect_blindspots
        image = representative_crop(image, crop_size=int(1e6), favour_odd_lengths=True)
      File "/Users/ahmetcan.solak/Dev/AhmetCanSolak/aydin/aydin/util/crop/rep_crop.py", line 235, in representative_crop
        translation = tuple(
      File "/Users/ahmetcan.solak/Dev/AhmetCanSolak/aydin/aydin/util/crop/rep_crop.py", line 236, in <genexpr>
        (randrange(0, max(1, (s - cs) // g)) * g if cs != s else 0)
    ZeroDivisionError: integer division or modulo by zero
    

    Additional context Add any other context about the problem here.

    bug 
    opened by AhmetCanSolak 0
  • Add algorithm variants to docstring

    Add algorithm variants to docstring

    Is your feature request related to a problem? Please describe. I was just using aydin.restoration.denoise.classic.classic_denoise and received an error because I didn't specify the variant parameter. When trying to find out what variants exist, I had to go to the source code.

    Describe the solution you'd like Would it be possible to add the available variants to the docstring?

    Also this docstring appears misleading.

    bug feature request 
    opened by haesleinhuepf 2
Releases(v0.1.15)
  • v0.1.15(Oct 18, 2022)

    What's Changed

    • DEP: Pyinstaller bump to 5.1 by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/187
    • GUI: main layout refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/190
    • BUG: GUI layout name bug by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/191
    • CONTRIBUTING guidelines update by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/194
    • IT-CNN default patch_size value by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/195
    • CLI: Split channels by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/197
    • Contributing guideline updates by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/199
    • napari version bump to 0.4.15 by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/206
    • DOC: it level docstrings refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/201
    • Restoration variant option bug fix and refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/203
    • Making dependency pinnings bundle only by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/202
    • torch input and target images tiling by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/192
    • build: osx hook fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/208
    • Torch unet n2t training loop refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/210
    • Torch unet maskout by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/209
    • BUG: GUI: denoise tab selection persistence by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/212
    • pytest general test speed-up by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/211
    • Torch unet fstring fixes by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/213
    • Torch original unet by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/216
    • Torch unet residual by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/215
    • Torch model demos by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/218
    • Torch Linear Scaling UNet by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/217
    • Relaxing torch dependency version by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/219
    • Relaxing gdown version by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/220
    • Misc. test fixes by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/221
    • Relaxing click dependency version by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/224
    • Removing googledrivedownloader from dependencies by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/225
    • Relaxing nd2reader pinning by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/226
    • Relaxing memoization version by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/229
    • Relaxing numexpr version by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/228
    • Relaxing scipy version by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/227
    • Removing unused code by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/230
    • Catboost regressor refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/222
    • Relaxing pynndescent version by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/231
    • CB regressor bug fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/232
    • Fourier Shell Correlation by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/223
    • fixed min max number of estimators by @royerloic in https://github.com/royerlab/aydin/pull/234
    • GUI: new egg chamber example dataset by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/237
    • DOC: Example datasets gallery by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/236
    • removing unused util misc modules by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/240
    • New random patch generation function by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/239
    • BUG: restoration cnn channel_axes parameter check fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/241
    • Torch unet n2s by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/214
    • torch random pixel masking by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/242
    • zarr version is unpinned by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/243
    • Torch jinet implementation by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/196
    • CLI: fsc command by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/246
    • Torch tests demos refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/245
    • BUG: 3D jinet bug patch by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/244
    • psnr ssim print statements for demos and tests by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/247
    • Deprecate Tensorflow related code by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/249
    • Py310 support by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/248
    • imagio version fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/253
    • numexpr to numba by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/252
    • Versioning for docs by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/254
    • sphinx-multiversion dependency added by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/256
    • Torch it cnn by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/250
    • fix on n2t tests by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/258
    • github labeler by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/257
    • BUG: fix for cnn restoration by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/260
    • Heavy tests action by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/261
    • Removing numba deprecation warnings by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/262

    Full Changelog: https://github.com/royerlab/aydin/compare/v0.1.14...v0.1.15

    Source code(tar.gz)
    Source code(zip)
    aydin_v0.1.15_win.zip(810.87 MB)
  • v0.1.14(Jun 4, 2022)

    What's Changed

    • bundle urls updated upon new release by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/157
    • Current fixes by @royerloic in https://github.com/royerlab/aydin/pull/158
    • DOC: OpenCell Use Case by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/159
    • Update README.md by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/160
    • DOC: build warnings resolutions by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/162
    • DOC: removing why_aydin.rst from build checks by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/164
    • Restoration: Unused code refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/165
    • CLI: lucyrichardson refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/166
    • CLI: Click tests for CLI commands by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/132
    • DOC: Classic denoisers API reference by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/168
    • GUI: Removing pyqt5 imports by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/169
    • GUI: Super class call bug fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/170
    • GUI: range label for cropping sliders by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/171
    • DEP: numexpr version to 2.8.1 by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/175
    • CLI: psnr command typo fixes by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/177
    • CLI: mse command by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/178
    • CLI: test bug fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/179
    • DEP: Tensorflow version to 2.8.1, Keras to 2.8.0 by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/174
    • IO: Tests cannot find hela dataset by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/180
    • DOC: Use case updates by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/182
    • DOC: changing use case order by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/183
    • Latest fixes by @royerloic in https://github.com/royerlab/aydin/pull/181
    • DOC: follow-up after use case updates by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/184
    • CI: protobuf install fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/185
    • DEP: numba to 0.55.1 by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/176
    • BUILD: Adding missing hiddenimports by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/186
    • BUG: Latest protobuf import error resolution by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/188
    • DOC: Chicken embryo use case by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/189

    Full Changelog: https://github.com/royerlab/aydin/compare/v0.1.13...v0.1.14

    Source code(tar.gz)
    Source code(zip)
    aydin_v0.1.14_linux.zip(851.45 MB)
    aydin_v0.1.14_win.zip(655.48 MB)
  • v0.1.13(Apr 26, 2022)

    What's Changed

    • pyinstaller version upgraded by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/89
    • Bundle links updated after new release by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/90
    • GUI: editable output paths by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/84
    • BUG: cli lucyrichardson psf reading bug fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/92
    • GUI: Removing train_on field from data model by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/93
    • DOC: gui output folder tutorial by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/94
    • Update LICENSE.txt by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/96
    • DOC: sphinx-copybuton by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/98
    • UNet model in pytorch by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/79
    • Scipy version fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/100
    • Temporary nn structure by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/101
    • GUI: Load pretrained models by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/97
    • Restoration module level load model by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/103
    • TEST: adding saveload tests on restoration level by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/104
    • BUG: GUI pretrained model usage by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/102
    • Removing default txt by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/107
    • GUI: Removing code duplication on denoise tab refreshes by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/108
    • Pypi download badge by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/109
    • LGBM save model fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/111
    • Improvements to aydin docstrings by @royerloic in https://github.com/royerlab/aydin/pull/110
    • numpy sqrt refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/112
    • DOC: Perceptron regressor updates by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/113
    • Improve classic optimiser by @royerloic in https://github.com/royerlab/aydin/pull/114
    • Github actions to do style and lint checks by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/117
    • Flake fixes by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/120
    • Github actions test task by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/119
    • Bug fix on classic restoration implementation by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/121
    • Dim analysis by @royerloic in https://github.com/royerlab/aydin/pull/118
    • GUI: text wrapping fixes by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/95
    • FGR blind_spots argumet duplication fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/123
    • Fixing bugs by @royerloic in https://github.com/royerlab/aydin/pull/124
    • CI: Test task dependency fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/125
    • GUI: Cropping tabs Z step update by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/127
    • CI: capturing only related output by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/128
    • GUI: Text wrapping for parameter names by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/130
    • CatBoost Regressor learning_rate seed by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/129
    • More improvements by @royerloic in https://github.com/royerlab/aydin/pull/126
    • Classic denoisers interpolation mode default value by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/134
    • Refactor: namedtuple defaults for classic denoisers by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/135
    • GUI: Disabling spatial features by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/136
    • GUI: Auto crop for training data Z and T dimensions by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/139
    • GUI: Spatial feature disabling bug fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/140
    • Classic restoration ImageTranslator level args by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/142
    • Catboost version bump to 1.0.5 by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/141
    • CLI: psnr and ssim commands by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/145
    • Minor fixes -- actually not so minor... by @royerloic in https://github.com/royerlab/aydin/pull/144
    • BUG: Dimension Analysis by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/147
    • Update CONTRIBUTING.md by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/149
    • BUG: CLI hyperstack command file output by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/150
    • Final fixes before new release by @royerloic in https://github.com/royerlab/aydin/pull/148
    • DEP: distributed by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/153
    • Even faster cropping by @royerloic in https://github.com/royerlab/aydin/pull/152
    • BUG: super fast crop zoom call fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/154
    • BUG: Build scipy missing hooks by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/155

    Full Changelog: https://github.com/royerlab/aydin/compare/v0.1.12...v0.1.13

    Source code(tar.gz)
    Source code(zip)
    aydin_0.1.13_linux.zip(1616.28 MB)
    aydin_0.1.13_osx.pkg(487.18 MB)
    aydin_0.1.13_win.zip(644.19 MB)
  • v0.1.12(Jan 26, 2022)

    What's Changed

    • updating bundle links by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/57
    • adding options json page on docs by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/60
    • CLI: enabling batch axes and channel axes arguments on CLI by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/62
    • GUI: handling mistyped parameters by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/65
    • DOC: cli tutorial on how to pass batch dimensions by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/66
    • GUI: separating npr viewer and model definitions by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/67
    • BUILD: linux fixes by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/68
    • BUILD: osx build fixes after required package updates by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/69
    • BUILD: Bug fix after scikit-learn version upgrade by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/71
    • BUILD: Windows fixes related to imageio and numba by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/72
    • importlib-metadata version upgraded by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/73
    • Refactor: bringing back ArrayLike type annotations to it.transforms by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/75
    • GUI: Basic/Advanced modes toggle feature by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/64
    • GUI: Hiding advanced processing tabs when basic mode is active by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/76
    • Refactor: Misc gui code refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/77
    • Refactor: It cnn file refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/78
    • GUI: Saving processing related details by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/80
    • BUG: Aydin CLI was not saving model by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/81
    • DOC: Contributing guideline update by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/83
    • BUG: CLI was crashing with multiple images by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/86
    • CLI: output folder option by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/85
    • DOC: CLI tutorial on output folder arg by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/87
    • BUG: Fixing after breaking regressor name refactor by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/88

    Full Changelog: https://github.com/royerlab/aydin/compare/v0.1.11...v0.1.12

    Source code(tar.gz)
    Source code(zip)
    aydin_0.1.12_linux.zip(812.79 MB)
    aydin_0.1.12_osx.pkg(355.55 MB)
    aydin_0.1.12_win.zip(637.07 MB)
  • v0.1.11(Nov 25, 2021)

    What's Changed

    • version update to v0.1.9 by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/38
    • doi-addition-to-docs by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/39
    • Update issue templates by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/41
    • cli tutorial fixes by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/45
    • Docs fixes demo fixes numba features fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/46
    • update on README.md by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/47
    • Update README.md by @Abdur-rahmaanJ in https://github.com/royerlab/aydin/pull/42
    • DOC: install add libomp warning added to install page by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/48
    • Adding image.sc links by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/49
    • adding doi to cli and gui by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/50
    • adding links across docs gui and repository by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/51
    • dependency version updates by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/52
    • docs api tutorials import fixes on restoration modules by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/54
    • adding py39 disclaimer to getting started section in docs by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/55
    • osx build splash screen fix by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/56

    New Contributors

    • @Abdur-rahmaanJ made their first contribution in https://github.com/royerlab/aydin/pull/42

    Full Changelog: https://github.com/royerlab/aydin/compare/v0.1.9...v0.1.11

    Source code(tar.gz)
    Source code(zip)
    aydin_0.1.11_linux.zip(795.04 MB)
    aydin_0.1.11_osx.pkg(353.25 MB)
    aydin_0.1.11_win.zip(634.10 MB)
  • v0.1.9(Nov 8, 2021)

    What's Changed

    • docs-adding-bundle-links by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/32
    • gui-example-datasets-renaming by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/33
    • adding-precommit-config by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/34
    • docs-connecting-missing-links by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/35
    • Hyers by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/36
    • docs-making-github-issue-link-work by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/37

    Full Changelog: https://github.com/royerlab/aydin/compare/v0.1.8...v0.1.9

    Source code(tar.gz)
    Source code(zip)
    aydin_0.1.9_linux.zip(765.76 MB)
    aydin_0.1.9_osx.pkg(348.54 MB)
    aydin_0.1.9_win.zip(627.72 MB)
  • v0.1.8(Nov 6, 2021)

    First public release

    What's Changed

    • migrating-to-github by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/24
    • Connected links on both summary and denoise tabs by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/25
    • docs-adding-summary-ss-on-hardware-req-page by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/26
    • gui-denoise-tab-fix-explanation-for-n2s-variants by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/27
    • gui-br-tag-cleaning by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/28
    • gui-extended-bold-text-prevented by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/29
    • setuptools-related-updates by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/30
    • Release related updates by @AhmetCanSolak in https://github.com/royerlab/aydin/pull/31

    New Contributors

    • @royerloic made their first contribution in https://github.com/royerlab/aydin/pull/14
    • @li-li-github made their first contribution in https://github.com/royerlab/aydin/pull/16

    Full Changelog: https://github.com/royerlab/aydin/commits/v0.1.8

    Source code(tar.gz)
    Source code(zip)
    aydin_0.1.8_linux.zip(765.78 MB)
    aydin_0.1.8_osx.pkg(348.53 MB)
    aydin_0.1.8_win.zip(627.52 MB)
Owner
Royer Lab
Official repository of the Royer Lab where all the freaking cool stuff is cooked
Royer Lab
PyTorch implementation of the Crafting Better Contrastive Views for Siamese Representation Learning

Crafting Better Contrastive Views for Siamese Representation Learning This is the official PyTorch implementation of the ContrastiveCrop paper: @artic

249 Dec 28, 2022
Keras Implementation of Neural Style Transfer from the paper "A Neural Algorithm of Artistic Style"

Neural Style Transfer & Neural Doodles Implementation of Neural Style Transfer from the paper A Neural Algorithm of Artistic Style in Keras 2.0+ INetw

Somshubra Majumdar 2.2k Dec 31, 2022
Picasso: A CUDA-based Library for Deep Learning over 3D Meshes

The Picasso Library is intended for complex real-world applications with large-scale surfaces, while it also performs impressively on the small-scale applications over synthetic shape manifolds. We h

97 Dec 01, 2022
Source code for "Roto-translated Local Coordinate Framesfor Interacting Dynamical Systems"

Roto-translated Local Coordinate Frames for Interacting Dynamical Systems Source code for Roto-translated Local Coordinate Frames for Interacting Dyna

Miltiadis Kofinas 19 Nov 27, 2022
A code implementation of AC-GC: Activation Compression with Guaranteed Convergence, in NeurIPS 2021.

Code For AC-GC: Lossy Activation Compression with Guaranteed Convergence This code is intended to be used as a supplemental material for submission to

Dave Evans 2 Nov 01, 2022
Decensoring Hentai with Deep Neural Networks. Formerly named DeepMindBreak.

DeepCreamPy Decensoring Hentai with Deep Neural Networks. Formerly named DeepMindBreak. A deep learning-based tool to automatically replace censored a

616 Jan 06, 2023
Align before Fuse: Vision and Language Representation Learning with Momentum Distillation

This is the official PyTorch implementation of the ALBEF paper [Blog]. This repository supports pre-training on custom datasets, as well as finetuning on VQA, SNLI-VE, NLVR2, Image-Text Retrieval on

Salesforce 805 Jan 09, 2023
Our CIKM21 Paper "Incorporating Query Reformulating Behavior into Web Search Evaluation"

Reformulation-Aware-Metrics Introduction This codebase contains source-code of the Python-based implementation of our CIKM 2021 paper. Chen, Jia, et a

xuanyuan14 5 Mar 05, 2022
Code base for the paper "Scalable One-Pass Optimisation of High-Dimensional Weight-Update Hyperparameters by Implicit Differentiation"

This repository contains code for the paper Scalable One-Pass Optimisation of High-Dimensional Weight-Update Hyperparameters by Implicit Differentiati

8 Aug 28, 2022
Implementation of SE3-Transformers for Equivariant Self-Attention, in Pytorch.

SE3 Transformer - Pytorch Implementation of SE3-Transformers for Equivariant Self-Attention, in Pytorch. May be needed for replicating Alphafold2 resu

Phil Wang 207 Dec 23, 2022
Simple reimplemetation experiments about FcaNet

FcaNet-CIFAR An implementation of the paper FcaNet: Frequency Channel Attention Networks on CIFAR10/CIFAR100 dataset. how to run Code: python Cifar.py

76 Feb 04, 2021
A model which classifies reviews as positive or negative.

SentiMent Analysis In this project I built a model to classify movie reviews fromn the IMDB dataset of 50K reviews. WordtoVec : Neural networks only w

Rishabh Bali 2 Feb 09, 2022
Cancer metastasis detection with neural conditional random field (NCRF)

NCRF Prerequisites Data Whole slide images Annotations Patch images Model Training Testing Tissue mask Probability map Tumor localization FROC evaluat

Baidu Research 731 Jan 01, 2023
Cross View SLAM

Cross View SLAM This is the associated code and dataset repository for our paper I. D. Miller et al., "Any Way You Look at It: Semantic Crossview Loca

Ian D. Miller 99 Dec 09, 2022
A PyTorch Image-Classification With AlexNet And ResNet50.

PyTorch 图像分类 依赖库的下载与安装 在终端中执行 pip install -r -requirements.txt 完成项目依赖库的安装 使用方式 数据集的准备 STL10 数据集 下载:STL-10 Dataset 存储位置:将下载后的数据集中 train_X.bin,train_y.b

FYH 4 Feb 22, 2022
An implementation of "Optimal Textures: Fast and Robust Texture Synthesis and Style Transfer through Optimal Transport"

Optex An implementation of Optimal Textures: Fast and Robust Texture Synthesis and Style Transfer through Optimal Transport for TU Delft CS4240. You c

Hans Brouwer 33 Jan 05, 2023
Bayes-Newton—A Gaussian process library in JAX, with a unifying view of approximate Bayesian inference as variants of Newton's algorithm.

Bayes-Newton Bayes-Newton is a library for approximate inference in Gaussian processes (GPs) in JAX (with objax), built and actively maintained by Wil

AaltoML 165 Nov 27, 2022
The official github repository for Towards Continual Knowledge Learning of Language Models

Towards Continual Knowledge Learning of Language Models This is the official github repository for Towards Continual Knowledge Learning of Language Mo

Joel Jang | 장요엘 65 Jan 07, 2023
Meta graph convolutional neural network-assisted resilient swarm communications

Resilient UAV Swarm Communications with Graph Convolutional Neural Network This repository contains the source codes of Resilient UAV Swarm Communicat

62 Dec 06, 2022
The source codes for TME-BNA: Temporal Motif-Preserving Network Embedding with Bicomponent Neighbor Aggregation.

TME The source codes for TME-BNA: Temporal Motif-Preserving Network Embedding with Bicomponent Neighbor Aggregation. Our implementation is based on TG

2 Feb 10, 2022