title: ValueError: math domain error (python)
body: <p>I was testing the math module and PIL module, and trying to apply a box count algorithm on a Image. When I run that code below I get the following error:</p>
  
  <pre><code>Traceback (most recent call last):
    File "C:\Users\Joao\Desktop\Image Size.py", line 48, in &lt;module&gt;
      gy.append(math.log(boxCount))
  ValueError: math domain error
  </code></pre>
  
  <p>Code:</p>
  
  <pre><code>import Tkinter as tk
  from Tkinter import *
  from PIL import Image, ImageTk
  import os, glob, tkFileDialog
  import math
  
  
  im = Image.open("img1.bmp")
  width, height = im.size
  print width
  print height
  
  imgx = width
  imgy = height
  
  pixels = im.load()
  theColor = (255, 255, 255)
  
  
  # fractal dimension calculation using box-counting method
  b = 2 # initial box size in pixels
  f = 2 # box scaling factor
  n = 3 # number of graph points for simple linear regression
  gx = [] # x coordinates of graph points
  gy = [] # y coordinates of graph points
  for ib in range(n):
      bs = b * f ** ib # box size in pixels
      bnx = int(imgx / bs) # of boxes in x direction of image
      bny = int(imgy / bs) # of boxes in y direction of image
      boxCount = 0
      for by in range(bny):
          for bx in range(bnx):
          # if there are any pixels in the box then increase box count
              foundPixel = False
              for ky in range(bs):
                  for kx in range(bs):
                      if pixels[bs * bx + kx, bs * by + ky] == theColor:
                          foundPixel = True
                          boxCount += 1
                          break
                  if foundPixel:
                      break
      gx.append(math.log(1.0 / bs))
      gy.append(math.log(boxCount))
  </code></pre>
  
  <p>I found that if I change the value of boxcount to 1 (instead of zero) it produces no error at all, but I need the boxcount value to be 0. Can anyone suggest a solution?</p>