diff --git a/Snakefile b/Snakefile
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/20211220-timelapse-plot-counts.ipynb b/notebooks/20211220-timelapse-plot-counts.ipynb
similarity index 100%
rename from 20211220-timelapse-plot-counts.ipynb
rename to notebooks/20211220-timelapse-plot-counts.ipynb
diff --git a/notebooks/20220419-New-table_MIC-MBC.csv b/notebooks/20220419-New-table_MIC-MBC.csv
new file mode 100644
index 0000000000000000000000000000000000000000..30b58ccc82ecbd22c13e04bd8880ffefd971023d
--- /dev/null
+++ b/notebooks/20220419-New-table_MIC-MBC.csv
@@ -0,0 +1,17 @@
+Date,Inoculum_size,MIC,MBC
+20220111,500,2,8
+20220111,1000,4,6
+20220111,5000,4,16
+20220111,10000,3,12
+20211222,500,2,8
+20211222,1000,2,12
+20211222,5000,2,12
+20211222,10000,4,14
+20220304,500,4,12
+20220304,1000,2,14
+20220304,5000,2,20
+20220304,10000,4,18
+20220303,500,4,12
+20220303,1000,4,20
+20220303,5000,4,16
+20220303,10000,4,18
diff --git a/20220419-new_MBC.ipynb b/notebooks/20220419-new_MBC.ipynb
similarity index 100%
rename from 20220419-new_MBC.ipynb
rename to notebooks/20220419-new_MBC.ipynb
diff --git a/23_01_2020_stats.csv b/notebooks/23_01_2020_stats.csv
similarity index 100%
rename from 23_01_2020_stats.csv
rename to notebooks/23_01_2020_stats.csv
diff --git a/96 wells-20211220.ipynb b/notebooks/96 wells-20211220.ipynb
similarity index 100%
rename from 96 wells-20211220.ipynb
rename to notebooks/96 wells-20211220.ipynb
diff --git a/96 wells-summer2021.ipynb b/notebooks/96 wells-summer2021.ipynb
similarity index 99%
rename from 96 wells-summer2021.ipynb
rename to notebooks/96 wells-summer2021.ipynb
index daf0b5ab2a89673e2d9d9927ac01c9003c1ac871..8c7576f250fde74fb4458dd74e0f9cad2f2021b3 100644
--- a/96 wells-summer2021.ipynb	
+++ b/notebooks/96 wells-summer2021.ipynb	
@@ -4151,7 +4151,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.3"
+   "version": "3.8.5"
   }
  },
  "nbformat": 4,
diff --git a/AICSImage.ipynb b/notebooks/AICSImage.ipynb
similarity index 100%
rename from AICSImage.ipynb
rename to notebooks/AICSImage.ipynb
diff --git a/MIC (count) (different threshold).xlsx b/notebooks/MIC (count) (different threshold).xlsx
similarity index 100%
rename from MIC (count) (different threshold).xlsx
rename to notebooks/MIC (count) (different threshold).xlsx
diff --git a/MIC (count).xlsx b/notebooks/MIC (count).xlsx
similarity index 100%
rename from MIC (count).xlsx
rename to notebooks/MIC (count).xlsx
diff --git a/Multiwell-2021-06-22-recount.ipynb b/notebooks/Multiwell-2021-06-22-recount.ipynb
similarity index 100%
rename from Multiwell-2021-06-22-recount.ipynb
rename to notebooks/Multiwell-2021-06-22-recount.ipynb
diff --git a/Multiwell-growth-rate-10-June-2021-2ng.ipynb b/notebooks/Multiwell-growth-rate-10-June-2021-2ng.ipynb
similarity index 100%
rename from Multiwell-growth-rate-10-June-2021-2ng.ipynb
rename to notebooks/Multiwell-growth-rate-10-June-2021-2ng.ipynb
diff --git a/Multiwell-growth-rate-18-may-2021.ipynb b/notebooks/Multiwell-growth-rate-18-may-2021.ipynb
similarity index 100%
rename from Multiwell-growth-rate-18-may-2021.ipynb
rename to notebooks/Multiwell-growth-rate-18-may-2021.ipynb
diff --git a/Multiwell-growth-rate-25-may-2021.ipynb b/notebooks/Multiwell-growth-rate-25-may-2021.ipynb
similarity index 100%
rename from Multiwell-growth-rate-25-may-2021.ipynb
rename to notebooks/Multiwell-growth-rate-25-may-2021.ipynb
diff --git a/Multiwell-june-july-2021-probs.ipynb b/notebooks/Multiwell-june-july-2021-probs.ipynb
similarity index 99%
rename from Multiwell-june-july-2021-probs.ipynb
rename to notebooks/Multiwell-june-july-2021-probs.ipynb
index 6cfa1febd7b538c6f9dbd9cf973d4d0f66ac8fed..8b3ea559110d2b2e82b75d8cf224f7ccfd1b8124 100644
--- a/Multiwell-june-july-2021-probs.ipynb
+++ b/notebooks/Multiwell-june-july-2021-probs.ipynb
@@ -3,6 +3,7 @@
   {
    "cell_type": "code",
    "execution_count": 2,
+   "id": "44dedbae-55ff-4b66-a433-547128721a5e",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -21,6 +22,7 @@
   },
   {
    "cell_type": "markdown",
+   "id": "d1d69378-186c-4b4e-a963-78e9ef18804e",
    "metadata": {},
    "source": [
     "# Find all datasets"
@@ -29,6 +31,7 @@
   {
    "cell_type": "code",
    "execution_count": 3,
+   "id": "3f4ef5f1-74d9-4c0a-b9e1-2dd07b34dfdd",
    "metadata": {},
    "outputs": [
     {
@@ -54,6 +57,7 @@
   {
    "cell_type": "code",
    "execution_count": 5,
+   "id": "4dc8b6b6-63c2-44bb-8653-d7bdf6e647fc",
    "metadata": {},
    "outputs": [
     {
@@ -268,6 +272,7 @@
   {
    "cell_type": "code",
    "execution_count": 17,
+   "id": "64f7c966-3cda-442d-93d2-70305f3755e6",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -293,6 +298,7 @@
   },
   {
    "cell_type": "markdown",
+   "id": "38462b8d-f1f8-4229-b007-151809f59a47",
    "metadata": {},
    "source": [
     "## Plot postitve wells counts"
@@ -301,6 +307,7 @@
   {
    "cell_type": "code",
    "execution_count": 18,
+   "id": "5a998645-0b79-4aa2-a3b5-90c80cbc2bb5",
    "metadata": {},
    "outputs": [
     {
@@ -345,6 +352,7 @@
   {
    "cell_type": "code",
    "execution_count": 28,
+   "id": "dd6a2c02-3ebf-48c6-9c97-6153dcb91e22",
    "metadata": {},
    "outputs": [
     {
@@ -381,6 +389,7 @@
   },
   {
    "cell_type": "markdown",
+   "id": "51d5b417-caff-440c-ad09-a5a3a3c3f9da",
    "metadata": {},
    "source": [
     "## Plot single cell probabiblities"
@@ -389,6 +398,7 @@
   {
    "cell_type": "code",
    "execution_count": 74,
+   "id": "d7dd829f-7931-41a6-ad80-d4d6fd6cbf13",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -405,6 +415,7 @@
   {
    "cell_type": "code",
    "execution_count": 7,
+   "id": "7617e458-f28d-4d31-a88d-8464daac2a3f",
    "metadata": {},
    "outputs": [
     {
@@ -430,6 +441,7 @@
   {
    "cell_type": "code",
    "execution_count": 8,
+   "id": "5a445234-f3f3-47c5-916e-d8f1412b0303",
    "metadata": {},
    "outputs": [
     {
@@ -536,6 +548,7 @@
   {
    "cell_type": "code",
    "execution_count": 76,
+   "id": "fa190b3e-1c3e-4285-9979-ec0f4f09d415",
    "metadata": {},
    "outputs": [
     {
@@ -961,6 +974,7 @@
   {
    "cell_type": "code",
    "execution_count": 98,
+   "id": "7fb45f1d-0c27-452d-8417-e92157c0d139",
    "metadata": {},
    "outputs": [
     {
@@ -995,6 +1009,7 @@
   {
    "cell_type": "code",
    "execution_count": 92,
+   "id": "a023eaa2-b0af-465a-8105-a56775b6b0e9",
    "metadata": {},
    "outputs": [
     {
@@ -1029,6 +1044,7 @@
   {
    "cell_type": "code",
    "execution_count": 79,
+   "id": "5547d881-4f45-4526-acc6-9082e3180980",
    "metadata": {},
    "outputs": [
     {
@@ -1066,6 +1082,7 @@
   {
    "cell_type": "code",
    "execution_count": 99,
+   "id": "ae28aab8-e2e0-45c9-9f1e-5e4078e6eed3",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1075,6 +1092,7 @@
   {
    "cell_type": "code",
    "execution_count": 80,
+   "id": "5518edf4-21e2-488b-94d5-cee60a22ff0e",
    "metadata": {},
    "outputs": [
     {
@@ -1112,6 +1130,7 @@
   {
    "cell_type": "code",
    "execution_count": 96,
+   "id": "7f086e09-7e9c-4522-8140-1f28e4f6bd72",
    "metadata": {},
    "outputs": [
     {
@@ -1149,6 +1168,7 @@
   {
    "cell_type": "code",
    "execution_count": 97,
+   "id": "26720e8d-af5b-4baa-ab83-2e533bd41953",
    "metadata": {},
    "outputs": [
     {
@@ -1186,6 +1206,7 @@
   {
    "cell_type": "code",
    "execution_count": 88,
+   "id": "aa0313bb-e497-49d7-ad26-a0e93d164eeb",
    "metadata": {},
    "outputs": [
     {
@@ -1222,6 +1243,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "44cdac00-4d90-4607-ab65-d50aebc1db78",
    "metadata": {},
    "outputs": [],
    "source": []
@@ -1229,6 +1251,7 @@
   {
    "cell_type": "code",
    "execution_count": 89,
+   "id": "c88bd2d9-93fc-4cd8-b996-bfdf559452db",
    "metadata": {},
    "outputs": [
     {
@@ -1255,6 +1278,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "237cf426-bdb3-44ef-b395-7c05989073a7",
    "metadata": {},
    "outputs": [],
    "source": []
@@ -1276,7 +1300,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.3"
+   "version": "3.8.5"
   }
  },
  "nbformat": 4,
diff --git a/Multiwell_MIC_11-Jan-2022_resistant_0-256ng-rep2.ipynb b/notebooks/Multiwell_MIC_11-Jan-2022_resistant_0-256ng-rep2.ipynb
similarity index 100%
rename from Multiwell_MIC_11-Jan-2022_resistant_0-256ng-rep2.ipynb
rename to notebooks/Multiwell_MIC_11-Jan-2022_resistant_0-256ng-rep2.ipynb
diff --git a/Multiwell_MIC_17-June-2021_0-10ng_6e-4.ipynb b/notebooks/Multiwell_MIC_17-June-2021_0-10ng_6e-4.ipynb
similarity index 100%
rename from Multiwell_MIC_17-June-2021_0-10ng_6e-4.ipynb
rename to notebooks/Multiwell_MIC_17-June-2021_0-10ng_6e-4.ipynb
diff --git a/Multiwell_MIC_20-Dec-2021_resistant_0-256ng.ipynb b/notebooks/Multiwell_MIC_20-Dec-2021_resistant_0-256ng.ipynb
similarity index 100%
rename from Multiwell_MIC_20-Dec-2021_resistant_0-256ng.ipynb
rename to notebooks/Multiwell_MIC_20-Dec-2021_resistant_0-256ng.ipynb
diff --git a/Multiwell_MIC_22-June-2021_0-10ng_5x-napari.ipynb b/notebooks/Multiwell_MIC_22-June-2021_0-10ng_5x-napari.ipynb
similarity index 100%
rename from Multiwell_MIC_22-June-2021_0-10ng_5x-napari.ipynb
rename to notebooks/Multiwell_MIC_22-June-2021_0-10ng_5x-napari.ipynb
diff --git a/Multiwell_MIC_22-June-2021_0-10ng_5x.ipynb b/notebooks/Multiwell_MIC_22-June-2021_0-10ng_5x.ipynb
similarity index 100%
rename from Multiwell_MIC_22-June-2021_0-10ng_5x.ipynb
rename to notebooks/Multiwell_MIC_22-June-2021_0-10ng_5x.ipynb
diff --git a/Multiwell_MIC_28-June-2021_0-15ng.ipynb b/notebooks/Multiwell_MIC_28-June-2021_0-15ng.ipynb
similarity index 100%
rename from Multiwell_MIC_28-June-2021_0-15ng.ipynb
rename to notebooks/Multiwell_MIC_28-June-2021_0-15ng.ipynb
diff --git a/Multiwell_photobleaching.ipynb b/notebooks/Multiwell_photobleaching.ipynb
similarity index 100%
rename from Multiwell_photobleaching.ipynb
rename to notebooks/Multiwell_photobleaching.ipynb
diff --git a/None b/notebooks/None
similarity index 100%
rename from None
rename to notebooks/None
diff --git a/OD chi.bio.ipynb b/notebooks/OD chi.bio.ipynb
similarity index 100%
rename from OD chi.bio.ipynb
rename to notebooks/OD chi.bio.ipynb
diff --git a/QTplugin-napari.ipynb b/notebooks/QTplugin-napari.ipynb
similarity index 100%
rename from QTplugin-napari.ipynb
rename to notebooks/QTplugin-napari.ipynb
diff --git a/Time_evolution_size_stats.csv b/notebooks/Time_evolution_size_stats.csv
similarity index 100%
rename from Time_evolution_size_stats.csv
rename to notebooks/Time_evolution_size_stats.csv
diff --git a/Untitled3.ipynb b/notebooks/Untitled3.ipynb
similarity index 100%
rename from Untitled3.ipynb
rename to notebooks/Untitled3.ipynb
diff --git a/cipro-0228-stats.ipynb b/notebooks/cipro-0228-stats.ipynb
similarity index 100%
rename from cipro-0228-stats.ipynb
rename to notebooks/cipro-0228-stats.ipynb
diff --git a/cipro-0303-stats.ipynb b/notebooks/cipro-0303-stats.ipynb
similarity index 100%
rename from cipro-0303-stats.ipynb
rename to notebooks/cipro-0303-stats.ipynb
diff --git a/dask_imread.ipynb b/notebooks/dask_imread.ipynb
similarity index 100%
rename from dask_imread.ipynb
rename to notebooks/dask_imread.ipynb
diff --git a/feb18_grad.csv b/notebooks/feb18_grad.csv
similarity index 100%
rename from feb18_grad.csv
rename to notebooks/feb18_grad.csv
diff --git a/hill_grad.csv b/notebooks/hill_grad.csv
similarity index 100%
rename from hill_grad.csv
rename to notebooks/hill_grad.csv
diff --git a/multiwell 20220111-MIC.ipynb b/notebooks/multiwell 20220111-MIC.ipynb
similarity index 100%
rename from multiwell 20220111-MIC.ipynb
rename to notebooks/multiwell 20220111-MIC.ipynb
diff --git a/multiwell MIC 20220111.ipynb b/notebooks/multiwell MIC 20220111.ipynb
similarity index 100%
rename from multiwell MIC 20220111.ipynb
rename to notebooks/multiwell MIC 20220111.ipynb
diff --git a/multiwell MIC 20220113.ipynb b/notebooks/multiwell MIC 20220113.ipynb
similarity index 100%
rename from multiwell MIC 20220113.ipynb
rename to notebooks/multiwell MIC 20220113.ipynb
diff --git a/multiwell align count 12 May 2022.ipynb b/notebooks/multiwell align count 12 May 2022.ipynb
similarity index 100%
rename from multiwell align count 12 May 2022.ipynb
rename to notebooks/multiwell align count 12 May 2022.ipynb
diff --git a/multiwell align count dec-jan 2022.ipynb b/notebooks/multiwell align count dec-jan 2022.ipynb
similarity index 90%
rename from multiwell align count dec-jan 2022.ipynb
rename to notebooks/multiwell align count dec-jan 2022.ipynb
index d108768def7536d1d2cb1c22292a569333394438..1607414ca1ff0bc11c0c8c6dbc2bbdd55f9fd302 100644
--- a/multiwell align count dec-jan 2022.ipynb	
+++ b/notebooks/multiwell align count dec-jan 2022.ipynb	
@@ -3,6 +3,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "9052f9f9-acb1-4585-a6cf-505c89468e5b",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -26,6 +27,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "6ebeaf77-fc57-47d6-a779-820448063a40",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -37,6 +39,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "d32bd487-d289-4702-a519-e40f8dfa7691",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -307,6 +310,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "e37044e2-8265-4abf-80a1-dcb8bf092f83",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -316,6 +320,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "d1f58d1a-9021-45aa-a339-7f4a4689f99f",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -325,6 +330,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "028c372f-019f-4826-ba68-0ec0168abb23",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -335,6 +341,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "3824e440-9e99-4497-8924-f541969d366c",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -344,6 +351,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "4c461fa9-d5e9-4cbe-a501-1e595d46fc29",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -369,6 +377,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "df784aa7-2977-4e0f-84db-9530bf860855",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -388,6 +397,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "cd1f6b1c-ce3a-479d-8137-6fe18f25720d",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -400,6 +410,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "03cade1d-0b99-420b-bf43-d4a16ca8ad3f",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -412,6 +423,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "a24e7db8-b9e3-4414-8f02-4e303f1579cf",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -421,6 +433,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "c8c46ed0-fbdb-4e0b-95c4-c4467d43b590",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -432,6 +445,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "26f48e86-20c6-4fa5-bb3a-3cae7ca93cb4",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -443,6 +457,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "1a794f29-ab06-4042-aabe-033d154cc678",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -453,6 +468,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "30ecb020-efd2-4760-9609-e7ad16940aaa",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -462,6 +478,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "eb9a11bf-e0a3-4ef7-acf9-31bb4edbca0c",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -471,6 +488,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "dbd7125a-6a69-44f8-9fac-4248cef258fa",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -482,6 +500,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "c2d0e094-d1f1-4fe8-acff-2498038a0de4",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -491,6 +510,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "56b1dd26-d7f5-47f1-8b1a-b1bc43042c6e",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -500,6 +520,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "b68513e6-6326-44c0-84e8-bfe1da934c45",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -509,6 +530,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "8a62a656-f625-4989-805d-31dd48d92f6b",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -520,6 +542,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "defb115f-c5ab-4a5e-a1fb-0adb03e9fb8f",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -531,6 +554,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "7a39324b-6191-42f0-b2ce-392cb59c2e8c",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -542,6 +566,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "4ff69402-dca7-49d9-a0b0-21a55d7c4687",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -553,6 +578,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "8bfcf252-8ba9-42fe-a412-e85ea1f72427",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -564,6 +590,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "ddbda4c3-1fe0-46ae-8a3f-d93373312262",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -575,6 +602,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "f2288de6-992c-486d-b319-a7a422d0a5a1",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -586,6 +614,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "8aa3b65a-f9d9-4cc1-a86f-9b56251053e3",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -596,6 +625,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "60d8af90-b464-4cfb-a28c-19df50cac16b",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -606,6 +636,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "961f3557-58d3-4e81-97c6-04b55c899b99",
    "metadata": {
     "collapsed": true,
     "jupyter": {
@@ -622,6 +653,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "37ad353a-7b0f-4d42-9219-ddbc729c539c",
    "metadata": {
     "collapsed": true,
     "jupyter": {
@@ -638,6 +670,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "91a2531e-4910-43f2-9853-2cbeff8ba27a",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -648,6 +681,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "111f92d9-af87-4221-b633-3d4f5e3849e0",
    "metadata": {
     "collapsed": true,
     "jupyter": {
@@ -664,6 +698,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "8b342403-61fd-4216-9391-860c55accef8",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -673,6 +708,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "3997247e-0c04-42d2-a07a-fa4312631e81",
    "metadata": {
     "collapsed": true,
     "jupyter": {
@@ -689,6 +725,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "02f760f5-3b4f-4c27-b872-5ea46587db43",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -698,6 +735,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "1c985540-a4fb-4042-b7d9-5cb39d3b92b0",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -707,6 +745,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "e1aced55-f996-41cb-aecf-75ac2aed6e51",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -716,6 +755,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "097ed300-27fc-44d6-81fa-c90543f67381",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -725,6 +765,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "153251fd-7b70-44a3-b795-b3e56e388d3f",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -734,6 +775,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "c524f70c-ff50-429d-952a-b00ed98f6538",
    "metadata": {},
    "outputs": [],
    "source": []
@@ -741,6 +783,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "a4b3b45f-4961-4ab9-acb7-e6cdae6d3609",
    "metadata": {
     "tags": []
    },
@@ -752,6 +795,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "79b08607-d1e6-4d3f-9717-359b47c13bcb",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -761,6 +805,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "aa379259-e581-4d6d-9de4-2ae9094f1e8e",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -780,6 +825,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "1f8d34c8-5d1c-4cbf-9ead-b1fbe02a3ea3",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -789,6 +835,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "a5d4084f-f1c1-49ae-83c5-ac338ed3c973",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -810,6 +857,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "c67b12f3-72d7-4cd0-9b9b-dbfbe4832742",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -835,6 +883,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "9b46e256-f339-4675-9cc3-0af8f34122eb",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1002,6 +1051,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "721e6e00-d88e-4442-b37c-56abe1ed38bb",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1011,6 +1061,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "cb1f654a-7e00-44ae-832d-444c120b3cc5",
    "metadata": {},
    "outputs": [],
    "source": []
@@ -1018,6 +1069,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "f2a43cd7-7414-44a6-93eb-73d2dfb5f5a0",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1027,6 +1079,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "284918f5-e53d-476e-93b8-7ac759e111a1",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1046,6 +1099,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "d94b9cfb-3548-47a8-a488-c798189972cb",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1055,6 +1109,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "129a2e09-13cd-4b98-a148-f67ffbd0aa9c",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1064,6 +1119,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "8a037872-2f13-4a90-8fb0-3687768f0e9f",
    "metadata": {
     "collapsed": true,
     "jupyter": {
@@ -1080,6 +1136,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "233e8bee-023f-4cc3-b3b6-1aab60b19737",
    "metadata": {
     "collapsed": true,
     "jupyter": {
@@ -1097,6 +1154,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "2755b776-ac75-44d1-ab40-02eb744582fd",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1106,6 +1164,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "0f333b19-311f-4e57-881d-bb34cb144b19",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1115,6 +1174,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "ebf74acb-205e-4676-bdca-ef2f17fd844d",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1124,6 +1184,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "126a0ac5-7358-40e1-a5c3-7a32b6227ab6",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1133,6 +1194,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "593f9ea0-40f4-47f4-bf92-1f3bf01a05a9",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1142,6 +1204,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "1da644d4-305d-4d67-8c56-120e53547b32",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1152,6 +1215,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "907c401f-9924-4208-a870-c336d250e4f3",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1161,6 +1225,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "be1b8e09-0895-45e9-9d57-298d29b16b25",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1170,6 +1235,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "e01ecfaa-ef45-428e-a5aa-75429334576b",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1180,6 +1246,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "fa7297ed-c9c7-4111-81fd-bbd5ab915ca4",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1189,6 +1256,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "ebdadc06-bf69-4a3c-a498-4467e8f9d251",
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1198,6 +1266,7 @@
   {
    "cell_type": "code",
    "execution_count": null,
+   "id": "8b58638d-8ca3-4117-8303-d635ad2dd737",
    "metadata": {},
    "outputs": [],
    "source": []
@@ -1219,7 +1288,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.3"
+   "version": "3.8.5"
   }
  },
  "nbformat": 4,
diff --git a/multiwell-0228.ipynb b/notebooks/multiwell-0228.ipynb
similarity index 100%
rename from multiwell-0228.ipynb
rename to notebooks/multiwell-0228.ipynb
diff --git a/multiwell-0609.ipynb b/notebooks/multiwell-0609.ipynb
similarity index 100%
rename from multiwell-0609.ipynb
rename to notebooks/multiwell-0609.ipynb
diff --git a/multiwell-0610.ipynb b/notebooks/multiwell-0610.ipynb
similarity index 100%
rename from multiwell-0610.ipynb
rename to notebooks/multiwell-0610.ipynb
diff --git a/multiwell-0805.ipynb b/notebooks/multiwell-0805.ipynb
similarity index 100%
rename from multiwell-0805.ipynb
rename to notebooks/multiwell-0805.ipynb
diff --git a/multiwell-0807.ipynb b/notebooks/multiwell-0807.ipynb
similarity index 100%
rename from multiwell-0807.ipynb
rename to notebooks/multiwell-0807.ipynb
diff --git a/multiwell-0811.ipynb b/notebooks/multiwell-0811.ipynb
similarity index 100%
rename from multiwell-0811.ipynb
rename to notebooks/multiwell-0811.ipynb
diff --git a/multiwell-0813.ipynb b/notebooks/multiwell-0813.ipynb
similarity index 100%
rename from multiwell-0813.ipynb
rename to notebooks/multiwell-0813.ipynb
diff --git a/multiwell-plot-curves.ipynb b/notebooks/multiwell-plot-curves.ipynb
similarity index 100%
rename from multiwell-plot-curves.ipynb
rename to notebooks/multiwell-plot-curves.ipynb
diff --git a/multiwell-timelapse-20-dec-2022-resistant.ipynb b/notebooks/multiwell-timelapse-20-dec-2022-resistant.ipynb
similarity index 100%
rename from multiwell-timelapse-20-dec-2022-resistant.ipynb
rename to notebooks/multiwell-timelapse-20-dec-2022-resistant.ipynb
diff --git a/multiwell-timelapse-napari.ipynb b/notebooks/multiwell-timelapse-napari.ipynb
similarity index 100%
rename from multiwell-timelapse-napari.ipynb
rename to notebooks/multiwell-timelapse-napari.ipynb
diff --git a/multiwell.ipynb b/notebooks/multiwell.ipynb
similarity index 100%
rename from multiwell.ipynb
rename to notebooks/multiwell.ipynb
diff --git a/multiwell_MIC_counts_20201103.ipynb b/notebooks/multiwell_MIC_counts_20201103.ipynb
similarity index 100%
rename from multiwell_MIC_counts_20201103.ipynb
rename to notebooks/multiwell_MIC_counts_20201103.ipynb
diff --git a/multiwell_cell_number_hists.ipynb b/notebooks/multiwell_cell_number_hists.ipynb
similarity index 100%
rename from multiwell_cell_number_hists.ipynb
rename to notebooks/multiwell_cell_number_hists.ipynb
diff --git a/multiwell_feb_5-17_align.ipynb b/notebooks/multiwell_feb_5-17_align.ipynb
similarity index 100%
rename from multiwell_feb_5-17_align.ipynb
rename to notebooks/multiwell_feb_5-17_align.ipynb
diff --git a/multiwell_feb_5-17_measure.ipynb b/notebooks/multiwell_feb_5-17_measure.ipynb
similarity index 100%
rename from multiwell_feb_5-17_measure.ipynb
rename to notebooks/multiwell_feb_5-17_measure.ipynb
diff --git a/multiwell_registration-20201106.ipynb b/notebooks/multiwell_registration-20201106.ipynb
similarity index 100%
rename from multiwell_registration-20201106.ipynb
rename to notebooks/multiwell_registration-20201106.ipynb
diff --git a/multiwell_registration-20201109.ipynb b/notebooks/multiwell_registration-20201109.ipynb
similarity index 100%
rename from multiwell_registration-20201109.ipynb
rename to notebooks/multiwell_registration-20201109.ipynb
diff --git a/multiwell_registration-20201112.ipynb b/notebooks/multiwell_registration-20201112.ipynb
similarity index 100%
rename from multiwell_registration-20201112.ipynb
rename to notebooks/multiwell_registration-20201112.ipynb
diff --git a/Untitled2.ipynb b/notebooks/new mask.ipynb
similarity index 99%
rename from Untitled2.ipynb
rename to notebooks/new mask.ipynb
index 7dc9c1da0a2970879000ebf0167e8fbb9f7e3587..a54b91ccc68a154a3f80ae6cbcd206f22905514d 100644
--- a/Untitled2.ipynb
+++ b/notebooks/new mask.ipynb	
@@ -121,7 +121,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.3"
+   "version": "3.8.5"
   }
  },
  "nbformat": 4,
diff --git a/new_segmentation.ipynb b/notebooks/new_segmentation.ipynb
similarity index 100%
rename from new_segmentation.ipynb
rename to notebooks/new_segmentation.ipynb
diff --git a/organoid_shape_stats-23_01_2020.ipynb b/notebooks/organoid_shape_stats-23_01_2020.ipynb
similarity index 100%
rename from organoid_shape_stats-23_01_2020.ipynb
rename to notebooks/organoid_shape_stats-23_01_2020.ipynb
diff --git a/organoid_shape_stats-Time_evolution_size.ipynb b/notebooks/organoid_shape_stats-Time_evolution_size.ipynb
similarity index 100%
rename from organoid_shape_stats-Time_evolution_size.ipynb
rename to notebooks/organoid_shape_stats-Time_evolution_size.ipynb
diff --git a/organoid_shape_stats_cell_number_14022020.ipynb b/notebooks/organoid_shape_stats_cell_number_14022020.ipynb
similarity index 100%
rename from organoid_shape_stats_cell_number_14022020.ipynb
rename to notebooks/organoid_shape_stats_cell_number_14022020.ipynb
diff --git a/probs2021.csv b/notebooks/probs2021.csv
similarity index 100%
rename from probs2021.csv
rename to notebooks/probs2021.csv
diff --git a/rates_feb.csv b/notebooks/rates_feb.csv
similarity index 100%
rename from rates_feb.csv
rename to notebooks/rates_feb.csv
diff --git a/rates_feb_max_proj.csv b/notebooks/rates_feb_max_proj.csv
similarity index 100%
rename from rates_feb_max_proj.csv
rename to notebooks/rates_feb_max_proj.csv
diff --git a/segment-Fish-20210629.ipynb b/notebooks/segment-Fish-20210629.ipynb
similarity index 100%
rename from segment-Fish-20210629.ipynb
rename to notebooks/segment-Fish-20210629.ipynb
diff --git a/segment.ipynb b/notebooks/segment.ipynb
similarity index 100%
rename from segment.ipynb
rename to notebooks/segment.ipynb
diff --git a/segment_AggreWell_BRA.ipynb b/notebooks/segment_AggreWell_BRA.ipynb
similarity index 100%
rename from segment_AggreWell_BRA.ipynb
rename to notebooks/segment_AggreWell_BRA.ipynb
diff --git a/segment_MuviCyte.ipynb b/notebooks/segment_MuviCyte.ipynb
similarity index 100%
rename from segment_MuviCyte.ipynb
rename to notebooks/segment_MuviCyte.ipynb
diff --git a/segment_Nadia_n1.ipynb b/notebooks/segment_Nadia_n1.ipynb
similarity index 100%
rename from segment_Nadia_n1.ipynb
rename to notebooks/segment_Nadia_n1.ipynb
diff --git a/segment_Nadia_n2.ipynb b/notebooks/segment_Nadia_n2.ipynb
similarity index 100%
rename from segment_Nadia_n2.ipynb
rename to notebooks/segment_Nadia_n2.ipynb
diff --git a/segment_dars_chip_wells_plots.ipynb b/notebooks/segment_dars_chip_wells_plots.ipynb
similarity index 100%
rename from segment_dars_chip_wells_plots.ipynb
rename to notebooks/segment_dars_chip_wells_plots.ipynb
diff --git a/segment_kinetic-chip.ipynb b/notebooks/segment_kinetic-chip.ipynb
similarity index 100%
rename from segment_kinetic-chip.ipynb
rename to notebooks/segment_kinetic-chip.ipynb
diff --git a/segment_kinetic.ipynb b/notebooks/segment_kinetic.ipynb
similarity index 100%
rename from segment_kinetic.ipynb
rename to notebooks/segment_kinetic.ipynb
diff --git a/segment_muvicyte_all.ipynb b/notebooks/segment_muvicyte_all.ipynb
similarity index 100%
rename from segment_muvicyte_all.ipynb
rename to notebooks/segment_muvicyte_all.ipynb
diff --git a/segment_neurons_czi.ipynb b/notebooks/segment_neurons_czi.ipynb
similarity index 100%
rename from segment_neurons_czi.ipynb
rename to notebooks/segment_neurons_czi.ipynb
diff --git a/segment_neurons_czi_2.ipynb b/notebooks/segment_neurons_czi_2.ipynb
similarity index 100%
rename from segment_neurons_czi_2.ipynb
rename to notebooks/segment_neurons_czi_2.ipynb
diff --git a/segment_neurons_czi_3.ipynb b/notebooks/segment_neurons_czi_3.ipynb
similarity index 100%
rename from segment_neurons_czi_3.ipynb
rename to notebooks/segment_neurons_czi_3.ipynb
diff --git a/segment_neurons_czi_Large_chips-nd2.ipynb b/notebooks/segment_neurons_czi_Large_chips-nd2.ipynb
similarity index 100%
rename from segment_neurons_czi_Large_chips-nd2.ipynb
rename to notebooks/segment_neurons_czi_Large_chips-nd2.ipynb
diff --git a/segment_neurons_czi_Large_chips.ipynb b/notebooks/segment_neurons_czi_Large_chips.ipynb
similarity index 100%
rename from segment_neurons_czi_Large_chips.ipynb
rename to notebooks/segment_neurons_czi_Large_chips.ipynb
diff --git a/segment_rgb.ipynb b/notebooks/segment_rgb.ipynb
similarity index 100%
rename from segment_rgb.ipynb
rename to notebooks/segment_rgb.ipynb
diff --git a/segment_rgb_1-2_8001.ipynb b/notebooks/segment_rgb_1-2_8001.ipynb
similarity index 100%
rename from segment_rgb_1-2_8001.ipynb
rename to notebooks/segment_rgb_1-2_8001.ipynb
diff --git a/segment_rgb_3001.ipynb b/notebooks/segment_rgb_3001.ipynb
similarity index 100%
rename from segment_rgb_3001.ipynb
rename to notebooks/segment_rgb_3001.ipynb
diff --git a/segment_rgb_SUMO3-D2-D5.ipynb b/notebooks/segment_rgb_SUMO3-D2-D5.ipynb
similarity index 100%
rename from segment_rgb_SUMO3-D2-D5.ipynb
rename to notebooks/segment_rgb_SUMO3-D2-D5.ipynb
diff --git a/segment_rgb_SUMO4-D2-D5.ipynb b/notebooks/segment_rgb_SUMO4-D2-D5.ipynb
similarity index 100%
rename from segment_rgb_SUMO4-D2-D5.ipynb
rename to notebooks/segment_rgb_SUMO4-D2-D5.ipynb
diff --git a/segment_viability.ipynb b/notebooks/segment_viability.ipynb
similarity index 100%
rename from segment_viability.ipynb
rename to notebooks/segment_viability.ipynb
diff --git a/source_crops.ipynb b/notebooks/source_crops.ipynb
similarity index 100%
rename from source_crops.ipynb
rename to notebooks/source_crops.ipynb
diff --git a/stats.csv b/notebooks/stats.csv
similarity index 100%
rename from stats.csv
rename to notebooks/stats.csv
diff --git a/test_nd2_stitched.ipynb b/notebooks/test_nd2_stitched.ipynb
similarity index 100%
rename from test_nd2_stitched.ipynb
rename to notebooks/test_nd2_stitched.ipynb
diff --git a/timelapse 11 jan 2022.ipynb b/notebooks/timelapse 11 jan 2022.ipynb
similarity index 100%
rename from timelapse 11 jan 2022.ipynb
rename to notebooks/timelapse 11 jan 2022.ipynb
diff --git a/zarr.ipynb b/notebooks/zarr.ipynb
similarity index 100%
rename from zarr.ipynb
rename to notebooks/zarr.ipynb
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000000000000000000000000000000000000..04008de91f8ad8e4bc9b744efc31b8022dee7ff4
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,14 @@
+[build-system]
+requires = ["setuptools", "wheel", "setuptools_scm"]
+build-backend = "setuptools.build_meta"
+
+
+[tool.setuptools_scm]
+write_to = "src/zarr_tools/_version.py"
+
+[tool.black]
+line-length = 79
+
+[tool.isort]
+profile = "black"
+line_length = 79
diff --git a/segment/.ipynb_checkpoints/segment-checkpoint.py b/segment/.ipynb_checkpoints/segment-checkpoint.py
deleted file mode 100644
index 5f5c3e8c6fe1b279717490c092c996c8cdaad0ab..0000000000000000000000000000000000000000
--- a/segment/.ipynb_checkpoints/segment-checkpoint.py
+++ /dev/null
@@ -1,107 +0,0 @@
-import cv2
-import numpy as np
-from skimage.measure import regionprops, label
-from scipy.ndimage import gaussian_filter, binary_erosion
-import matplotlib.pyplot as plt
-import matplotlib
-import logging
-
-matplotlib.logging.basicConfig(level=logging.INFO)
-logging.basicConfig(level=logging.DEBUG)
-
-logger = logging.getLogger(__name__)
-logger.setLevel(logging.INFO)
-
-
-def findSpheroid(
-    imCropped: np.ndarray,
-    sigma: float = 5,
-    erode: int = 3,
-    threshold: float = 0.5,
-    max_ecc: float = 0.95,
-    lim_major_axis_length: tuple = (100, 400),
-    plot: bool = False,
-):
-
-    """
-
-    We find the spheroid by thresholding the intensity
-    and area filling. Sph. must have a dark border around
-    it.
-
-    returns mask
-    """
-
-    result1, result2 = np.gradient(imCropped)
-    grad = np.sqrt(result1 ** 2 + result2 ** 2)
-    if plot:
-        f, (ax1, ax2, ax3, ax4) = plt.subplots(
-            1, 4, sharey=True, sharex=True, figsize=(10, 3)
-        )
-        ax1.imshow(imCropped, cmap="gray")
-        ax1.set_title("raw")
-        ax2.imshow(grad)
-        ax2.set_title("grad")
-
-    toThresh = gaussian_filter(grad, sigma=sigma)
-
-    imThresh = toThresh > np.max(toThresh) * threshold
-
-    cnts, h = cv2.findContours(
-        imThresh.astype("uint8"), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE
-    )
-    mask = cv2.drawContours(
-        imThresh.astype("uint8"),
-        cnts,
-        -1,
-        (255, 255, 255),
-        thickness=cv2.FILLED,
-    )
-    eroded_mask = binary_erosion(
-        mask, structure=np.ones((erode, erode))
-    ).astype(mask.dtype)
-
-    temp = eroded_mask
-
-    imLabel = label(temp)
-    logger.debug(f"found {imLabel.max()} regions")
-    if plot:
-        ax3.imshow(imLabel)
-        ax3.set_title("all regions")
-
-    for i, region in enumerate(regionprops(imLabel)):
-        logger.debug(f"filtering region {i}")
-
-        if region.eccentricity > max_ecc:
-            # check it is inside or outside
-            logger.debug(f"eccentricity {region.eccentricity} > {max_ecc}")
-
-            temp[imLabel == region.label] = 0
-            # region given same value as sph. border
-
-        if (l := region.major_axis_length) < (lim := lim_major_axis_length)[
-            0
-        ] or l > lim[1]:
-            logger.debug(f"major_axis_length {l} outside limits {lim}")
-            temp[imLabel == region.label] = 0
-
-    if plot:
-        ax4.imshow(temp)
-        ax4.set_title("Selected regions")
-        return temp, f
-    return temp
-
-
-def get_props(mask: np.ndarray, **kwargs):
-    lab = label(mask)
-    # assert lab.max() == 1, f'number of segments is {lab.max()}'
-    reg = regionprops(lab)
-    return [
-        {
-            "area": r.area,
-            "eccentricity": r.eccentricity,
-            "major_axis_length": r.major_axis_length,
-            **kwargs,
-        }
-        for r in reg
-    ]
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..9ed3d370421fa245fa967c8e19055ecf22adec15
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,55 @@
+[metadata]
+name = zarr-tools
+description = Convert nd2 to zarr
+long_description = file: README.md
+long_description_content_type = text/markdown
+url = https://gitlab.pasteur.fr/aaristov/nd2shrink
+author = Andrey Aristov
+author_email = aaristov@pasteur.fr
+license = BSD-3-Clause
+license_file = LICENSE
+classifiers =
+    Development Status :: 2 - Pre-Alpha
+    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
+    Topic :: Software Development :: Testing
+project_urls =
+    Bug Tracker = https://gitlab.pasteur.fr/aaristov/nd2shrink/issues
+
+[options]
+packages = find:
+install_requires =
+    dask
+    fire
+    nd2
+    zarr
+    imreg-dft
+    click
+    statannot
+    seaborn
+    pandas
+    tqdm
+    tifffile
+    pytest
+    scikit-image
+    scipy
+    numpy
+    
+python_requires = >=3.8
+include_package_data = True
+package_dir =
+    =src
+setup_requires =
+    setuptools-scm
+
+[options.packages.find]
+where = src
+
+
diff --git a/setup.py b/setup.py
index 0c791202b194b73d39d6369f8d9d0e5b187f798b..a1ad77ff707692ceda90ae2ef2c6881f08735bb8 100644
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,6 @@ from setuptools import setup, find_packages
 
 setup(
     name="nd2tif",
-    version="0.3.0.dev0",
     description="Compress nd2 into multi-dimensional tiff",
     author="Andrey Aristov",
     author_email="aaristov@pasteur.fr",
diff --git a/droplet_growth/__init__.py b/src/droplet_growth/__init__.py
similarity index 100%
rename from droplet_growth/__init__.py
rename to src/droplet_growth/__init__.py
diff --git a/droplet_growth/count.py b/src/droplet_growth/count.py
similarity index 100%
rename from droplet_growth/count.py
rename to src/droplet_growth/count.py
diff --git a/droplet_growth/fit.py b/src/droplet_growth/fit.py
similarity index 100%
rename from droplet_growth/fit.py
rename to src/droplet_growth/fit.py
diff --git a/droplet_growth/mic.py b/src/droplet_growth/mic.py
similarity index 100%
rename from droplet_growth/mic.py
rename to src/droplet_growth/mic.py
diff --git a/droplet_growth/multiwell.py b/src/droplet_growth/multiwell.py
similarity index 100%
rename from droplet_growth/multiwell.py
rename to src/droplet_growth/multiwell.py
diff --git a/droplet_growth/poisson.py b/src/droplet_growth/poisson.py
similarity index 100%
rename from droplet_growth/poisson.py
rename to src/droplet_growth/poisson.py
diff --git a/droplet_growth/projections.py b/src/droplet_growth/projections.py
similarity index 100%
rename from droplet_growth/projections.py
rename to src/droplet_growth/projections.py
diff --git a/droplet_growth/register.py b/src/droplet_growth/register.py
similarity index 100%
rename from droplet_growth/register.py
rename to src/droplet_growth/register.py
diff --git a/droplet_growth/segment.py b/src/droplet_growth/segment.py
similarity index 100%
rename from droplet_growth/segment.py
rename to src/droplet_growth/segment.py
diff --git a/nd2_combine/__init__.py b/src/nd2_combine/__init__.py
similarity index 100%
rename from nd2_combine/__init__.py
rename to src/nd2_combine/__init__.py
diff --git a/nd2_combine/__main__.py b/src/nd2_combine/__main__.py
similarity index 100%
rename from nd2_combine/__main__.py
rename to src/nd2_combine/__main__.py
diff --git a/nd2_combine/tools.py b/src/nd2_combine/tools.py
similarity index 100%
rename from nd2_combine/tools.py
rename to src/nd2_combine/tools.py
diff --git a/nd2tif/__init__.py b/src/nd2tif/__init__.py
similarity index 100%
rename from nd2tif/__init__.py
rename to src/nd2tif/__init__.py
diff --git a/nd2tif/__main__.py b/src/nd2tif/__main__.py
similarity index 100%
rename from nd2tif/__main__.py
rename to src/nd2tif/__main__.py
diff --git a/nd2tif/read.py b/src/nd2tif/read.py
similarity index 100%
rename from nd2tif/read.py
rename to src/nd2tif/read.py
diff --git a/nd2tif/save.py b/src/nd2tif/save.py
similarity index 100%
rename from nd2tif/save.py
rename to src/nd2tif/save.py
diff --git a/nd2tif/transform.py b/src/nd2tif/transform.py
similarity index 100%
rename from nd2tif/transform.py
rename to src/nd2tif/transform.py
diff --git a/segment/__init__.py b/src/segment/__init__.py
similarity index 100%
rename from segment/__init__.py
rename to src/segment/__init__.py
diff --git a/segment/__main__.py b/src/segment/__main__.py
similarity index 100%
rename from segment/__main__.py
rename to src/segment/__main__.py
diff --git a/segment/muvicyte.py b/src/segment/muvicyte.py
similarity index 100%
rename from segment/muvicyte.py
rename to src/segment/muvicyte.py
diff --git a/segment/seg.py b/src/segment/seg.py
similarity index 100%
rename from segment/seg.py
rename to src/segment/seg.py
diff --git a/tests/.DS_Store b/src/tests/.DS_Store
similarity index 100%
rename from tests/.DS_Store
rename to src/tests/.DS_Store
diff --git a/tests/__init__.py b/src/tests/__init__.py
similarity index 100%
rename from tests/__init__.py
rename to src/tests/__init__.py
diff --git a/tests/test_multiwell.py b/src/tests/test_multiwell.py
similarity index 100%
rename from tests/test_multiwell.py
rename to src/tests/test_multiwell.py
diff --git a/tests/test_segment.py b/src/tests/test_segment.py
similarity index 100%
rename from tests/test_segment.py
rename to src/tests/test_segment.py
diff --git a/tests/test_transform.py b/src/tests/test_transform.py
similarity index 100%
rename from tests/test_transform.py
rename to src/tests/test_transform.py
diff --git a/tests/test_write.py b/src/tests/test_write.py
similarity index 100%
rename from tests/test_write.py
rename to src/tests/test_write.py
diff --git a/tests/test_zarr.py b/src/tests/test_zarr.py
similarity index 100%
rename from tests/test_zarr.py
rename to src/tests/test_zarr.py
diff --git a/temp.tif b/temp.tif
deleted file mode 100644
index 41381f391a01c622b6cbf16e9abc6573899d862e..0000000000000000000000000000000000000000
Binary files a/temp.tif and /dev/null differ