Skip to main content

Optimal peanut butter and banana sandwiches

Project description

nannernest

Python package

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

assets/perfect_sandwich.jpg

Installation

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+https://github.com/EthanRosenthal/nest2D.git@download-dependencies

Finally, pip install nannernest

pip install nannernest

Usage

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

Arguments:
  IMAGE_PATH  Image file which contains bread and banana  [required]

Options:
  --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:
                                  0.6]

  --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:
                                  perfect_sandwich.jpg]

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 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page