-
Notifications
You must be signed in to change notification settings - Fork 5
Development Overview v1
John Hoffer edited this page Mar 9, 2017
·
1 revision
Butterfly is meant to be flexible for many specific needs and should allow easy addition of new input and output formats. The following is an overview of the functions of each script:
b.py
- The driver of the server, which takes one optional argument to specify the port.
In _butterfly
:
-
core.py
- TheCore
class which creates new data sources and contains the mainget()
method for grabbing volumes. -
datasource.py
- TheDataSource
superclass which handles loading from disk.- The
load()
method currently handles file input, resize, as well as caching (currently they should always happen together). These functions can be split into separated methods for code clarity if needed.
- The
-
requestparser.py
- TheRequestParser
class which parses all queries. Currently supports default and OCP formats.- The
request
sent to theRequestParser
instance is a/
forward-slash splitted list of the http request, not including the handle (e.g./data/
).
- The
-
settings.py
- The settings file. -
webserver.py
- The tornado web server script; currently listens for requests with/data/
handles.- Currently, all output encoding is handled in this script.
Subclasses of DataSource
:
-
mojo.py
- TheMojo
data source type that is currently the best supported file structure, featuring complete automatic indexing of files, folders, segmentations, and color map. -
regularimagestack.py
- TheRegularImageStack
class is a flexible option for custom named folders and files, where manual input of these parameters are done by a short.args
file in the folder of the DATAPATH.
- Add hdf5 volume output. Refer to Adding an Output Format
- Add multibeam file system support.
-
Home
- API
- OCP
- Data Formats
- Developers
- Harvard RC Cluster
- Keywords
- Testing
- VM
- AccessLayer
- API
- OCP
- QueryLayer
- ImageLayer
- HDF5
- New Formats
- DatabaseLayer
- Mongo
- CoreLayer
- Core
- CacheSource
- CacheTile