-
Notifications
You must be signed in to change notification settings - Fork 10
Description
Certain parts of CNNectome can be useful as library and should be distributed as such. Distribution (of the relevant) as a library would make CNNectome reusable and allow for better reproducible builds (i.e. create docker containers or requirements.txt specifying the version of CNNectome to be fetched from PyPI). Also, it would allow for easier separation of scripts from library code. This should be as simple as just adding a setup.py file at the top level and specifying the packages as well as dependencies.
In particular, I am talking about networks/*.py but there might be other parts of CNNectome for which that is true.
The only difficulty would be to introduce another level in the directory tree for more unique imports in python, e.g. change
CNNectome
├── docker_start_scripts
├── multi_scale_aff
│ └── multi_scale_aff
├── networks
│ ├── autoencoder.py
│ ├── custom_fw_unet.py
│ ├── custom_ops.py
│ ├── __init__.py
│ ├── ops2d.py
│ ├── ops3d.py
│ ├── __pycache__
│ ├── scale_net.py
│ ├── strided_autoencoder.py
│ ├── strided_unet.py
│ ├── unet2d.py
│ ├── unet_auto.py
│ ├── unet_class.py
│ └── unet.py
├── training
│ ├── anisotropic
│ └── isotropic
├── utils
└── validation
into
CNNectome
├── CNNectome
│ ├── networks
│ │ ├── autoencoder.py
│ │ ├── custom_fw_unet.py
│ │ ├── custom_ops.py
│ │ ├── __init__.py
│ │ ├── ops2d.py
│ │ ├── ops3d.py
│ │ ├── scale_net.py
│ │ ├── strided_autoencoder.py
│ │ ├── strided_unet.py
│ │ ├── unet2d.py
│ │ ├── unet_auto.py
│ │ ├── unet_class.py
│ │ └── unet.py
├── docker_start_scripts
├── multi_scale_aff
│ └── multi_scale_aff
├── networks
│ ├── anisotropic
│ └── isotropic
├── training
│ ├── anisotropic
│ │ └── log
│ └── isotropic
├── utils
└── validation
(only relevant files shown, only showing changes for networks)