def testPixelBrightness(self): dataObject = DataObject(self.fileLocation) outX = 2905 outY = 620 imageData = dataObject.getImageData() yMax, xMax = imageData.shape """pixel = imageData[2548, 2713].astype(np.int16) print("Pixel brightness - star bright: " + str(pixel)) pixel = imageData[2548, 2714].astype(np.int16) print("Pixel brightness - star dim: " + str(pixel)) pixel = imageData[2554, 2711].astype(np.int16) print("Pixel brightness - background bright: " + str(pixel)) pixel = imageData[2553, 2711].astype(np.int16) print("Pixel brightness - background dark: " + str(pixel))""" pixel = imageData[(yMax - 2703 - 1), 2548].astype(np.int16) print("Pixel brightness - star bright: " + str(pixel)) pixel = imageData[(yMax - 2704 - 1), 2548].astype(np.int16) print("Pixel brightness - star dim: " + str(pixel)) pixel = imageData[(yMax - 2711 - 1), 2554].astype(np.int16) print("Pixel brightness - background bright: " + str(pixel)) pixel = imageData[(yMax - 2711 - 1), 2553].astype(np.int16) print("Pixel brightness - background dark: " + str(pixel)) print(imageData.shape)
def testWithMockDataObject(self): #Create mock DataObject dataObject = DataObject(self.fileLocation) dataObject = Photometry.performPhotometry(dataObject) #Get mock slices from DataObject sliceList = dataObject.getSliceList() #Get Slices from mock DataObject sliceOne = sliceList[0] sliceTwo = sliceList[1] sliceThree = sliceList[2] #Test slices have correct positions for edges of slice self.assertEqual(sliceOne.getYL(), 2848) self.assertEqual(sliceOne.getYH(), 2948) self.assertEqual(sliceTwo.getYL(), 1916) self.assertEqual(sliceTwo.getYH(), 1976) self.assertEqual(sliceThree.getYL(), 2910) self.assertEqual(sliceThree.getYH(), 3010) #Test brightnessDiff values are appropriate self.assertAlmostEqual(sliceOne.getBrightnessDiff(), 358.2439214612141) self.assertAlmostEqual(sliceTwo.getBrightnessDiff(), 284.96392146121434) self.assertAlmostEqual(sliceThree.getBrightnessDiff(), 2.493921461214086) #Test mean calibration factor self.assertAlmostEqual(dataObject.getMeanCalibrationFactor(), 0.33154828879279772) #Test slices have correct difference in brightness to background #TODO Needs brightnessDiff function to be fully functional
def testNoMarginOfError(self): dataObject = DataObject(self.fileLocation) yMax, xMax = dataObject.getImageData().shape outX = 920 outY = (yMax - 1150 - 1) #result = [1150, 870, 970] result = [920, 1100, 1200] self.assertEqual(SlicePlot.performSlicePlot(dataObject, outX, outY), result)
def testMarginAboveMaximum(self): dataObject = DataObject(self.fileLocation) yMax, xMax = dataObject.getImageData().shape outX = 1000 outY = (yMax - 3421 - 1) marginOfError = 50 #result = [1000, 3371, 3461] result = [1000, 3371, 3461] self.assertEqual(SlicePlot.performSlicePlot(dataObject, outX, outY), result)
def testMarginBelowMinimum(self): dataObject = DataObject(self.fileLocation) yMax, xMax = dataObject.getImageData().shape outX = 20 outY = (yMax - 30 - 1) marginOfError = 50 #result = [30, 0, 70] result = [20, 0, 80] self.assertEqual(SlicePlot.performSlicePlot(dataObject, outX, outY), result)
def testMarginOfError(self): dataObject = DataObject(self.fileLocation) yMax, xMax = dataObject.getImageData().shape outX = 20 outY = (yMax - 30 - 1) marginOfError = 5 #result = [30, 15, 25] result = [20, 25, 35] self.assertEqual( SlicePlot.performSlicePlot(dataObject, outX, outY, marginOfError), result)
def testXOutOfBounds(self): dataObject = DataObject(self.fileLocation) imageData = dataObject.getImageData() try: pixel = imageData[3460, 5191].astype( np.int16) #Note: imageData is stored as [y, x] except IndexError: pass self.assertRaises(IndexError)
def testIntensityDifferenceOnBackground(self): dataObject = DataObject(self.fileLocation) yMax, xMax = dataObject.getImageData().shape outX = 700 #1600 outY = 500 #1600 marginOfError = 50 #result = #Currently no known way to get result without using this method slicePlotData = SlicePlot.performSlicePlot( dataObject, outX, outY, marginOfError) #Assumes slicePlot function fully works #Can't current use assertEqual() since it is unknown how to obtain the results beforehand intensityDifference = SlicePlot.intensityDiff(dataObject, slicePlotData) print("Not star difference: " + str(intensityDifference))
def testIntensityOfBackground(self): dataObject = DataObject(self.fileLocation) print("Background brightness: " + str(ImageIntensity.meanBrightness(dataObject)))