      @staticmethod
      def valid_extension(filename):
          """ Check whether passed in file has a valid extension """
          extension = os.path.splitext(filename)[1]
          retval = extension in _image_extensions
          logger.trace("Filename has valid extension: '%s': %s", filename, retval)
          return retval
  
      @staticmethod
      def sorted_items():
 
</s> remove         cv2.fillConvexPoly(mask, hull, 1.0, lineType=cv2.LINE_AA)  # pylint: disable=no-member
 </s> add         cv2.fillConvexPoly(mask, hull, 255.0, lineType=cv2.LINE_AA)  # pylint: disable=no-member </s> remove             section=section, title="balance_3",  datatype=float, default=0.0, rounding=1,
 </s> add             section=section, title="balance_3", datatype=float, default=0.0, rounding=1, </s> remove             section=section, title="balance_2",  datatype=float, default=0.0, rounding=1,
 </s> add             section=section, title="balance_2", datatype=float, default=0.0, rounding=1, </s> remove             section=section, title="balance_1",  datatype=float, default=0.0, rounding=1,
 </s> add             section=section, title="balance_1", datatype=float, default=0.0, rounding=1,
        retval = extension.lower() in _image_extensions
      @staticmethod
      def valid_extension(filename):
          """ Check whether passed in file has a valid extension """
          extension = os.path.splitext(filename)[1]
        retval = extension.lower() in _image_extensions
          logger.trace("Filename has valid extension: '%s': %s", filename, retval)
          return retval
  
      @staticmethod
      def sorted_items():
keep keep keep keep replace keep keep keep keep keep
 Bugfixes

Facefilter - Variable reference before assignment
masks - Facehull initialize to 255.0 instead of 1.0
Alignments tool - Stop tool from ignoring upper case extensions
pep8 fixes 
tools/lib_alignments/media.py