ilastik/applets/nanshe/preprocessing/opNansheRemoveZeroedLines.py: Increased the temporal size of the cache.
ilastik/applets/nanshe/preprocessing/opNansheExtractF0.py: Set a minimum length for the cache over time.
ilastik/applets/nanshe/preprocessing/opNansheWaveletTransform.py: Set a minimum block length over time.
ilastik/applets/nanshe/dataExport/nansheDataExportGui.py: Eliminate extra newline.
ilastik/applets/nanshe/dataExport/nansheDataExportGui.py: Moved the raw data layer to the bottom of the layer stack.
ilastik/applets/base/appletSerializer.py: Overrode shouldSerialize for SerialBlockSlot. This checks to make sure that all relevant groups and datasets are serialized. Required as SerialBlockSlot has a couple layers of nested groups and it is not obvious if it has been serialized without checking the full structure. Related to issue ( ilastik#1052 ).
ilastik/applets/base/appletSerializer.py: Added shouldSerialize method to AppletSerializer. This tries to call shouldSerialize for all slots. Only happens if self.topGroupName is specified and the AppletSerializer is not already dirty. Related to issue ( ilastik#1052 ).
ilastik/shell/projectManager.py: When checking whether to serialize verify that shouldSerialize is True also. Fixes ilastik#1052.
ilastik/applets/base/appletSerializer.py: Changed getOrCreateGroup to use the require_group method. Original technique would have returned an existing dataset if present. This ensures an exception would be thrown in that case.
ilastik/applets/base/appletSerializer.py: Changed deleteIfPresent to delete first and handle exceptions later.
ilastik/applets/nanshe/opConvertType.py: Created the operator to perform conversion to the desired type if not already done.
ilastik/applets/nanshe/dictionaryLearning/opNansheGenerateDictionary.py: No longer necessary to convert type as conversion happens automatically in generate_dictionary.