1 /* 2 SPDX-FileCopyrightText: 2004 Jasem Mutlaq 3 SPDX-FileCopyrightText: 2020 Eric Dejouhanet <eric.dejouhanet@gmail.com> 4 5 SPDX-License-Identifier: GPL-2.0-or-later 6 7 Some code fragments were adapted from Peter Kirchgessner's FITS plugin 8 SPDX-FileCopyrightText: Peter Kirchgessner <http://members.aol.com/pkirchg> 9 */ 10 11 #pragma once 12 13 #include "fitsstardetector.h" 14 #include "skybackground.h" 15 16 class FITSSEPDetector : public FITSStarDetector 17 { 18 Q_OBJECT 19 20 public: FITSSEPDetector(FITSData * data)21 explicit FITSSEPDetector(FITSData * data): FITSStarDetector(data) {}; 22 23 /** @brief Find sources in the parent FITS data file. 24 * @see FITSStarDetector::findSources(). 25 */ 26 QFuture<bool> findSources(QRect const &boundary = QRect()) override; 27 28 /** @brief Find sources in the parent FITS data file as well as background sky information. 29 */ 30 bool findSourcesAndBackground(QRect const &boundary = QRect()); 31 32 protected: 33 /** @internal Consolidate a float data buffer from FITS data. 34 * @param buffer is the destination float block. 35 * @param x, y, w, h define a (x,y)-(x+w,y+h) sub-frame to extract from the FITS data out to block 'buffer'. 36 * @param image_data is the FITS data block to extract from. 37 */ 38 template <typename T> 39 void getFloatBuffer(float * buffer, int x, int y, int w, int h, FITSData const * image_data) const; 40 41 private: 42 43 void clearSolver(); 44 45 // int numStars = 100; 46 // double fractionRemoved = 0.2; 47 // int deblendNThresh = 32; 48 // double deblendMincont = 0.005; 49 // bool radiusIsBoundary = true; 50 }; 51 52