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

    [tru@sillage 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

    [tru@sillage 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
Official repository for "Restormer: Efficient Transformer for High-Resolution Image Restoration". SOTA for motion deblurring, image deraining, denoising (Gaussian/real data), and defocus deblurring.

Restormer: Efficient Transformer for High-Resolution Image Restoration Syed Waqas Zamir, Aditya Arora, Salman Khan, Munawar Hayat, Fahad Shahbaz Khan,

Syed Waqas Zamir 906 Dec 30, 2022
BDDM: Bilateral Denoising Diffusion Models for Fast and High-Quality Speech Synthesis

Bilateral Denoising Diffusion Models (BDDMs) This is the official PyTorch implementation of the following paper: BDDM: BILATERAL DENOISING DIFFUSION M

null 172 Dec 23, 2022
Official implementation of Deep Convolutional Dictionary Learning for Image Denoising.

DCDicL for Image Denoising Hongyi Zheng*, Hongwei Yong*, Lei Zhang, "Deep Convolutional Dictionary Learning for Image Denoising," in CVPR 2021. (* Equ

Z80 91 Dec 21, 2022
Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising

Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising

Kai Zhang 1.2k Dec 29, 2022
This is an official implementation of the CVPR2022 paper "Blind2Unblind: Self-Supervised Image Denoising with Visible Blind Spots".

Blind2Unblind: Self-Supervised Image Denoising with Visible Blind Spots Blind2Unblind Citing Blind2Unblind @inproceedings{wang2022blind2unblind, tit

demonsjin 58 Dec 6, 2022
Fake-user-agent-traffic-geneator - Python CLI Tool to generate fake traffic against URLs with configurable user-agents

Fake traffic generator for Gartner Demo Generate fake traffic to URLs with custo

New Relic Experimental 3 Oct 31, 2022
An extremely simple, intuitive, hardware-friendly, and well-performing network structure for LiDAR semantic segmentation on 2D range image. IROS21

FIDNet_SemanticKITTI Motivation Implementing complicated network modules with only one or two points improvement on hardware is tedious. So here we pr

YimingZhao 54 Dec 12, 2022
Prototypical Pseudo Label Denoising and Target Structure Learning for Domain Adaptive Semantic Segmentation (CVPR 2021)

Prototypical Pseudo Label Denoising and Target Structure Learning for Domain Adaptive Semantic Segmentation (CVPR 2021, official Pytorch implementatio

Microsoft 247 Dec 25, 2022
HiFi-GAN: High Fidelity Denoising and Dereverberation Based on Speech Deep Features in Adversarial Networks

HiFiGAN Denoiser This is a Unofficial Pytorch implementation of the paper HiFi-GAN: High Fidelity Denoising and Dereverberation Based on Speech Deep F

Rishikesh (ऋषिकेश) 134 Dec 27, 2022
Minimal diffusion models - Minimal code and simple experiments to play with Denoising Diffusion Probabilistic Models (DDPMs)

Minimal code and simple experiments to play with Denoising Diffusion Probabilist

Rithesh Kumar 16 Oct 6, 2022
The trained model and denoising example for paper : Cardiopulmonary Auscultation Enhancement with a Two-Stage Noise Cancellation Approach

The trained model and denoising example for paper : Cardiopulmonary Auscultation Enhancement with a Two-Stage Noise Cancellation Approach

ycj_project 1 Jan 18, 2022
PyTorch Implementation of DiffGAN-TTS: High-Fidelity and Efficient Text-to-Speech with Denoising Diffusion GANs

DiffGAN-TTS - PyTorch Implementation PyTorch implementation of DiffGAN-TTS: High

Keon Lee 157 Jan 1, 2023
Practical Blind Denoising via Swin-Conv-UNet and Data Synthesis

Practical Blind Denoising via Swin-Conv-UNet and Data Synthesis [Paper] [Online Demo] The following results are obtained by our SCUNet with purely syn

Kai Zhang 312 Jan 7, 2023
Virtual Dance Reality Stage: a feature that offers you to share a stage with another user virtually

Portrait Segmentation using Tensorflow This script removes the background from an input image. You can read more about segmentation here Setup The scr

null 291 Dec 24, 2022
Pseudo-Visual Speech Denoising

Pseudo-Visual Speech Denoising This code is for our paper titled: Visual Speech Enhancement Without A Real Visual Stream published at WACV 2021. Autho

Sindhu 94 Oct 22, 2022
EDCNN: Edge enhancement-based Densely Connected Network with Compound Loss for Low-Dose CT Denoising

EDCNN: Edge enhancement-based Densely Connected Network with Compound Loss for Low-Dose CT Denoising By Tengfei Liang, Yi Jin, Yidong Li, Tao Wang. Th

workingcoder 115 Jan 5, 2023
The source code of the paper "Understanding Graph Neural Networks from Graph Signal Denoising Perspectives"

GSDN-F and GSDN-EF This repository provides a reference implementation of GSDN-F and GSDN-EF as described in the paper "Understanding Graph Neural Net

Guoji Fu 18 Nov 14, 2022
A denoising diffusion probabilistic model (DDPM) tailored for conditional generation of protein distograms

Denoising Diffusion Probabilistic Model for Proteins Implementation of Denoising Diffusion Probabilistic Model in Pytorch. It is a new approach to gen

Phil Wang 108 Nov 23, 2022
Point Cloud Denoising input segmentation output raw point-cloud valid/clear fog rain de-noised Abstract Lidar sensors are frequently used in environme

Point Cloud Denoising input segmentation output raw point-cloud valid/clear fog rain de-noised Abstract Lidar sensors are frequently used in environme

null 75 Nov 24, 2022