Skip to main content

Optimal peanut butter and banana sandwiches

Project description


Python package

A small package for optimizing banana coverage on peanut butter and banana sandwiches. See blog post for more info.



nannernest is generally pip installable. Due to some C dependencies with the nesting library that I use nest2D, along with an outstanding PR, I would recommend the following way to install everything:

First, make sure you have boost and cmake installed. If you are on Linux, then you may have cmake installed, and you can install boost with

sudo apt-get install libboost-all-dev 

I'm on a Mac, and I installed cmake with conda and boost with brew:

conda install cmake
brew install boost

Next, pip install my fork of nest2D:

pip install git+

Finally, pip install nannernest

pip install nannernest


Take a top-down picture that contains your banana and at least one slice of bread. Pass the image in via command line:

$ nannernest my_image.jpg

CLI Details

$ nannernest --help
Usage: nannernest [OPTIONS] IMAGE_PATH

  IMAGE_PATH  Image file which contains bread and banana  [required]

  --num-slices INTEGER            Total number of slices to cut the banana
                                  into. This number defines the slice
                                  thickness.  [default: 22]

  --mask-threshold FLOAT          Threshold of segmentation mask.  [default:

  --peel-scaler FLOAT             Fraction of slice that is assumed to belong
                                  to banana insides versus the peel.
                                  [default: 0.8]

  --ellipse-ratio FLOAT           Assumed ratio of minor axis to major axis of
                                  banana slice ellipses  [default: 0.85]

  --plot-segmentation / --no-plot-segmentation
                                  Whether or not to plot the segmentation
                                  masks  [default: False]

  --plot-slicing / --no-plot-slicing
                                  Whether or not to plot the slicing circle
                                  and skeleton  [default: False]

  --output TEXT                   Name of file to output  [default:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nannernest-0.1.4.tar.gz (37.2 kB view hashes)

Uploaded source

Built Distribution

nannernest-0.1.4-py3-none-any.whl (39.5 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page