2936 {
2937 ID = b.meta.getPlateID(b.series);
2938 Name = b.meta.getPlateName(b.series);
2939 double x, y;
2940 if (b.meta.getPlateWellOriginX(b.series) != null)
2941 x = b.meta.getPlateWellOriginX(b.series).value().doubleValue();
2942 else
2943 x = 0;
2944 if (b.meta.getPlateWellOriginY(b.series) != null)
2945 y = b.meta.getPlateWellOriginY(b.series).value().doubleValue();
2946 else
2947 y = 0;
2948 Origin = new PointD(x, y);
2949 int ws = b.meta.getWellCount(b.series);
2950 for (int i = 0; i < ws; i++)
2951 {
2952 Well w = new Well();
2953 w.ID = b.meta.getWellID(b.series, i);
2954 w.Column = b.meta.getWellColumn(b.series, i).getNumberValue().intValue();
2955 w.Row = b.meta.getWellRow(b.series, i).getNumberValue().intValue();
2956 int wsc = b.meta.getWellSampleCount(b.series, i);
2957 for (int s = 0; s < wsc; s++)
2958 {
2959 Well.Sample sa = new Well.Sample();
2960 sa.Time = b.meta.getWellSampleTimepoint(b.series, i, s);
2961 sa.Index = b.meta.getWellSampleIndex(b.series, i, s).getNumberValue().intValue();
2962 double sx, sy;
2963 if (b.meta.getWellSamplePositionX(b.series, i, s) != null)
2964 sx = b.meta.getWellSamplePositionX(b.series, i, s).value().doubleValue();
2965 else sx = 0;
2966 if (b.meta.getWellSamplePositionY(b.series, i, s) != null)
2967 sy = b.meta.getWellSamplePositionY(b.series, i, s).value().doubleValue();
2968 else sy = 0;
2969 sa.Position = new PointD(sx, sy);
2970 sa.ID = b.meta.getWellSampleID(b.series, i, s);
2971 w.Samples.Add(sa);
2972 }
2973 BioFormats::ome.xml.model.primitives.Color c = b.meta.getWellColor(b.series, i);
2974 if (c != null)
2975 w.Color = System.Drawing.Color.FromArgb(c.getAlpha(), c.getRed(), c.getGreen(), c.getBlue());
2976 Wells.Add(w);
2977 }
2978
2979 }