What do the parameters threshold, shaperate, and compactness mean and do?
In essence, threshold determines how large the segments get. Shaperate and compactness are weights that determine how the shapes look. Shaperate weighs the shape attributes versus the color attribute. Then within the shape calculation, the compactness rate weighs the compactness calculation over the smoothness calculation.
The main thing to control: A lower shaperate will let the segments go out further to follow similar colors. A higher shaperate will generally keep segments closer in, albeit less spectrally homogenious.
For instance a threshold of 50, shaperate of 0.7, and compactness rate of 0.5 says "Give the regions 50 growth cycles while weighing the shape calculations over color homogeneity by 70/30 and (within the 70 percent bias) give equal weight to the compactness and smoothness calculations."
How do I choose the parameters? Better yet, how do I simply segment an image and get a result that I like?
The short answer: Run all possible segmentation combinations and choose the one that looks the best! That is how BIS is designed: Let the computer do the number crunching and you choose what output looks best. The training and ranking functions can assist (BIS API). It is best to do this computationally intensive step on a 1000x1000 or smaller representative clip of your image.
I got the error message that the image is too big. How do I process an image this size?
The command line has an -x option that will tile the processing. With the -p option it will also dispatch those tiles to multiple cores/processors.
We highly recommend finding the best segmentation parameters on a small clip of your image, say 500x500 or 1000x1000 pixels. That way it is feasible to run dozens or even thousands of parameter combinations. Choose a representative sub-region of your image and run the iterations as described above. Then on the handful of most suitable parameters, run those on the full image.
How are the fields in the stats CSV file defined?
Thanks to Matt Stevenson at CORE GIS for kicking this off.
Will BIS API run on Unix/Linux, can it plug into ArcGIS, can I use Python directly?
Yes. The underlying source code is in Python/Cython. The Python API is exposed and source compiled to platforms by request. Please get in touch to voice your interest in a particular platform.
Can I incorporate BIS into a larger workflow?
Yes. BIS Cloud has a "file API" and is waiting to find imagery and the .cmd file. Your own scripts can place input and retrieve output. BIS API can be called from a Python environment or batched from the operating system command line. BIS parameters can be fed into either call.
Overall BIS works well as a "segmentation kernel" between third party image pre-processing, spatial statistics, and object classification software.
Feel free to create your own GUI for staff analyst or student use.
Can I embed the technology behind BIS in my company's product?
Yes. BIS can be incorporated in proprietary tool chains and the source code has been licensed for defense/intelligence applicaitons.
Where does the Berkeley in BIS / Berkeley Image Seg come from?
The scientists who developed the software have all worked at and/or earned a graduate degree from the University of California, Berkeley. It's how we know each other. Niether the company nor product has any formal tie to the university.
Updated on February 27, 2014.
Feel free to contact at any time with questions.