From 76be94f1497bc9d203bf01e9d129af81b1634e24 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?= Date: Sun, 19 Feb 2017 13:37:11 +0100 Subject: [PATCH] [contrib][haskell] move all projects under the Hkl.Projects module --- contrib/haskell/hkl.cabal | 16 +-- contrib/haskell/src/Hkl.hs | 6 +- contrib/haskell/src/Hkl/D2AM.hs | 3 - contrib/haskell/src/Hkl/Diffabs.hs | 6 - contrib/haskell/src/Hkl/Projects.hs | 5 + contrib/haskell/src/Hkl/Projects/D2AM.hs | 3 + contrib/haskell/src/Hkl/{ => Projects}/D2AM/XRD.hs | 2 +- contrib/haskell/src/Hkl/Projects/Diffabs.hs | 6 + .../src/Hkl/{ => Projects}/Diffabs/Charlier.hs | 10 +- .../src/Hkl/{ => Projects}/Diffabs/IRDRx.hs | 12 +- .../src/Hkl/{ => Projects}/Diffabs/Martinetto.hs | 9 +- .../src/Hkl/{ => Projects}/Diffabs/Melle.hs | 9 +- contrib/haskell/src/Hkl/Projects/Sixs.hs | 128 ++++++++++++++++++++ contrib/haskell/src/Hkl/PyFAI.hs | 1 + contrib/haskell/src/Hkl/Sixs.hs | 131 --------------------- contrib/haskell/src/Hkl/Xrd/Calibration.hs | 1 - contrib/haskell/src/Hkl/Xrd/Mesh.hs | 1 - contrib/haskell/src/Hkl/Xrd/OneD.hs | 1 - contrib/haskell/src/hkl3d.hs | 2 +- contrib/haskell/src/xrd.hs | 2 +- 20 files changed, 166 insertions(+), 188 deletions(-) delete mode 100644 contrib/haskell/src/Hkl/D2AM.hs delete mode 100644 contrib/haskell/src/Hkl/Diffabs.hs create mode 100644 contrib/haskell/src/Hkl/Projects.hs create mode 100644 contrib/haskell/src/Hkl/Projects/D2AM.hs rename contrib/haskell/src/Hkl/{ => Projects}/D2AM/XRD.hs (98%) create mode 100644 contrib/haskell/src/Hkl/Projects/Diffabs.hs rename contrib/haskell/src/Hkl/{ => Projects}/Diffabs/Charlier.hs (97%) rename contrib/haskell/src/Hkl/{ => Projects}/Diffabs/IRDRx.hs (95%) rename contrib/haskell/src/Hkl/{ => Projects}/Diffabs/Martinetto.hs (98%) rename contrib/haskell/src/Hkl/{ => Projects}/Diffabs/Melle.hs (96%) create mode 100644 contrib/haskell/src/Hkl/Projects/Sixs.hs delete mode 100644 contrib/haskell/src/Hkl/Sixs.hs diff --git a/contrib/haskell/hkl.cabal b/contrib/haskell/hkl.cabal index 7443adaa..68911ee7 100644 --- a/contrib/haskell/hkl.cabal +++ b/contrib/haskell/hkl.cabal @@ -90,24 +90,24 @@ executable hkl3d library exposed-modules: Hkl , Hkl.C - , Hkl.D2AM - , Hkl.D2AM.XRD , Hkl.DataSource , Hkl.Detector - , Hkl.Diffabs - , Hkl.Diffabs.Charlier - , Hkl.Diffabs.IRDRx - , Hkl.Diffabs.Martinetto - -- , Hkl.Diffabs.Melle , Hkl.Edf , Hkl.Engine , Hkl.H5 , Hkl.MyMatrix + , Hkl.Projects + , Hkl.Projects.D2AM + , Hkl.Projects.D2AM.XRD + , Hkl.Projects.Diffabs + , Hkl.Projects.Diffabs.Charlier + , Hkl.Projects.Diffabs.IRDRx + , Hkl.Projects.Diffabs.Martinetto + , Hkl.Projects.Sixs , Hkl.PyFAI , Hkl.PyFAI.Poni , Hkl.PyFAI.PoniExt , Hkl.PyFAI.Npt - , Hkl.Sixs , Hkl.Types , Hkl.Types.Parameter , Hkl.Utils diff --git a/contrib/haskell/src/Hkl.hs b/contrib/haskell/src/Hkl.hs index 4c0ac42a..fa1be621 100644 --- a/contrib/haskell/src/Hkl.hs +++ b/contrib/haskell/src/Hkl.hs @@ -1,11 +1,11 @@ module Hkl (module X) where import Hkl.C as X -import Hkl.D2AM as X +import Hkl.DataSource as X import Hkl.Detector as X -import Hkl.Diffabs as X import Hkl.Engine as X import Hkl.H5 as X +import Hkl.MyMatrix as X import Hkl.PyFAI as X -import Hkl.Sixs as X import Hkl.Types as X +import Hkl.Xrd as X diff --git a/contrib/haskell/src/Hkl/D2AM.hs b/contrib/haskell/src/Hkl/D2AM.hs deleted file mode 100644 index 7f4c2d48..00000000 --- a/contrib/haskell/src/Hkl/D2AM.hs +++ /dev/null @@ -1,3 +0,0 @@ -module Hkl.D2AM (module X) where - -import Hkl.D2AM.XRD as X diff --git a/contrib/haskell/src/Hkl/Diffabs.hs b/contrib/haskell/src/Hkl/Diffabs.hs deleted file mode 100644 index 49080c58..00000000 --- a/contrib/haskell/src/Hkl/Diffabs.hs +++ /dev/null @@ -1,6 +0,0 @@ -module Hkl.Diffabs (module X) where - -import Hkl.Diffabs.Charlier as X -import Hkl.Diffabs.IRDRx as X -import Hkl.Diffabs.Martinetto as X --- import Hkl.Diffabs.Melle as X diff --git a/contrib/haskell/src/Hkl/Projects.hs b/contrib/haskell/src/Hkl/Projects.hs new file mode 100644 index 00000000..bfeb2ec5 --- /dev/null +++ b/contrib/haskell/src/Hkl/Projects.hs @@ -0,0 +1,5 @@ +module Hkl.Projects ( module X ) where + +import Hkl.Projects.D2AM as X +import Hkl.Projects.Diffabs as X +import Hkl.Projects.Sixs as X diff --git a/contrib/haskell/src/Hkl/Projects/D2AM.hs b/contrib/haskell/src/Hkl/Projects/D2AM.hs new file mode 100644 index 00000000..1a71b06e --- /dev/null +++ b/contrib/haskell/src/Hkl/Projects/D2AM.hs @@ -0,0 +1,3 @@ +module Hkl.Projects.D2AM (module X) where + +import Hkl.Projects.D2AM.XRD as X diff --git a/contrib/haskell/src/Hkl/D2AM/XRD.hs b/contrib/haskell/src/Hkl/Projects/D2AM/XRD.hs similarity index 98% rename from contrib/haskell/src/Hkl/D2AM/XRD.hs rename to contrib/haskell/src/Hkl/Projects/D2AM/XRD.hs index 4e1306a3..ca63dfdf 100644 --- a/contrib/haskell/src/Hkl/D2AM/XRD.hs +++ b/contrib/haskell/src/Hkl/Projects/D2AM/XRD.hs @@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} -module Hkl.D2AM.XRD +module Hkl.Projects.D2AM.XRD ( d2am ) where import Control.Concurrent.Async (mapConcurrently) diff --git a/contrib/haskell/src/Hkl/Projects/Diffabs.hs b/contrib/haskell/src/Hkl/Projects/Diffabs.hs new file mode 100644 index 00000000..5201c16f --- /dev/null +++ b/contrib/haskell/src/Hkl/Projects/Diffabs.hs @@ -0,0 +1,6 @@ +module Hkl.Projects.Diffabs (module X) where + +import Hkl.Projects.Diffabs.Charlier as X +import Hkl.Projects.Diffabs.IRDRx as X +import Hkl.Projects.Diffabs.Martinetto as X +-- import Hkl.Projects.Diffabs.Melle as X diff --git a/contrib/haskell/src/Hkl/Diffabs/Charlier.hs b/contrib/haskell/src/Hkl/Projects/Diffabs/Charlier.hs similarity index 97% rename from contrib/haskell/src/Hkl/Diffabs/Charlier.hs rename to contrib/haskell/src/Hkl/Projects/Diffabs/Charlier.hs index 89afe52c..5327f4c7 100644 --- a/contrib/haskell/src/Hkl/Diffabs/Charlier.hs +++ b/contrib/haskell/src/Hkl/Projects/Diffabs/Charlier.hs @@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} -module Hkl.Diffabs.Charlier +module Hkl.Projects.Diffabs.Charlier ( charlier ) where import Control.Concurrent.Async (mapConcurrently) @@ -13,13 +13,7 @@ import Text.Printf (printf) import Prelude hiding (concat, lookup, readFile, writeFile) -import Hkl.DataSource -import Hkl.H5 -import Hkl.MyMatrix -import Hkl.PyFAI.PoniExt -import Hkl.Types -import Hkl.Xrd -import Hkl.Detector +import Hkl -- | Samples diff --git a/contrib/haskell/src/Hkl/Diffabs/IRDRx.hs b/contrib/haskell/src/Hkl/Projects/Diffabs/IRDRx.hs similarity index 95% rename from contrib/haskell/src/Hkl/Diffabs/IRDRx.hs rename to contrib/haskell/src/Hkl/Projects/Diffabs/IRDRx.hs index dfbf2dd4..0cef66a9 100644 --- a/contrib/haskell/src/Hkl/Diffabs/IRDRx.hs +++ b/contrib/haskell/src/Hkl/Projects/Diffabs/IRDRx.hs @@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} -module Hkl.Diffabs.IRDRx +module Hkl.Projects.Diffabs.IRDRx ( mainIRDRx ) where import Control.Concurrent.Async (mapConcurrently) @@ -13,13 +13,7 @@ import Text.Printf (printf) import Prelude hiding (concat, lookup, readFile, writeFile) -import Hkl.DataSource -import Hkl.H5 -import Hkl.MyMatrix -import Hkl.PyFAI.PoniExt -import Hkl.Types -import Hkl.Xrd -import Hkl.Detector +import Hkl -- | Samples @@ -151,7 +145,7 @@ mainIRDRx :: IO () mainIRDRx = do p <- getPoniExtRef sampleRef - let poniextref = setPose (Hkl.PyFAI.PoniExt.flip p) (MyMatrix HklB (ident 3)) + let poniextref = setPose (Hkl.flip p) (MyMatrix HklB (ident 3)) -- full calibration poniextref' <- calibrate sampleCalibration poniextref ImXpadS140 diff --git a/contrib/haskell/src/Hkl/Diffabs/Martinetto.hs b/contrib/haskell/src/Hkl/Projects/Diffabs/Martinetto.hs similarity index 98% rename from contrib/haskell/src/Hkl/Diffabs/Martinetto.hs rename to contrib/haskell/src/Hkl/Projects/Diffabs/Martinetto.hs index 9c47f9dc..fcd7bbdb 100644 --- a/contrib/haskell/src/Hkl/Diffabs/Martinetto.hs +++ b/contrib/haskell/src/Hkl/Projects/Diffabs/Martinetto.hs @@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} -module Hkl.Diffabs.Martinetto +module Hkl.Projects.Diffabs.Martinetto ( martinetto , martinetto' ) where @@ -16,12 +16,7 @@ import Text.Printf (printf) import Prelude hiding (concat, lookup, readFile, writeFile) -import Hkl.DataSource -import Hkl.MyMatrix -import Hkl.PyFAI.PoniExt -import Hkl.Types -import Hkl.Xrd -import Hkl.Detector +import Hkl -- | Samples diff --git a/contrib/haskell/src/Hkl/Diffabs/Melle.hs b/contrib/haskell/src/Hkl/Projects/Diffabs/Melle.hs similarity index 96% rename from contrib/haskell/src/Hkl/Diffabs/Melle.hs rename to contrib/haskell/src/Hkl/Projects/Diffabs/Melle.hs index e81c8bba..344923a5 100644 --- a/contrib/haskell/src/Hkl/Diffabs/Melle.hs +++ b/contrib/haskell/src/Hkl/Projects/Diffabs/Melle.hs @@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} -module Hkl.Diffabs.Melle +module Hkl.Projects.Diffabs.Melle ( melle ) where -- import Control.Concurrent (setNumCapabilities) @@ -14,12 +14,7 @@ module Hkl.Diffabs.Melle -- import Prelude hiding (concat, lookup, readFile, writeFile) --- import Hkl.MyMatrix --- import Hkl.PyFAI.PoniExt --- import Hkl.Types -import Hkl.XRD --- import Hkl.XRD.Calibration --- import Hkl.Detector +import Hkl -- | Samples diff --git a/contrib/haskell/src/Hkl/Projects/Sixs.hs b/contrib/haskell/src/Hkl/Projects/Sixs.hs new file mode 100644 index 00000000..e49288ad --- /dev/null +++ b/contrib/haskell/src/Hkl/Projects/Sixs.hs @@ -0,0 +1,128 @@ +{-# LANGUAGE CPP #-} +{-# LANGUAGE GADTs #-} +module Hkl.Projects.Sixs + ( main_sixs ) + where + +import Prelude hiding (concat, head, print) + +#if __GLASGOW_HASKELL__ < 710 +import Control.Applicative ((<$>), (<*>)) +#endif + +import Data.ByteString.Char8 (pack) +import Data.Vector.Storable (concat, head) +import Control.Exception (bracket) +import Control.Monad (forM_) +import Numeric.LinearAlgebra (Matrix) +import Numeric.Units.Dimensional.Prelude (meter, nano, (*~)) +import Pipes (Producer, runEffect, (>->), lift, yield) +import Pipes.Prelude (print) +import System.FilePath.Posix (()) + +import Hkl + +{-# ANN module "HLint: ignore Use camelCase" #-} + +data DataFrameHklH5Path + = DataFrameHklH5Path + (DataItem H5) -- Image + (DataItem H5) -- Mu + (DataItem H5) -- Omega + (DataItem H5) -- delta + (DataItem H5) -- gamma + (DataItem H5) -- UB + (DataItem H5) -- Wavelength + (DataItem H5) -- DiffractometerType + deriving (Show) + +data DataFrameHklH5 + = DataFrameHklH5 + Dataset -- image + Dataset -- mu + Dataset -- omega + Dataset -- delta + Dataset -- gamma + Dataset -- ub + Dataset -- wavelength + Dataset -- dtype + +data DataFrame + = DataFrame + Int -- n + Geometry -- geometry + (Matrix Double) -- ub + deriving (Show) + +withDataframeH5 :: File -> DataFrameHklH5Path -> (DataFrameHklH5 -> IO r) -> IO r +withDataframeH5 h5file dfp = bracket (hkl_h5_open h5file dfp) hkl_h5_close + +hkl_h5_open :: File -> DataFrameHklH5Path -> IO DataFrameHklH5 +hkl_h5_open h5file (DataFrameHklH5Path i m o d g u w t) = DataFrameHklH5 + <$> openDataset' h5file i + <*> openDataset' h5file m + <*> openDataset' h5file o + <*> openDataset' h5file d + <*> openDataset' h5file g + <*> openDataset' h5file u + <*> openDataset' h5file w + <*> openDataset' h5file t + where + openDataset' :: File -> DataItem H5 -> IO Dataset + openDataset' hid (DataItemH5 name _) = openDataset hid (pack name) Nothing + +hkl_h5_is_valid :: DataFrameHklH5 -> IO Bool +hkl_h5_is_valid (DataFrameHklH5 _ m o d g _ _ _) = do + True <- check_ndims m 1 + True <- check_ndims o 1 + True <- check_ndims d 1 + True <- check_ndims g 1 + return True + +hkl_h5_close :: DataFrameHklH5 -> IO () +hkl_h5_close (DataFrameHklH5 i m o d g u w t) = do + closeDataset i + closeDataset m + closeDataset o + closeDataset d + closeDataset g + closeDataset u + closeDataset w + closeDataset t + +getDataFrame' :: DataFrameHklH5 -> Int -> IO DataFrame +getDataFrame' (DataFrameHklH5 _ m o d g u w _) i = do + mu <- get_position m i + omega <- get_position o i + delta <- get_position d i + gamma <- get_position g i + wavelength <- get_position w 0 + ub <- get_ub u + let positions = concat [mu, omega, delta, gamma] + let source = Source (head wavelength *~ nano meter) + return $ DataFrame i (Geometry Uhv source positions Nothing) ub + +getDataFrame :: DataFrameHklH5 -> Producer DataFrame IO () +getDataFrame d@(DataFrameHklH5 _ m _ _ _ _ _ _) = do + (Just n) <- lift $ lenH5Dataspace m + forM_ [0..n-1] (\i -> lift (getDataFrame' d i) >>= yield) + +main_sixs :: IO () +main_sixs = do + let root = "/nfs/ruche-sixs/sixs-soleil/com-sixs/2015/Shutdown4-5/XpadAu111/" + let filename = "align_FLY2_omega_00045.nxs" + let dataframe_h5p = DataFrameHklH5Path + (DataItemH5 "com_113934/scan_data/xpad_image" StrictDims) + (DataItemH5 "com_113934/scan_data/UHV_MU" ExtendDims) + (DataItemH5 "com_113934/scan_data/UHV_OMEGA" ExtendDims) + (DataItemH5 "com_113934/scan_data/UHV_DELTA" ExtendDims) + (DataItemH5 "com_113934/scan_data/UHV_GAMMA" ExtendDims) + (DataItemH5 "com_113934/SIXS/I14-C-CX2__EX__DIFF-UHV__#1/UB" StrictDims) + (DataItemH5 "com_113934/SIXS/Monochromator/wavelength" StrictDims) + (DataItemH5 "com_113934/SIXS/I14-C-CX2__EX__DIFF-UHV__#1/type" StrictDims) + + withH5File (root filename) $ \h5file -> + withDataframeH5 h5file dataframe_h5p $ \dataframe_h5 -> do + True <- hkl_h5_is_valid dataframe_h5 + runEffect $ getDataFrame dataframe_h5 + >-> print diff --git a/contrib/haskell/src/Hkl/PyFAI.hs b/contrib/haskell/src/Hkl/PyFAI.hs index dca8dd46..03ff5e5a 100644 --- a/contrib/haskell/src/Hkl/PyFAI.hs +++ b/contrib/haskell/src/Hkl/PyFAI.hs @@ -1,4 +1,5 @@ module Hkl.PyFAI (module X) where import Hkl.PyFAI.Poni as X +import Hkl.PyFAI.PoniExt as X import Hkl.PyFAI.Npt as X diff --git a/contrib/haskell/src/Hkl/Sixs.hs b/contrib/haskell/src/Hkl/Sixs.hs deleted file mode 100644 index dd538256..00000000 --- a/contrib/haskell/src/Hkl/Sixs.hs +++ /dev/null @@ -1,131 +0,0 @@ -{-# LANGUAGE CPP #-} -{-# LANGUAGE GADTs #-} -module Hkl.Sixs - ( main_sixs ) - where - -import Prelude hiding (concat, head, print) - -#if __GLASGOW_HASKELL__ < 710 -import Control.Applicative ((<$>), (<*>)) -#endif - -import Data.ByteString.Char8 (pack) -import Data.Vector.Storable (concat, head) -import Control.Exception (bracket) -import Control.Monad (forM_) -import Numeric.LinearAlgebra (Matrix) -import Numeric.Units.Dimensional.Prelude (meter, nano, (*~)) -import Pipes (Producer, runEffect, (>->), lift, yield) -import Pipes.Prelude (print) -import System.FilePath.Posix (()) - -import Hkl.DataSource -import Hkl.Types -import Hkl.H5 - -{-# ANN module "HLint: ignore Use camelCase" #-} - -data DataFrameH5Path = DataFrameH5Path - { h5pImage :: DataItem H5 - , h5pMu :: DataItem H5 - , h5pOmega :: DataItem H5 - , h5pDelta :: DataItem H5 - , h5pGamma :: DataItem H5 - , h5pUB :: DataItem H5 - , h5pWavelength :: DataItem H5 - , h5pDiffractometerType :: DataItem H5 - } deriving (Show) - -data DataFrameH5 = DataFrameH5 - { h5image :: Dataset - , h5mu :: Dataset - , h5omega :: Dataset - , h5delta :: Dataset - , h5gamma :: Dataset - , h5ub :: Dataset - , h5wavelength :: Dataset - , h5dtype :: Dataset - } - -data DataFrame = DataFrame - { df_n :: Int - , df_geometry :: Geometry - , df_ub :: Matrix Double - } deriving (Show) - -withDataframeH5 :: File -> DataFrameH5Path -> (DataFrameH5 -> IO r) -> IO r -withDataframeH5 h5file dfp = bracket (hkl_h5_open h5file dfp) hkl_h5_close - -hkl_h5_open :: File -> DataFrameH5Path -> IO DataFrameH5 -hkl_h5_open h5file dp = DataFrameH5 - <$> openDataset' h5file (h5pImage dp) - <*> openDataset' h5file (h5pMu dp) - <*> openDataset' h5file (h5pOmega dp) - <*> openDataset' h5file (h5pDelta dp) - <*> openDataset' h5file (h5pGamma dp) - <*> openDataset' h5file (h5pUB dp) - <*> openDataset' h5file (h5pWavelength dp) - <*> openDataset' h5file (h5pDiffractometerType dp) - where - openDataset' :: File -> DataItem H5 -> IO Dataset - openDataset' hid (DataItemH5 name _) = openDataset hid (pack name) Nothing - -hkl_h5_is_valid :: DataFrameH5 -> IO Bool -hkl_h5_is_valid df = do - True <- check_ndims (h5mu df) 1 - True <- check_ndims (h5omega df) 1 - True <- check_ndims (h5delta df) 1 - True <- check_ndims (h5gamma df) 1 - return True - -hkl_h5_close :: DataFrameH5 -> IO () -hkl_h5_close d = do - closeDataset (h5image d) - closeDataset (h5mu d) - closeDataset (h5omega d) - closeDataset (h5delta d) - closeDataset (h5gamma d) - closeDataset (h5ub d) - closeDataset (h5wavelength d) - closeDataset (h5dtype d) - -getDataFrame' :: DataFrameH5 -> Int -> IO DataFrame -getDataFrame' d i = do - mu <- get_position (h5mu d) i - omega <- get_position (h5omega d) i - delta <- get_position (h5delta d) i - gamma <- get_position (h5gamma d) i - wavelength <- get_position (h5wavelength d) 0 - ub <- get_ub (h5ub d) - let positions = concat [mu, omega, delta, gamma] - let source = Source (head wavelength *~ nano meter) - return DataFrame { df_n = i - , df_geometry = Geometry Uhv source positions Nothing - , df_ub = ub - } - -getDataFrame :: DataFrameH5 -> Producer DataFrame IO () -getDataFrame d = do - (Just n) <- lift $ lenH5Dataspace (h5mu d) - forM_ [0..n-1] (\i -> lift (getDataFrame' d i) >>= yield) - -main_sixs :: IO () -main_sixs = do - let root = "/nfs/ruche-sixs/sixs-soleil/com-sixs/2015/Shutdown4-5/XpadAu111/" - let filename = "align_FLY2_omega_00045.nxs" - let dataframe_h5p = DataFrameH5Path { h5pImage = DataItemH5 "com_113934/scan_data/xpad_image" StrictDims - , h5pMu = DataItemH5 "com_113934/scan_data/UHV_MU" ExtendDims - , h5pOmega = DataItemH5 "com_113934/scan_data/UHV_OMEGA" ExtendDims - , h5pDelta = DataItemH5 "com_113934/scan_data/UHV_DELTA" ExtendDims - , h5pGamma = DataItemH5 "com_113934/scan_data/UHV_GAMMA" ExtendDims - , h5pUB = DataItemH5 "com_113934/SIXS/I14-C-CX2__EX__DIFF-UHV__#1/UB" StrictDims - , h5pWavelength = DataItemH5 "com_113934/SIXS/Monochromator/wavelength" StrictDims - , h5pDiffractometerType = DataItemH5 "com_113934/SIXS/I14-C-CX2__EX__DIFF-UHV__#1/type" StrictDims - } - - withH5File (root filename) $ \h5file -> - withDataframeH5 h5file dataframe_h5p $ \dataframe_h5 -> do - True <- hkl_h5_is_valid dataframe_h5 - runEffect $ getDataFrame dataframe_h5 - >-> print diff --git a/contrib/haskell/src/Hkl/Xrd/Calibration.hs b/contrib/haskell/src/Hkl/Xrd/Calibration.hs index 6b3cf70d..f47bd672 100644 --- a/contrib/haskell/src/Hkl/Xrd/Calibration.hs +++ b/contrib/haskell/src/Hkl/Xrd/Calibration.hs @@ -40,7 +40,6 @@ import Hkl.Detector import Hkl.H5 import Hkl.PyFAI import Hkl.MyMatrix -import Hkl.PyFAI.PoniExt import Hkl.Types import Hkl.Xrd.OneD diff --git a/contrib/haskell/src/Hkl/Xrd/Mesh.hs b/contrib/haskell/src/Hkl/Xrd/Mesh.hs index 71e8da78..956c42ed 100644 --- a/contrib/haskell/src/Hkl/Xrd/Mesh.hs +++ b/contrib/haskell/src/Hkl/Xrd/Mesh.hs @@ -43,7 +43,6 @@ import Hkl.Detector import Hkl.H5 import Hkl.PyFAI import Hkl.MyMatrix -import Hkl.PyFAI.PoniExt import Hkl.Types import Hkl.Utils import Hkl.Xrd.OneD diff --git a/contrib/haskell/src/Hkl/Xrd/OneD.hs b/contrib/haskell/src/Hkl/Xrd/OneD.hs index 68996a1d..bc07e448 100644 --- a/contrib/haskell/src/Hkl/Xrd/OneD.hs +++ b/contrib/haskell/src/Hkl/Xrd/OneD.hs @@ -81,7 +81,6 @@ import Hkl.Edf import Hkl.H5 import Hkl.PyFAI import Hkl.MyMatrix -import Hkl.PyFAI.PoniExt import Hkl.Types import Hkl.Utils diff --git a/contrib/haskell/src/hkl3d.hs b/contrib/haskell/src/hkl3d.hs index bc419df2..751a617d 100644 --- a/contrib/haskell/src/hkl3d.hs +++ b/contrib/haskell/src/hkl3d.hs @@ -1,4 +1,4 @@ -import Hkl +import Hkl.Projects {-# ANN module "HLint: ignore Use camelCase" #-} diff --git a/contrib/haskell/src/xrd.hs b/contrib/haskell/src/xrd.hs index 0859ed81..e891b968 100644 --- a/contrib/haskell/src/xrd.hs +++ b/contrib/haskell/src/xrd.hs @@ -1,7 +1,7 @@ module Main where import Control.Monad -import Hkl +import Hkl.Projects main :: IO () main = do -- 2.11.4.GIT