module CV.Files where import CV.Bindings.Files import CV.Image import Foreign.C.String import Foreign.Ptr(nullPtr, castPtr) import System.IO.Unsafe readFromTcr :: String -> Image GrayScale D32 readFromTcr p = unsafePerformIO $ creatingImage $ withCString p $ \path -> c'read_from_tcr path nullPtr readFromTcrRectified :: String -> Image GrayScale D32 readFromTcrRectified p = unsafePerformIO $ creatingImage $ withCString p $ \path -> c'read_from_tcr_rectified path readFromTcrMag :: String -> Image GrayScale D32 readFromTcrMag p = unsafePerformIO $ creatingImage $ withCString p $ \path -> c'read_from_tcr_mag path calcDerivativeDirection :: Image GrayScale D32 -> Image GrayScale D32 calcDerivativeDirection image = unsafePerformIO $ creatingImage $ withImage image $ \pimage -> c'calc_derivative_direction (castPtr pimage)