133 {
134 Point3D p = Microscope.GetPosition();
135 int o = Microscope.Objectives.Index;
136 foreach (Blob blob in blobs)
137 {
138 if (blob.Rectangle.Width < minWidthBar.Value || blob.Rectangle.Height < minHeightBar.Value || blob.Rectangle.Width > maxWidthBar.Value || blob.Rectangle.Height > maxHeightBar.Value)
139 continue;
140 PointD loc = new PointD(b.StageSizeX + (blob.Rectangle.X * b.PhysicalSizeX), b.StageSizeY + (blob.Rectangle.Y * b.PhysicalSizeY));
141 Microscope.Objectives.SetPosition(objectivesBox.SelectedIndex);
142 Microscope.SetPosition(loc);
143 if (tileBox.Checked)
144 {
145 for (int y = 0; y < tileYBox.Value; y++)
146 {
147 for (int x = 0; x < tileXBox.Value; x++)
148 {
149 if (comboBox.SelectedIndex != -1)
151 else
152 images.AddRange(Microscope.TakeTiles((int)tileXBox.Value, (int)tileYBox.Value));
153 }
154 }
155 }
156 else
157 {
158 if (comboBox.SelectedIndex != -1)
160 else
161 images.Add(Microscope.TakeImage(false, false, false));
162 }
163 }
164 Microscope.Objectives.SetPosition(o);
165 Microscope.SetPosition(p);
166 viewer.Images.Clear();
167 viewer.Images.AddRange(images);
169 }