diff --git a/.gitignore b/.gitignore
index fd2845d3941e8d1d96668c156e33eb5b146bf527..42fb8d44769ed547e9e564cc121fc54a559958e4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -83,3 +83,4 @@ venv/
 # written by setuptools_scm
 **/_version.py
 
+bin*
diff --git a/setup.cfg b/setup.cfg
index f2973756cc3d255e0a78332541d2ac4ff91dfc72..202ec2d46039298a4711a8a9e86d4d0374b5ebb6 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,25 +1,26 @@
 [metadata]
-name = napari-segment
-
-author = Andrey Aristov
-author_email = aaristov@pasteur.fr
-url = https://github.com/aaristov/napari-segment
-license = BSD-3-Clause
+name = napari_segment
 description = Segment organoids and measure intensities
 long_description = file: README.md
 long_description_content_type = text/markdown
+url = https://github.com/aaristov/napari-segment
+author = Andrey Aristov
+author_email = aaristov@pasteur.fr
+license = BSD-3-Clause
+license_file = LICENSE
 classifiers =
     Development Status :: 2 - Pre-Alpha
-    Intended Audience :: Developers
     Framework :: napari
-    Topic :: Software Development :: Testing
+    Intended Audience :: Developers
+    License :: OSI Approved :: BSD License
+    Operating System :: OS Independent
     Programming Language :: Python
     Programming Language :: Python :: 3
+    Programming Language :: Python :: 3 :: Only
     Programming Language :: Python :: 3.8
     Programming Language :: Python :: 3.9
     Programming Language :: Python :: 3.10
-    Operating System :: OS Independent
-    License :: OSI Approved :: BSD License
+    Topic :: Software Development :: Testing
 project_urls =
     Bug Tracker = https://github.com/aaristov/napari-segment/issues
     Documentation = https://github.com/aaristov/napari-segment#README.md
@@ -28,22 +29,24 @@ project_urls =
 
 [options]
 packages = find:
-include_package_data = True
-python_requires = >=3.8
-package_dir =
-    =src
-setup_requires = setuptools_scm
-# add your package requirements here
 install_requires =
     nd2
     numpy
+    scikit-image
+    zarr
+python_requires = >=3.8
+include_package_data = True
+package_dir =
+    =src
+setup_requires =
+    setuptools-scm
 
 [options.packages.find]
 where = src
 
+[options.entry_points]
+napari.manifest =
+    napari-segment = napari_segment:napari.yaml
+
 [options.package_data]
 * = *.yaml
-
-[options.entry_points] 
-napari.manifest = 
-    napari-segment = napari_segment:napari.yaml
diff --git a/src/napari_segment/_reader.py b/src/napari_segment/_reader.py
index 272ff9eac214e4d717e63b5a4d7bf36e9db34e17..cb88a94b8fac8dd3761e9796b3e09be39b17a2f8 100644
--- a/src/napari_segment/_reader.py
+++ b/src/napari_segment/_reader.py
@@ -41,7 +41,10 @@ def napari_get_reader(path):
         return read_zarr
 
     # otherwise we return the *function* that can read ``path``.
-    return reader_function
+    if path.endswith(".npy"):
+        return reader_function
+
+    return None
 
 
 def read_zarr(path):
@@ -57,13 +60,34 @@ def read_zarr(path):
         datasets = [dask.array.from_zarr(p) for p in dataset_paths]
     except Exception as e:
         raise e
+
+    try:
+        contrast_limits = info["lut"]
+    except KeyError:
+        contrast_limits = None
+
+    try:
+        colormap = info["colormap"]
+    except KeyError:
+        colormap = None
+
+    try:
+        name = info["name"]
+    except KeyError:
+        print("name not found")
+        name = [os.path.basename(path)] * datasets[0].shape[channel_axis]
+    except Exception as e:
+        print("name exception", e.args)
+        name = os.path.basename(path)
+
     return [
         (
             datasets,
             {
                 "channel_axis": channel_axis,
-#                 "colormap": ["gray", "inferno"],
-#                 "contrast_limits": [(0, 65000), (0, 6000)],
+                "colormap": colormap,
+                "contrast_limits": contrast_limits,
+                "name": name,
             },
             "image",
         )
diff --git a/src/napari_segment/_widget.py b/src/napari_segment/_widget.py
index fc85458d602092bdc633bd279d8939e428965ffc..f1aa024a27f1d12990a6f4a737349550285322ae 100644
--- a/src/napari_segment/_widget.py
+++ b/src/napari_segment/_widget.py
@@ -75,7 +75,6 @@ def save_values(val):
 )
 def segment_organoid(
     BF_layer: "napari.layers.Image",
-    fluo_layer: "napari.layers.Image",
     thr: float = 0.3,
     erode: int = 10,
     min_diam=150,
@@ -84,8 +83,13 @@ def segment_organoid(
     show_detections=True,
 ) -> napari.types.LayerDataTuple:
     # frame = napari.current_viewer().cursor.position[0]
-    kwargs = {}
+    kwargs = {"scale": BF_layer.scale}
+    print(kwargs)
     ddata = BF_layer.data
+    if isinstance(ddata, np.ndarray):
+        chunksize = np.ones(ddata.ndims)
+        chunksize[-2:] = ddata.shape[-2:]  # xy full size
+        ddata = dask.array.from_array(ddata, chunksize=chunksize)
     smooth_gradient = ddata.map_blocks(
         partial(get_gradient), dtype=ddata.dtype
     )
diff --git a/src/napari_segment/napari.yaml b/src/napari_segment/napari.yaml
index 685b576ecac3daf7740138539bdf5d6821806e9c..4c5f9cd9f080958edde161074eecc34aa308cd76 100644
--- a/src/napari_segment/napari.yaml
+++ b/src/napari_segment/napari.yaml
@@ -25,7 +25,7 @@ contributions:
       title: Segment organoid
   readers:
     - command: napari-segment.get_reader
-      accepts_directories: true
+      accepts_directories: True
       filename_patterns: ['*.npy', '*.nd2', '*.zarr']
   writers:
     - command: napari-segment.write_multiple