void IterationsPlot::Add(TimeFrequencyData &data, TimeFrequencyMetaDataCPtr) { Item item; Mask2DCPtr mask = data.GetSingleMask(); item.mode = ThresholdTools::Mode(data.GetSingleImage(), mask); item.winsorizedMode = ThresholdTools::WinsorizedMode(data.GetSingleImage(), mask); item.flaggedRatio = (double) mask->GetCount<true>() / ((double) mask->Width() * (double) mask->Height()); _stats.push_back(item); }
void RFIGuiController::PlotPowerTime() { if(IsImageLoaded()) { Plot2D &plot = _plotManager->NewPlot2D("Power over time"); plot.SetLogarithmicYAxis(true); TimeFrequencyData activeData = ActiveData(); Image2DCPtr image = activeData.GetSingleImage(); Mask2DPtr mask = Mask2D::CreateSetMaskPtr<false>(image->Width(), image->Height()); Plot2DPointSet &totalPlot = plot.StartLine("Total"); RFIPlots::MakePowerTimePlot(totalPlot, image, mask, MetaData()); mask = Mask2D::CreateCopy(activeData.GetSingleMask()); if(!mask->AllFalse()) { Plot2DPointSet &uncontaminatedPlot = plot.StartLine("Uncontaminated"); RFIPlots::MakePowerTimePlot(uncontaminatedPlot, image, mask, MetaData()); mask->Invert(); Plot2DPointSet &rfiPlot = plot.StartLine("RFI"); RFIPlots::MakePowerTimePlot(rfiPlot, image, mask, MetaData()); } _plotManager->Update(); } }
void RFIGuiController::PlotPowerRMS() { if(IsImageLoaded()) { Plot2D &plot = _plotManager->NewPlot2D("Spectrum RMS"); plot.SetLogarithmicYAxis(true); TimeFrequencyData activeData = ActiveData(); Image2DCPtr image = activeData.GetSingleImage(); Mask2DPtr mask = Mask2D::CreateSetMaskPtr<false>(image->Width(), image->Height()); Plot2DPointSet &beforeSet = plot.StartLine("Before"); RFIPlots::MakeRMSSpectrumPlot(beforeSet, image, mask); mask = Mask2D::CreateCopy(activeData.GetSingleMask()); if(!mask->AllFalse()) { Plot2DPointSet &afterSet = plot.StartLine("After"); RFIPlots::MakeRMSSpectrumPlot(afterSet, image, mask); //mask->Invert(); //Plot2DPointSet &rfiSet = plot.StartLine("RFI"); //RFIPlots::MakeRMSSpectrumPlot(rfiSet, _timeFrequencyWidget.Image(), mask); } _plotManager->Update(); } }
void RFIGuiController::PlotPowerSpectrumComparison() { if(IsImageLoaded()) { Plot2D &plot = _plotManager->NewPlot2D("Power spectrum comparison"); TimeFrequencyData data = OriginalData(); Image2DCPtr image = data.GetSingleImage(); Mask2DCPtr mask = data.GetSingleMask(); Plot2DPointSet &originalSet = plot.StartLine("Original"); RFIPlots::MakePowerSpectrumPlot(originalSet, image, mask, MetaData()); data = ContaminatedData(); image = data.GetSingleImage(); mask = data.GetSingleMask(); Plot2DPointSet &alternativeSet = plot.StartLine("Alternative"); RFIPlots::MakePowerSpectrumPlot(alternativeSet, image, mask, MetaData()); _plotManager->Update(); } }
void RFIGuiController::PlotLogLogDist() { if(IsImageLoaded()) { TimeFrequencyData activeData = ActiveData(); HistogramCollection histograms(activeData.PolarisationCount()); for(unsigned p=0;p!=activeData.PolarisationCount();++p) { TimeFrequencyData *polData = activeData.CreateTFDataFromPolarisationIndex(p); Image2DCPtr image = polData->GetSingleImage(); Mask2DCPtr mask = Mask2D::CreateCopy(polData->GetSingleMask()); histograms.Add(0, 1, p, image, mask); } _rfiGuiWindow.ShowHistogram(histograms); } }
void RFIGuiController::PlotDist() { if(IsImageLoaded()) { Plot2D &plot = _plotManager->NewPlot2D("Distribution"); TimeFrequencyData activeData = ActiveData(); Image2DCPtr image = activeData.GetSingleImage(); Mask2DPtr mask = Mask2D::CreateSetMaskPtr<false>(image->Width(), image->Height()); Plot2DPointSet &totalSet = plot.StartLine("Total"); RFIPlots::MakeDistPlot(totalSet, image, mask); Plot2DPointSet &uncontaminatedSet = plot.StartLine("Uncontaminated"); mask = Mask2D::CreateCopy(activeData.GetSingleMask()); RFIPlots::MakeDistPlot(uncontaminatedSet, image, mask); mask->Invert(); Plot2DPointSet &rfiSet = plot.StartLine("RFI"); RFIPlots::MakeDistPlot(rfiSet, image, mask); _plotManager->Update(); } }
void RFIGuiController::PlotPowerSpectrum() { if(IsImageLoaded()) { Plot2D &plot = _plotManager->NewPlot2D("Power spectrum"); plot.SetLogarithmicYAxis(true); TimeFrequencyData data = ActiveData(); Image2DCPtr image = data.GetSingleImage(); Mask2DPtr mask = Mask2D::CreateSetMaskPtr<false>(image->Width(), image->Height()); Plot2DPointSet &beforeSet = plot.StartLine("Before"); RFIPlots::MakePowerSpectrumPlot(beforeSet, image, mask, MetaData()); mask = Mask2D::CreateCopy(data.GetSingleMask()); if(!mask->AllFalse()) { Plot2DPointSet &afterSet = plot.StartLine("After"); RFIPlots::MakePowerSpectrumPlot(afterSet, image, mask, MetaData()); } _plotManager->Update(); } }