Getting Started¶
The imagepypelines package is a pipeline processing library for scientists who want to make their code more scalable and sharable with their colleagues. It’s designed with scientists in mind, not software engineers.
ImagePypelines contains tools to turn scripts into robust processing pipelines which can be visualized, saved, copied, or deployed to a server easily.
Installation¶
ImagePypelines is python3 only, so this might be "pip3" on your machine :p
(remove
--user
to install systemwide)
**Note: remove the
[all]
if you don't wish to install default plugins or opencv-python.
ImagePypelines is python3 only, so this might be "python3" on your machine :p
**Note: This will not install the official ImagePypelines plugins. See the Advanced Startup section below to manually install the Image and Astro plugins.
ImagePypelines Makes Your Scripts More Powerful¶
placeholder until my capstone code is done
Without ImagePypelines |
With ImagePypelines |
---|---|
import numpy as np
# let's build a linear function
def y(m,x,b):
return m*x + b
m = np.ones(500) * 5
x = np.arange(500)
b = np.ones(500) * 12
y = y(m,x,b)
|
import numpy as np
import imagepypelines as ip
# let's build a linear function
@ip.blockify()
def y(m,x,b):
return m*x + b
m = np.ones(500) * 5
x = np.arange(500)
b = np.ones(500) * 12
tasks = {
# inputs
'm' : ip.Input(0),
'x' : ip.Input(1),
'b' : ip.Input(2),
# linear transformer
'y' : (y, 'm','x','b'),
}
pipeline = ip.Pipeline(tasks)
y = pipeline.process_and_grab(m,x,b,fetch='y')
|
I’m a boring normal script |
|
Advanced¶
Setting up a Virtual Environment¶
If you have permissions-related installation issues, sometimes a virtual environment can help
To set one up:
python -m venv venv
And activate it with:
# Windows
venv/Scripts/activate
# Linux
venv/bin/activate
You should now be able to follow the installation steps above without issue. Deactivate your virtual environment with:
deactivate
Configuring Your ImagePypelines Installation¶
Image Plugin¶
ImagePypelines requires OpenCV bindings by default for use in the official image plugin. If you do not have a local OpenCV installation compiled from source, you may install opencv-python on your system or in a virtual environment alongside imagepypelines. Careful though! opencv-python WILL overwrite your own local OpenCV bindings, so proceed with caution!
without opencv
pip install imagepypelines_image
with opencv
pip install imagepypelines_image[cv]
Astro Plugin¶
Likewise, install our official astronomy plugin via
this is installed by default with imagepypelines[all]
pip install imagepypelines_astro
Backends¶
Brief overview of our various messaging, dashboard, and runtime backends. Currently not a very long list and should reflect vanilla IP. As example redis vs current TCP implementation for messaging
Testing¶
You may want to verify your installation by running the hello-world test pipeline:
imagepypelines hello-world
# Output: Hello World!
If your output matches then you’re ready to code! See our Examples for help converting your script.
ImagePypelines Command Line Interface Overview¶
More in depth than above. Go over all commands in great detail with example use cases
For Developers¶
All the developer centric goodies relating to ImagePypelines. Installation, Contribution Guidelines, etc