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)))