private void exportShapesKnowledgeBaseToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog dialog = new SaveFileDialog();

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                PoresKnowledgeBaseDo dataObject = new PoresKnowledgeBaseDo()
                {
                    PoresDictionary = _shapeAnalyzer.ShapeDictionary,
                    PoresData       = _poresDatabase
                };


                IFormatter formatter = new BinaryFormatter();
                try
                {
                    Stream stream = new FileStream(dialog.FileName, FileMode.Create, FileAccess.Write, FileShare.None);
                    formatter.Serialize(stream, dataObject);
                    stream.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        private void importShapesKnowledgeBaseToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    IFormatter           formatter = new BinaryFormatter();
                    Stream               stream    = new FileStream(dialog.FileName, FileMode.Open, FileAccess.Read, FileShare.Read);
                    PoresKnowledgeBaseDo shapes    = (PoresKnowledgeBaseDo)formatter.Deserialize(stream);
                    stream.Close();

                    _shapeAnalyzer.ShapeDictionary = shapes.PoresDictionary;
                    _poresDatabase = shapes.PoresData;

                    MessageBox.Show("Shape Database loaded", "info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }