private void SerializeImages() { if (!string.IsNullOrEmpty(SerializeDir) && ShouldSaveImage) { Directory.CreateDirectory(SerializeDir); for (int i = 0; i < SaveImageBatch; i++) { var saveIndex = CurrentIndex - SaveImageBatch + i; var imagePath = SerializeDir + "/" + saveIndex + ".bmp"; var image = ImagesInMemory.Dequeue(); HOperatorSet.WriteImage(image, "bmp", 0, imagePath); } } }
/// <summary> /// Add images to list to be saved /// </summary> /// <param name="image"></param> private void AddImageThreadSafe(HImage image) { lock (ImagesInMemory) { ImagesInMemory.Enqueue(image); NumImagesInMemory = ImagesInMemory.Count; CurrentIndex++; if (SavePointReached) { SerializeImages(); } } }
private void ResetSaveImages() { ImagesInMemory.Clear(); CurrentIndex = 0; NumImagesInMemory = 0; }