GithubHelp home page GithubHelp logo

4dnucleome / partseg Goto Github PK

View Code? Open in Web Editor NEW
27.0 3.0 7.0 33.36 MB

Tool for segmentation in bioimaging

Home Page: https://4dnucleome.cent.uw.edu.pl/PartSeg/

License: BSD 3-Clause "New" or "Revised" License

HTML 0.11% Python 98.01% Shell 0.09% Ruby 0.01% CSS 0.40% Jupyter Notebook 1.38%
napari bioimage-analysis

partseg's People

Contributors

anodarai avatar clemenshug avatar czaki avatar deepsource-autofix[bot] avatar deepsourcebot avatar dependabot-preview[bot] avatar dependabot[bot] avatar github-actions[bot] avatar jaimergp avatar neuromusic avatar placekmim avatar pre-commit-ci[bot] avatar probot-auto-merge[bot] avatar sourcery-ai[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

partseg's Issues

Search Label has a label limit of 1000

Hi,

first of all, I love your Search Label function and am using it regularly!
The images I am working with have often ten-thousands of instances/labels. However, your Search Label function has an upper limit of 1000. Meaning, if I want to inspect e.g. the instance with the label 4512 than that is not possible.
Would it be possible for you to remove this limitation?

Best,
Karol

Error when change image during ROI calculation

Sentry Issue: PARTSEG-AQ

ValueError: Wrong array shape [1, 39, 168, 163] for [1, 37, 150, 136]
  File "PartSeg\common_backend\base_settings.py", line 457, in set_segmentation_result
  File "PartSegImage\image.py", line 326, in fit_array_to_image
  File "PartSegImage\image.py", line 309, in _fit_array_to_image

ValueError: roi do not fit to image
  File "PartSeg\_roi_analysis\main_window.py", line 346, in execution_done
  File "PartSeg\common_backend\base_settings.py", line 462, in set_segmentation_result

Exception during program run

Version: 0.13.2

Dependabot couldn't find a requirements_text.txt for this project

Dependabot couldn't find a requirements_text.txt for this project.

Dependabot requires a requirements_text.txt to evaluate your project's current Python dependencies. It had expected to find one at the path: /requirements/requirements_text.txt.

If this isn't a Python project, or if it is a library, you may wish to disable updates for it in the .dependabot/config.yaml file in this repo.

View the update logs.

Prepare Measurement Engine to extract

Steps needed to prepare measurement engine to be extracted from PartSeg

  1. Update migration engines to allow declare migration next to data structure definitions (almost done) #462 https://hackmd.io/@GytvakMcS_WIFerhsG8H3w/H1dhn-wpF.
  2. decide where migration engine should be available (maybe nme aka napari-migration-engine`)
  3. Allow to register function-based measurement (currently accept only class-based and comes from python 2.7 where there is no annotation). The best will be if it will be possible to bedone with npe2. Also may need:
    • Update hash function for better-caching results during calculation
    • Better area definition that will cover not only Labels but also Shapes etc.
    • maybe Better Per component definition. Currently, the measurement could be calculated per Label component, globally, or Mean from Per component. Adding more option may reduce needs of postprocessing but complicate the interface.

For performance reasons measurement engine uses cythonized calc_bounds function
https://github.com/4DNucleome/PartSegCore-compiled-backend/blob/494dee185a3a965f90ba06aacdd1a896d0681fe1/src/PartSegCore_compiled_backend/utils.pyx#L13

This allows a clipping array that gains significant performance speedup but also introduces a binary dependency.

I will update this issue.

@kevinyamauchi

Segmentation error

Hi @Czaki ,

I just installed partseg in a fresh conda environment with napari and python 3.8. I opened blobs.gif (the example image from ImageJ) and clicked on Plugins > PartSeg Widgets > ROI Mask Extraction.

The following error pops up and I see no user interface.

Best,
Robert

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
~\miniconda3\envs\bio38\lib\site-packages\napari\_qt\menus\plugins_menu.py in _add_widget(key=('PartSeg widgets', 'ROI Mask Extraction'), hook_type='dock', *args=(True,))
    102                     def _add_widget(*args, key=key, hook_type=hook_type):
    103                         if hook_type == 'dock':
--> 104                             self._win.add_plugin_dock_widget(*key)
        global self._win.add_plugin_dock_widget = undefined
        key = ('PartSeg widgets', 'ROI Mask Extraction')
    105                         else:
    106                             self._win._add_plugin_function_widget(*key)

~\miniconda3\envs\bio38\lib\site-packages\napari\_qt\qt_main_window.py in add_plugin_dock_widget(self=, plugin_name='PartSeg widgets', widget_name='ROI Mask Extraction')
    674 
    675         # instantiate the widget
--> 676         wdg = Widget(**kwargs)
        wdg = undefined
        Widget = 
        kwargs = {'napari_viewer': Viewer(axes=Axes(visible=False, labels=True, colored=True, dashed=False, arrows=True), camera=Camera(center=(0.0, 126.5, 127.5), zoom=1.6146245059288535, angles=(0.0, 0.0, 90.0), perspective=0.0, interactive=True), cursor=Cursor(position=(0.0, 0.0, 283.1927794494749, 335.59792009303885), scaled=True, size=1, style=), dims=Dims(ndim=4, ndisplay=2, last_used=3, range=((0.0, 0.0, 1.0), (0.0, 0.0, 1.0), (0.0, 253.0, 1.0), (0.0, 255.0, 1.0)), current_step=(0, 0, 0, 0), order=(0, 1, 2, 3), axis_labels=('0', '1', '2', '3')), grid=GridCanvas(stride=1, shape=(-1, -1), enabled=False), layers=[], scale_bar=ScaleBar(visible=False, colored=False, ticks=True, position=, font_size=10.0, unit=None), text_overlay=TextOverlay(visible=False, color= (4,) float64, font_size=10.0, position=, text=''), help='', status='channel 1 [  0   0 283 336]', tooltip=Tooltip(visible=False, text=''), theme='dark', title='napari', mouse_move_callbacks=[], mouse_drag_callbacks=[], mouse_double_click_callbacks=[], mouse_wheel_callbacks=[], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={'Control-Shift-C': >})}
    677 
    678         # Add dock widget

~\miniconda3\envs\bio38\lib\site-packages\PartSeg\plugins\napari_widgets\roi_extraction_algorithms.py in __init__(self=, napari_viewer=Viewer(axes=Axes(visible=False, labels=True, col..._viewer.QtViewer object at 0x000002F2130ECCA0>>}))
    132 
    133         self.viewer = napari_viewer
--> 134         self.settings = get_settings()
        self.settings = undefined
        global get_settings = 
    135         self.algorithm_chose = NapariAlgorithmChoose(self.settings, self.get_method_dict())
    136         self.calculate_btn = QPushButton("Run")

~\miniconda3\envs\bio38\lib\site-packages\PartSeg\plugins\napari_widgets\_settings.py in get_settings()
     11     if _settings is None:
     12         napari_settings = napari_get_settings()
---> 13         _settings = BaseSettings(os.path.join(napari_settings.path, "PartSeg_napari_plugins"))
        global _settings = None
        global BaseSettings = 
        global os.path.join = 
        napari_settings.path = undefined
     14         _settings.load()
     15     return _settings

AttributeError: 'NapariSettings' object has no attribute 'path'

Segmentation of blobs.tif

Hi @Czaki ,

I'm trying to segment blobs.tif and don't manage. In other tools, Otsu-Thresholding typically does the job. In Partseg, I get an empty layer:
image.

Also, there are quite some options for segmentation. Is there some user-documentation of how to segment an image with the partseg napari plugin?

Thanks!

Best,
Robert

Measurements in napari plugin

Hi! PartSeg napari plugin is a really great tool! I just have issues getting measurements that depend on labels to be calculated per single ROI in the module Measurement. Instead I'm getting a sum value for all the ROIs. the values that are calculated using the image layer seem correct. In contrast, the module Simple Measurement produces values as expected. Am I missing something?
image

Search Label widget does not always work

Hi,

it seems that the Search Label widget only works if the mask has been generated with another PartSeg widget before. For example, it is not possible to simply create a label layer or load a label layer and then use the Search Label widget on it.
In this case the ROI field does not display any available layers.

Best,
Karol

Installation on Windows fails

Hi @Czaki ,

I just tried to install PartSeg in my Napari in a pretty fresh conda environment on Windows. There is an error with PyOpenGL-accelerate because MS buildtools is not installed. You may want to put another hint/note on the readme helping users with this issue. You can for example link to our blog:
https://biapol.github.io/blog/robert_haase/ms_build_tools/

Best,
Robert

Here comes the full error log:

Collecting partseg

  Downloading PartSeg-0.13.11-py3-none-any.whl (311 kB)

Collecting czifile>=2019.5.22

  Using cached czifile-2019.7.2-py2.py3-none-any.whl (18 kB)

Collecting xlrd>=1.1.0

  Using cached xlrd-2.0.1-py2.py3-none-any.whl (96 kB)

Requirement already satisfied: napari>=0.4.8 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (0.4.11)

Requirement already satisfied: requests>=2.18.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (2.26.0)

Collecting sympy>=1.1.1

  Downloading sympy-1.9-py3-none-any.whl (6.2 MB)

Collecting oiffile>=2019.1.1

  Using cached oiffile-2021.6.6-py3-none-any.whl (12 kB)

Collecting h5py>=2.8.0

  Downloading h5py-3.4.0-cp39-cp39-win_amd64.whl (2.8 MB)

Requirement already satisfied: vispy>=0.6.4 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (0.9.0)

Collecting openpyxl>=2.4.9

  Using cached openpyxl-3.0.9-py2.py3-none-any.whl (242 kB)

Collecting PartSegData==0.10.0

  Using cached PartSegData-0.10.0-py3-none-any.whl (7.5 MB)

Requirement already satisfied: tifffile>=2020.9.30 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (2021.10.12)

Requirement already satisfied: scipy>=1.2.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (1.7.1)

Requirement already satisfied: QtPy>=1.7.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (1.11.2)

Requirement already satisfied: numpy>=1.18.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (1.21.2)

Collecting PyOpenGL-accelerate>=3.1.5

  Downloading PyOpenGL-accelerate-3.1.5.tar.gz (538 kB)

  Preparing metadata (setup.py): started

  Preparing metadata (setup.py): finished with status 'done'

Collecting pandas>=0.24.0

  Downloading pandas-1.3.3-cp39-cp39-win_amd64.whl (10.2 MB)

Collecting imagecodecs>=2020.5.30

  Downloading imagecodecs-2021.8.26-cp39-cp39-win_amd64.whl (13.4 MB)

Collecting mahotas>=1.4.9

  Downloading mahotas-1.4.11.tar.gz (1.5 MB)

  Preparing metadata (setup.py): started

  Preparing metadata (setup.py): finished with status 'done'

Collecting sentry-sdk>=0.14.3

  Using cached sentry_sdk-1.4.3-py2.py3-none-any.whl (139 kB)

Requirement already satisfied: superqt>=0.2.4 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (0.2.4)

Requirement already satisfied: appdirs>=1.4.4 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (1.4.4)

Requirement already satisfied: six>=1.11.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (1.16.0)

Collecting PartSegCore-compiled-backend>=0.13.11

  Downloading PartSegCore_compiled_backend-0.13.11-cp39-cp39-win_amd64.whl (687 kB)

Requirement already satisfied: packaging>=20.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (21.0)

Collecting defusedxml>=0.6.0

  Using cached defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)

Collecting SimpleITK>=1.1.0

  Downloading SimpleITK-2.1.1-cp39-cp39-win_amd64.whl (26.2 MB)

Collecting xlsxwriter

  Using cached XlsxWriter-3.0.1-py3-none-any.whl (148 kB)

Requirement already satisfied: imageio>=2.5.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partseg) (2.9.0)

Requirement already satisfied: pillow in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from imageio>=2.5.0->partseg) (8.3.2)

Requirement already satisfied: toolz>=0.10.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (0.11.1)

Requirement already satisfied: napari-console>=0.0.4 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (0.0.4)

Requirement already satisfied: PyOpenGL>=3.1.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (3.1.5)

Requirement already satisfied: PyYAML>=5.1 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (6.0)

Requirement already satisfied: typing-extensions in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (3.10.0.2)

Requirement already satisfied: pydantic>=1.8.1 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (1.8.2)

Requirement already satisfied: tqdm>=4.56.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (4.62.3)

Requirement already satisfied: pint>=0.17 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (0.17)

Requirement already satisfied: napari-svg>=0.1.4 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (0.1.5)

Requirement already satisfied: jsonschema>=3.2.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (4.1.0)

Requirement already satisfied: wrapt>=1.11.1 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (1.13.2)

Requirement already satisfied: psutil>=5.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (5.8.0)

Requirement already satisfied: magicgui>=0.2.6 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (0.3.0)
Requirement already satisfied: numpydoc>=0.9.2 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (1.1.0)

Requirement already satisfied: napari-plugin-engine>=0.1.9 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (0.2.0)

Requirement already satisfied: dask[array]!=2.28.0,>=2.1.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (2021.9.1)

Requirement already satisfied: cachey>=0.2.1 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari>=0.4.8->partseg) (0.2.1)

Collecting et-xmlfile

  Using cached et_xmlfile-1.1.0-py3-none-any.whl (4.7 kB)

Requirement already satisfied: pyparsing>=2.0.2 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from packaging>=20.0->partseg) (2.4.7)

Requirement already satisfied: python-dateutil>=2.7.3 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from pandas>=0.24.0->partseg) (2.8.2)

Requirement already satisfied: pytz>=2017.3 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from pandas>=0.24.0->partseg) (2021.3)

Requirement already satisfied: certifi>=2017.4.17 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from requests>=2.18.0->partseg) (2021.10.8)

Requirement already satisfied: idna<4,>=2.5 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from requests>=2.18.0->partseg) (3.3)

Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from requests>=2.18.0->partseg) (1.26.7)

Requirement already satisfied: charset-normalizer~=2.0.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from requests>=2.18.0->partseg) (2.0.7)

Collecting mpmath>=0.19

  Using cached mpmath-1.2.1-py3-none-any.whl (532 kB)

Requirement already satisfied: hsluv in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from vispy>=0.6.4->partseg) (5.0.2)

Requirement already satisfied: kiwisolver in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from vispy>=0.6.4->partseg) (1.3.2)

Requirement already satisfied: freetype-py in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from vispy>=0.6.4->partseg) (2.2.0)

Requirement already satisfied: heapdict in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from cachey>=0.2.1->napari>=0.4.8->partseg) (1.0.1)

Requirement already satisfied: fsspec>=0.6.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from dask[array]!=2.28.0,>=2.1.0->napari>=0.4.8->partseg) (2021.10.0)

Requirement already satisfied: cloudpickle>=1.1.1 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from dask[array]!=2.28.0,>=2.1.0->napari>=0.4.8->partseg) (2.0.0)

Requirement already satisfied: partd>=0.3.10 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from dask[array]!=2.28.0,>=2.1.0->napari>=0.4.8->partseg) (1.2.0)

Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from jsonschema>=3.2.0->napari>=0.4.8->partseg) (0.18.0)

Requirement already satisfied: attrs>=17.4.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from jsonschema>=3.2.0->napari>=0.4.8->partseg) (21.2.0)

Requirement already satisfied: docstring-parser in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from magicgui>=0.2.6->napari>=0.4.8->partseg) (0.11)

Requirement already satisfied: psygnal>=0.1.3 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from magicgui>=0.2.6->napari>=0.4.8->partseg) (0.1.3)

Requirement already satisfied: IPython>=7.7.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari-console>=0.0.4->napari>=0.4.8->partseg) (7.28.0)

Requirement already satisfied: ipykernel>=5.2.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari-console>=0.0.4->napari>=0.4.8->partseg) (6.4.1)

Requirement already satisfied: qtconsole!=4.7.6,>=4.5.1 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from napari-console>=0.0.4->napari>=0.4.8->partseg) (5.1.1)

Requirement already satisfied: Jinja2>=2.3 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from numpydoc>=0.9.2->napari>=0.4.8->partseg) (3.0.2)

Requirement already satisfied: sphinx>=1.6.5 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from numpydoc>=0.9.2->napari>=0.4.8->partseg) (4.2.0)

Requirement already satisfied: colorama in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from tqdm>=4.56.0->napari>=0.4.8->partseg) (0.4.4)

Requirement already satisfied: traitlets<6.0,>=4.1.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from ipykernel>=5.2.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (5.1.0)

Requirement already satisfied: tornado<7.0,>=4.2 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from ipykernel>=5.2.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (6.1)

Requirement already satisfied: matplotlib-inline<0.2.0,>=0.1.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from ipykernel>=5.2.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (0.1.3)

Requirement already satisfied: debugpy<2.0,>=1.0.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from ipykernel>=5.2.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (1.5.0)

Requirement already satisfied: ipython-genutils in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from ipykernel>=5.2.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (0.2.0)

Requirement already satisfied: jupyter-client<8.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from ipykernel>=5.2.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (7.0.6)

Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from IPython>=7.7.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (3.0.20)

Requirement already satisfied: pickleshare in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from IPython>=7.7.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (0.7.5)

Requirement already satisfied: jedi>=0.16 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from IPython>=7.7.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (0.18.0)

Requirement already satisfied: pygments in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from IPython>=7.7.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (2.10.0)

Requirement already satisfied: decorator in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from IPython>=7.7.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (5.1.0)

Requirement already satisfied: setuptools>=18.5 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from IPython>=7.7.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (58.2.0)

Requirement already satisfied: backcall in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from IPython>=7.7.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (0.2.0)

Requirement already satisfied: MarkupSafe>=2.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from Jinja2>=2.3->numpydoc>=0.9.2->napari>=0.4.8->partseg) (2.0.1)

Requirement already satisfied: locket in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from partd>=0.3.10->dask[array]!=2.28.0,>=2.1.0->napari>=0.4.8->partseg) (0.2.1)

Requirement already satisfied: jupyter-core in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from qtconsole!=4.7.6,>=4.5.1->napari-console>=0.0.4->napari>=0.4.8->partseg) (4.8.1)

Requirement already satisfied: pyzmq>=17.1 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from qtconsole!=4.7.6,>=4.5.1->napari-console>=0.0.4->napari>=0.4.8->partseg) (22.3.0)

Requirement already satisfied: sphinxcontrib-qthelp in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from sphinx>=1.6.5->numpydoc>=0.9.2->napari>=0.4.8->partseg) (1.0.3)

Requirement already satisfied: docutils<0.18,>=0.14 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from sphinx>=1.6.5->numpydoc>=0.9.2->napari>=0.4.8->partseg) (0.17.1)

Requirement already satisfied: babel>=1.3 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from sphinx>=1.6.5->numpydoc>=0.9.2->napari>=0.4.8->partseg) (2.9.1)

Requirement already satisfied: sphinxcontrib-applehelp in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from sphinx>=1.6.5->numpydoc>=0.9.2->napari>=0.4.8->partseg) (1.0.2)

Requirement already satisfied: snowballstemmer>=1.1 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from sphinx>=1.6.5->numpydoc>=0.9.2->napari>=0.4.8->partseg) (2.1.0)

Requirement already satisfied: imagesize in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from sphinx>=1.6.5->numpydoc>=0.9.2->napari>=0.4.8->partseg) (1.2.0)

Requirement already satisfied: sphinxcontrib-jsmath in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from sphinx>=1.6.5->numpydoc>=0.9.2->napari>=0.4.8->partseg) (1.0.1)

Requirement already satisfied: alabaster<0.8,>=0.7 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from sphinx>=1.6.5->numpydoc>=0.9.2->napari>=0.4.8->partseg) (0.7.12)

Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from sphinx>=1.6.5->numpydoc>=0.9.2->napari>=0.4.8->partseg) (2.0.0)

Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.5 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from sphinx>=1.6.5->numpydoc>=0.9.2->napari>=0.4.8->partseg) (1.1.5)

Requirement already satisfied: sphinxcontrib-devhelp in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from sphinx>=1.6.5->numpydoc>=0.9.2->napari>=0.4.8->partseg) (1.0.2)

Requirement already satisfied: parso<0.9.0,>=0.8.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from jedi>=0.16->IPython>=7.7.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (0.8.2)

Requirement already satisfied: nest-asyncio>=1.5 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from jupyter-client<8.0->ipykernel>=5.2.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (1.5.1)

Requirement already satisfied: entrypoints in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from jupyter-client<8.0->ipykernel>=5.2.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (0.3)

Requirement already satisfied: pywin32>=1.0 in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from jupyter-core->qtconsole!=4.7.6,>=4.5.1->napari-console>=0.0.4->napari>=0.4.8->partseg) (302)

Requirement already satisfied: wcwidth in c:\users\rober\miniconda3\envs\bio3\lib\site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->IPython>=7.7.0->napari-console>=0.0.4->napari>=0.4.8->partseg) (0.2.5)

Building wheels for collected packages: mahotas, PyOpenGL-accelerate

  Building wheel for mahotas (setup.py): started

  Building wheel for mahotas (setup.py): finished with status 'error'

  ERROR: Command errored out with exit status 1:
   command: 'C:\Users\rober\miniconda3\envs\bio3\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-gfid79yk\\mahotas_ca5b0dbe7b7d4d11a280c7a4790d83d8\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-gfid79yk\\mahotas_ca5b0dbe7b7d4d11a280c7a4790d83d8\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Windows\Temp\pip-wheel-cmyi84zi'
       cwd: C:\Windows\Temp\pip-install-gfid79yk\mahotas_ca5b0dbe7b7d4d11a280c7a4790d83d8\
  Complete output (123 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.9
  creating build\lib.win-amd64-3.9\mahotas
  copying mahotas\bbox.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\bwperim.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\center_of_mass.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\colors.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\convolve.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\distance.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\edge.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\euler.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\features_cli.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\freeimage.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\histogram.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\internal.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\interpolate.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\labeled.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\lbp.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\mahotas_version.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\moments.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\morph.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\polygon.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\resize.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\segmentation.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\stretch.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\surf.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\tas.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\texture.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\thin.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\thresholding.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\zernike.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\_filters.py -> build\lib.win-amd64-3.9\mahotas
  copying mahotas\__init__.py -> build\lib.win-amd64-3.9\mahotas
  creating build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\distance.py -> build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\edge_demo.py -> build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\morphology.py -> build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\nuclear.py -> build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\nuclear_distance_watershed.py -> build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\superpixels.py -> build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\surf_gaussians.py -> build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\surf_luispedro.py -> build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\thresholding.py -> build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\wally.py -> build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\wavelet_compress.py -> build\lib.win-amd64-3.9\mahotas\demos
  copying mahotas\demos\__init__.py -> build\lib.win-amd64-3.9\mahotas\demos
  creating build\lib.win-amd64-3.9\mahotas\features
  copying mahotas\features\lbp.py -> build\lib.win-amd64-3.9\mahotas\features
  copying mahotas\features\moments.py -> build\lib.win-amd64-3.9\mahotas\features
  copying mahotas\features\shape.py -> build\lib.win-amd64-3.9\mahotas\features
  copying mahotas\features\surf.py -> build\lib.win-amd64-3.9\mahotas\features
  copying mahotas\features\tas.py -> build\lib.win-amd64-3.9\mahotas\features
  copying mahotas\features\texture.py -> build\lib.win-amd64-3.9\mahotas\features
  copying mahotas\features\zernike.py -> build\lib.win-amd64-3.9\mahotas\features
  copying mahotas\features\__init__.py -> build\lib.win-amd64-3.9\mahotas\features
  creating build\lib.win-amd64-3.9\mahotas\io
  copying mahotas\io\freeimage.py -> build\lib.win-amd64-3.9\mahotas\io
  copying mahotas\io\pil.py -> build\lib.win-amd64-3.9\mahotas\io
  copying mahotas\io\__init__.py -> build\lib.win-amd64-3.9\mahotas\io
  creating build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\pymorph_copy.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_bbox.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_bwperim.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_center_of_mass.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_citation.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_close_holes.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_colors.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_convolve.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_demos.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_dilate_erode.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_distance.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_edge.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_euler.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_features_shape.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_filters.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_find.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_freeimage.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_gvoronoi.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_histogram.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_hitmiss.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_imresize.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_internal.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_interpolate.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_io.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_label.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_labeled.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_lbp.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_mahotas.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_majority.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_mean_filter.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_median_filter.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_moments.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_morph.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_polygon.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_segmentation.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_stretch.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_surf.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_surf_regression.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_tas.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_template_match.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_texture.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_thin.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_thresholding.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_watershed.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\test_zernike.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\utils.py -> build\lib.win-amd64-3.9\mahotas\tests
  copying mahotas\tests\__init__.py -> build\lib.win-amd64-3.9\mahotas\tests
  creating build\lib.win-amd64-3.9\mahotas\demos\data
  copying mahotas\demos\data\DepartmentStore.jpg -> build\lib.win-amd64-3.9\mahotas\demos\data
  copying mahotas\demos\data\lena.jpg -> build\lib.win-amd64-3.9\mahotas\demos\data
  copying mahotas\demos\data\luispedro.jpg -> build\lib.win-amd64-3.9\mahotas\demos\data
  copying mahotas\demos\data\nuclear.png -> build\lib.win-amd64-3.9\mahotas\demos\data
  creating build\lib.win-amd64-3.9\mahotas\tests\data
  copying mahotas\tests\data\1bpp.bmp -> build\lib.win-amd64-3.9\mahotas\tests\data
  copying mahotas\tests\data\determinant_zero.png -> build\lib.win-amd64-3.9\mahotas\tests\data
  copying mahotas\tests\data\luispedro.npy -> build\lib.win-amd64-3.9\mahotas\tests\data
  copying mahotas\tests\data\rgba.png -> build\lib.win-amd64-3.9\mahotas\tests\data
  running build_ext
  building 'mahotas._bbox' extension
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
  ----------------------------------------

  ERROR: Failed building wheel for mahotas
  Running setup.py clean for mahotas

  Building wheel for PyOpenGL-accelerate (setup.py): started

  Building wheel for PyOpenGL-accelerate (setup.py): finished with status 'error'

  ERROR: Command errored out with exit status 1:
   command: 'C:\Users\rober\miniconda3\envs\bio3\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-gfid79yk\\pyopengl-accelerate_e2018e6749c8409aae25df080ec990d9\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-gfid79yk\\pyopengl-accelerate_e2018e6749c8409aae25df080ec990d9\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Windows\Temp\pip-wheel-_63t8x6w'
       cwd: C:\Windows\Temp\pip-install-gfid79yk\pyopengl-accelerate_e2018e6749c8409aae25df080ec990d9\
  Complete output (10 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.9
  creating build\lib.win-amd64-3.9\OpenGL_accelerate
  copying OpenGL_accelerate\__init__.py -> build\lib.win-amd64-3.9\OpenGL_accelerate
  running build_ext
  building 'OpenGL_accelerate.wrapper' extension
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
  ----------------------------------------

  ERROR: Failed building wheel for PyOpenGL-accelerate

  Running setup.py clean for PyOpenGL-accelerate

Failed to build mahotas PyOpenGL-accelerate

Installing collected packages: mpmath, imagecodecs, et-xmlfile, xlsxwriter, xlrd, sympy, SimpleITK, sentry-sdk, PyOpenGL-accelerate, PartSegData, PartSegCore-compiled-backend, pandas, openpyxl, oiffile, mahotas, h5py, defusedxml, czifile, partseg

    Running setup.py install for PyOpenGL-accelerate: started

    Running setup.py install for PyOpenGL-accelerate: finished with status 'error'

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\miniconda3\envs\bio3\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-gfid79yk\\pyopengl-accelerate_e2018e6749c8409aae25df080ec990d9\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-gfid79yk\\pyopengl-accelerate_e2018e6749c8409aae25df080ec990d9\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Windows\Temp\pip-record-m9o9xkfj\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\rober\miniconda3\envs\bio3\Include\PyOpenGL-accelerate'
         cwd: C:\Windows\Temp\pip-install-gfid79yk\pyopengl-accelerate_e2018e6749c8409aae25df080ec990d9\
    Complete output (10 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.9
    creating build\lib.win-amd64-3.9\OpenGL_accelerate
    copying OpenGL_accelerate\__init__.py -> build\lib.win-amd64-3.9\OpenGL_accelerate
    running build_ext
    building 'OpenGL_accelerate.wrapper' extension
    error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
    ----------------------------------------

ERROR: Command errored out with exit status 1: 'C:\Users\rober\miniconda3\envs\bio3\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-gfid79yk\\pyopengl-accelerate_e2018e6749c8409aae25df080ec990d9\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-gfid79yk\\pyopengl-accelerate_e2018e6749c8409aae25df080ec990d9\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Windows\Temp\pip-record-m9o9xkfj\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\rober\miniconda3\envs\bio3\Include\PyOpenGL-accelerate' Check the logs for full command output.

Add adjustable zoom for Search Label widget

Hi,

it would be nice to have an adjustable zoom for the Search label widget. I am imagining something like a percentage meter based on the object size. For example this could be based on the longest side of the object bounding box or the equivalent_diameter_area from skimage regionprops.
In my opinion the current zoom level is a bit too close.

Best,
Karol

[Security] Workflow test_prereleases.yml is using vulnerable action actions/checkout

The workflow test_prereleases.yml is referencing action actions/checkout using references v1. However this reference is missing the commit a6747255bd19d7a757dbdda8c654a9f84db19839 which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.