diff --git a/doc/source/api/app/index.rst b/doc/source/api/app/index.rst new file mode 100644 index 00000000..8779307a --- /dev/null +++ b/doc/source/api/app/index.rst @@ -0,0 +1,139 @@ +pyFAI.app package +================= + +pyFAI.app.average module +------------------------ + +.. automodule:: pyFAI.app.average + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.benchmark module +-------------------------- + +.. automodule:: pyFAI.app.benchmark + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.calib module +---------------------- + +.. automodule:: pyFAI.app.calib + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.calib2 module +----------------------- + +.. automodule:: pyFAI.app.calib2 + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.check_calib module +---------------------------- + +.. automodule:: pyFAI.app.check_calib + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.detector2nexus module +------------------------------- + +.. automodule:: pyFAI.app.detector2nexus + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.diff_map module +------------------------- + +.. automodule:: pyFAI.app.diff_map + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.diff_tomo module +-------------------------- + +.. automodule:: pyFAI.app.diff_tomo + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.drawmask module +------------------------- + +.. automodule:: pyFAI.app.drawmask + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.eiger_mask module +--------------------------- + +.. automodule:: pyFAI.app.eiger_mask + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.integrate module +-------------------------- + +.. automodule:: pyFAI.app.integrate + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.mx_calibrate module +----------------------------- + +.. automodule:: pyFAI.app.mx_calibrate + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.recalib module +------------------------ + +.. automodule:: pyFAI.app.recalib + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.saxs module +--------------------- + +.. automodule:: pyFAI.app.saxs + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.setup module +---------------------- + +.. automodule:: pyFAI.app.setup + :members: + :undoc-members: + :show-inheritance: + +pyFAI.app.waxs module +--------------------- + +.. automodule:: pyFAI.app.waxs + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.app + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/detectors/index.rst b/doc/source/api/detectors/index.rst new file mode 100644 index 00000000..c6137a6c --- /dev/null +++ b/doc/source/api/detectors/index.rst @@ -0,0 +1,10 @@ +pyFAI.detectors package +======================= + +Module contents +--------------- + +.. automodule:: pyFAI.detectors + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/engines/index.rst b/doc/source/api/engines/index.rst new file mode 100644 index 00000000..1c503fdf --- /dev/null +++ b/doc/source/api/engines/index.rst @@ -0,0 +1,35 @@ +pyFAI.engines package +===================== + +pyFAI.engines.CSR_engine module +------------------------------- + +.. automodule:: pyFAI.engines.CSR_engine + :members: + :undoc-members: + :show-inheritance: + +pyFAI.engines.histogram_engine module +------------------------------------- + +.. automodule:: pyFAI.engines.histogram_engine + :members: + :undoc-members: + :show-inheritance: + +pyFAI.engines.preproc module +---------------------------- + +.. automodule:: pyFAI.engines.preproc + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.engines + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/ext/index.rst b/doc/source/api/ext/index.rst new file mode 100644 index 00000000..8f6eabb6 --- /dev/null +++ b/doc/source/api/ext/index.rst @@ -0,0 +1,221 @@ +pyFAI.ext package +================= + +pyFAI.ext.bilinear module +------------------------- + +.. automodule:: pyFAI.ext.bilinear + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.fastcrc module +------------------------ + +.. automodule:: pyFAI.ext.fastcrc + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.histogram module +-------------------------- + +.. automodule:: pyFAI.ext.histogram + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.inpainting module +--------------------------- + +.. automodule:: pyFAI.ext.inpainting + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.invert_geometry module +-------------------------------- + +.. automodule:: pyFAI.ext.invert_geometry + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.morphology module +--------------------------- + +.. automodule:: pyFAI.ext.morphology + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.preproc module +------------------------ + +.. automodule:: pyFAI.ext.preproc + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.reconstruct module +---------------------------- + +.. automodule:: pyFAI.ext.reconstruct + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.relabel module +------------------------ + +.. automodule:: pyFAI.ext.relabel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.setup module +---------------------- + +.. automodule:: pyFAI.ext.setup + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.sparse_builder module +------------------------------- + +.. automodule:: pyFAI.ext.sparse_builder + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.sparse_utils module +----------------------------- + +.. automodule:: pyFAI.ext.sparse_utils + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.splitBBox module +-------------------------- + +.. automodule:: pyFAI.ext.splitBBox + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.splitBBoxCSR module +----------------------------- + +.. automodule:: pyFAI.ext.splitBBoxCSR + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.splitBBoxLUT module +----------------------------- + +.. automodule:: pyFAI.ext.splitBBoxLUT + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.splitPixel module +--------------------------- + +.. automodule:: pyFAI.ext.splitPixel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.splitPixelFull module +------------------------------- + +.. automodule:: pyFAI.ext.splitPixelFull + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.splitPixelFullCSR module +---------------------------------- + +.. automodule:: pyFAI.ext.splitPixelFullCSR + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.splitPixelFullLUT module +---------------------------------- + +.. automodule:: pyFAI.ext.splitPixelFullLUT + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext.watershed module +-------------------------- + +.. automodule:: pyFAI.ext.watershed + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: pyFAI.ext + :members: + :undoc-members: + :show-inheritance: + +pyFAI.ext private package +========================= + +:mod:`ext._bispev` Module +------------------------- + +.. automodule:: pyFAI.ext._bispev + :members: + :undoc-members: + :show-inheritance: + +:mod:`ext._blob` Module +----------------------- + +.. automodule:: pyFAI.ext._blob + :members: + :undoc-members: + :show-inheritance: + +:mod:`ext._convolution` Module +------------------------------ + +.. automodule:: pyFAI.ext._convolution + :members: + :undoc-members: + :show-inheritance: + +:mod:`ext._distortion` Module +----------------------------- + +.. automodule:: pyFAI.ext._distortion + :members: + :undoc-members: + :show-inheritance: + +:mod:`ext._geometry` Module +--------------------------- + +.. automodule:: pyFAI.ext._geometry + :members: + :undoc-members: + :show-inheritance: + +:mod:`ext._tree` Module +----------------------- + +.. automodule:: pyFAI.ext._tree + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/gui/dialog.rst b/doc/source/api/gui/dialog.rst new file mode 100644 index 00000000..62b2015e --- /dev/null +++ b/doc/source/api/gui/dialog.rst @@ -0,0 +1,59 @@ +pyFAI.gui.dialog package +======================== + +pyFAI.gui.dialog.Detector3dDialog module +---------------------------------------- + +.. automodule:: pyFAI.gui.dialog.Detector3dDialog + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.dialog.DetectorSelectorDialog module +---------------------------------------------- + +.. automodule:: pyFAI.gui.dialog.DetectorSelectorDialog + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.dialog.GeometryDialog module +-------------------------------------- + +.. automodule:: pyFAI.gui.dialog.GeometryDialog + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.dialog.IntegrationMethodDialog module +----------------------------------------------- + +.. automodule:: pyFAI.gui.dialog.IntegrationMethodDialog + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.dialog.MessageBox module +---------------------------------- + +.. automodule:: pyFAI.gui.dialog.MessageBox + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.dialog.OpenClDeviceDialog module +------------------------------------------ + +.. automodule:: pyFAI.gui.dialog.OpenClDeviceDialog + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.gui.dialog + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/gui/helper.rst b/doc/source/api/gui/helper.rst new file mode 100644 index 00000000..537eb2ed --- /dev/null +++ b/doc/source/api/gui/helper.rst @@ -0,0 +1,75 @@ +pyFAI.gui.helper package +======================== + +pyFAI.gui.helper.MarkerManager module +------------------------------------- + +.. automodule:: pyFAI.gui.helper.MarkerManager + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.helper.ProcessingWidget module +---------------------------------------- + +.. automodule:: pyFAI.gui.helper.ProcessingWidget + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.helper.RingCalibration module +--------------------------------------- + +.. automodule:: pyFAI.gui.helper.RingCalibration + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.helper.RingExtractor module +------------------------------------- + +.. automodule:: pyFAI.gui.helper.RingExtractor + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.helper.SynchronizeMaskToolColor module +------------------------------------------------ + +.. automodule:: pyFAI.gui.helper.SynchronizeMaskToolColor + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.helper.SynchronizePlotBackground module +------------------------------------------------- + +.. automodule:: pyFAI.gui.helper.SynchronizePlotBackground + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.helper.SynchronizeRawView module +------------------------------------------ + +.. automodule:: pyFAI.gui.helper.SynchronizeRawView + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.helper.model_transform module +--------------------------------------- + +.. automodule:: pyFAI.gui.helper.model_transform + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.gui.helper + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/gui/index.rst b/doc/source/api/gui/index.rst new file mode 100644 index 00000000..87075225 --- /dev/null +++ b/doc/source/api/gui/index.rst @@ -0,0 +1,103 @@ +pyFAI.gui package +================= + +Subpackages +----------- + +.. toctree:: + + dialog + helper + model + tasks + utils + widgets + +pyFAI.gui.ApplicationContext module +----------------------------------- + +.. automodule:: pyFAI.gui.ApplicationContext + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.CalibrationContext module +----------------------------------- + +.. automodule:: pyFAI.gui.CalibrationContext + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.CalibrationWindow module +---------------------------------- + +.. automodule:: pyFAI.gui.CalibrationWindow + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.IntegrationDialog module +---------------------------------- + +.. automodule:: pyFAI.gui.IntegrationDialog + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.cli_calibration module +-------------------------------- + +.. automodule:: pyFAI.gui.cli_calibration + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.diffmap_widget module +------------------------------- + +.. automodule:: pyFAI.gui.diffmap_widget + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.jupyter module +------------------------ + +.. automodule:: pyFAI.gui.jupyter + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.matplotlib module +--------------------------- + +.. automodule:: pyFAI.gui.matplotlib + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.peak_picker module +---------------------------- + +.. automodule:: pyFAI.gui.peak_picker + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.setup module +---------------------- + +.. automodule:: pyFAI.gui.setup + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.gui + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/gui/model.rst b/doc/source/api/gui/model.rst new file mode 100644 index 00000000..2f46e2a6 --- /dev/null +++ b/doc/source/api/gui/model.rst @@ -0,0 +1,179 @@ +pyFAI.gui.model package +======================= + +pyFAI.gui.model.AbstractModel module +------------------------------------ + +.. automodule:: pyFAI.gui.model.AbstractModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.CalibrantModel module +------------------------------------- + +.. automodule:: pyFAI.gui.model.CalibrantModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.CalibrationModel module +--------------------------------------- + +.. automodule:: pyFAI.gui.model.CalibrationModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.ConstraintModel module +-------------------------------------- + +.. automodule:: pyFAI.gui.model.ConstraintModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.DataModel module +-------------------------------- + +.. automodule:: pyFAI.gui.model.DataModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.DataModelAdaptor module +--------------------------------------- + +.. automodule:: pyFAI.gui.model.DataModelAdaptor + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.DetectorModel module +------------------------------------ + +.. automodule:: pyFAI.gui.model.DetectorModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.ExperimentSettingsModel module +---------------------------------------------- + +.. automodule:: pyFAI.gui.model.ExperimentSettingsModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.FilenameModel module +------------------------------------ + +.. automodule:: pyFAI.gui.model.FilenameModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.Fit2dGeometryModel module +----------------------------------------- + +.. automodule:: pyFAI.gui.model.Fit2dGeometryModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.GeometryConstraintsModel module +----------------------------------------------- + +.. automodule:: pyFAI.gui.model.GeometryConstraintsModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.GeometryHistoryModel module +------------------------------------------- + +.. automodule:: pyFAI.gui.model.GeometryHistoryModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.GeometryModel module +------------------------------------ + +.. automodule:: pyFAI.gui.model.GeometryModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.ImageModel module +--------------------------------- + +.. automodule:: pyFAI.gui.model.ImageModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.IntegrationSettingsModel module +----------------------------------------------- + +.. automodule:: pyFAI.gui.model.IntegrationSettingsModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.ListModel module +-------------------------------- + +.. automodule:: pyFAI.gui.model.ListModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.MarkerModel module +---------------------------------- + +.. automodule:: pyFAI.gui.model.MarkerModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.MaskedImageModel module +--------------------------------------- + +.. automodule:: pyFAI.gui.model.MaskedImageModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.PeakModel module +-------------------------------- + +.. automodule:: pyFAI.gui.model.PeakModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.PeakSelectionModel module +----------------------------------------- + +.. automodule:: pyFAI.gui.model.PeakSelectionModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.model.PlotViewModel module +------------------------------------ + +.. automodule:: pyFAI.gui.model.PlotViewModel + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.gui.model + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/gui/tasks.rst b/doc/source/api/gui/tasks.rst new file mode 100644 index 00000000..18e81230 --- /dev/null +++ b/doc/source/api/gui/tasks.rst @@ -0,0 +1,59 @@ +pyFAI.gui.tasks package +======================= + +pyFAI.gui.tasks.AbstractCalibrationTask module +---------------------------------------------- + +.. automodule:: pyFAI.gui.tasks.AbstractCalibrationTask + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.tasks.ExperimentTask module +------------------------------------- + +.. automodule:: pyFAI.gui.tasks.ExperimentTask + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.tasks.GeometryTask module +----------------------------------- + +.. automodule:: pyFAI.gui.tasks.GeometryTask + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.tasks.IntegrationTask module +-------------------------------------- + +.. automodule:: pyFAI.gui.tasks.IntegrationTask + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.tasks.MaskTask module +------------------------------- + +.. automodule:: pyFAI.gui.tasks.MaskTask + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.tasks.PeakPickingTask module +-------------------------------------- + +.. automodule:: pyFAI.gui.tasks.PeakPickingTask + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.gui.tasks + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/gui/utils.rst b/doc/source/api/gui/utils.rst new file mode 100644 index 00000000..d33ce942 --- /dev/null +++ b/doc/source/api/gui/utils.rst @@ -0,0 +1,107 @@ +pyFAI.gui.utils package +======================= + +pyFAI.gui.utils.FilterBuilder module +------------------------------------ + +.. automodule:: pyFAI.gui.utils.FilterBuilder + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.utils.ProxyAction module +---------------------------------- + +.. automodule:: pyFAI.gui.utils.ProxyAction + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.utils.colorutils module +--------------------------------- + +.. automodule:: pyFAI.gui.utils.colorutils + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.utils.eventutils module +--------------------------------- + +.. automodule:: pyFAI.gui.utils.eventutils + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.utils.imageutils module +--------------------------------- + +.. automodule:: pyFAI.gui.utils.imageutils + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.utils.projecturl module +--------------------------------- + +.. automodule:: pyFAI.gui.utils.projecturl + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.utils.setup module +---------------------------- + +.. automodule:: pyFAI.gui.utils.setup + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.utils.timeutils module +-------------------------------- + +.. automodule:: pyFAI.gui.utils.timeutils + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.utils.tree module +--------------------------- + +.. automodule:: pyFAI.gui.utils.tree + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.utils.units module +---------------------------- + +.. automodule:: pyFAI.gui.utils.units + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.utils.unitutils module +-------------------------------- + +.. automodule:: pyFAI.gui.utils.unitutils + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.utils.validators module +--------------------------------- + +.. automodule:: pyFAI.gui.utils.validators + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.gui.utils + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/gui/widgets.rst b/doc/source/api/gui/widgets.rst new file mode 100644 index 00000000..b31c56c3 --- /dev/null +++ b/doc/source/api/gui/widgets.rst @@ -0,0 +1,195 @@ +pyFAI.gui.widgets package +========================= + +pyFAI.gui.widgets.AdvancedComboBox module +----------------------------------------- + +.. automodule:: pyFAI.gui.widgets.AdvancedComboBox + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.AdvancedSpinBox module +---------------------------------------- + +.. automodule:: pyFAI.gui.widgets.AdvancedSpinBox + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.CalibrantPreview module +----------------------------------------- + +.. automodule:: pyFAI.gui.widgets.CalibrantPreview + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.CalibrantSelector module +------------------------------------------ + +.. automodule:: pyFAI.gui.widgets.CalibrantSelector + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.ChoiceToolButton module +----------------------------------------- + +.. automodule:: pyFAI.gui.widgets.ChoiceToolButton + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.ColoredCheckBox module +---------------------------------------- + +.. automodule:: pyFAI.gui.widgets.ColoredCheckBox + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.DetectorLabel module +-------------------------------------- + +.. automodule:: pyFAI.gui.widgets.DetectorLabel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.DetectorModel module +-------------------------------------- + +.. automodule:: pyFAI.gui.widgets.DetectorModel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.DetectorSelector module +----------------------------------------- + +.. automodule:: pyFAI.gui.widgets.DetectorSelector + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.ElidedLabel module +------------------------------------ + +.. automodule:: pyFAI.gui.widgets.ElidedLabel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.FileEdit module +--------------------------------- + +.. automodule:: pyFAI.gui.widgets.FileEdit + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.FitParamView module +------------------------------------- + +.. automodule:: pyFAI.gui.widgets.FitParamView + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.GeometryHistoryComboBox module +------------------------------------------------ + +.. automodule:: pyFAI.gui.widgets.GeometryHistoryComboBox + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.GeometryLabel module +-------------------------------------- + +.. automodule:: pyFAI.gui.widgets.GeometryLabel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.LoadImageToolButton module +-------------------------------------------- + +.. automodule:: pyFAI.gui.widgets.LoadImageToolButton + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.MethodLabel module +------------------------------------ + +.. automodule:: pyFAI.gui.widgets.MethodLabel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.MonitorNameEdit module +---------------------------------------- + +.. automodule:: pyFAI.gui.widgets.MonitorNameEdit + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.OpenClDeviceLabel module +------------------------------------------ + +.. automodule:: pyFAI.gui.widgets.OpenClDeviceLabel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.QuantityEdit module +------------------------------------- + +.. automodule:: pyFAI.gui.widgets.QuantityEdit + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.QuantityLabel module +-------------------------------------- + +.. automodule:: pyFAI.gui.widgets.QuantityLabel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.UnitLabel module +---------------------------------- + +.. automodule:: pyFAI.gui.widgets.UnitLabel + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.UnitSelector module +------------------------------------- + +.. automodule:: pyFAI.gui.widgets.UnitSelector + :members: + :undoc-members: + :show-inheritance: + +pyFAI.gui.widgets.WorkerConfigurator module +------------------------------------------- + +.. automodule:: pyFAI.gui.widgets.WorkerConfigurator + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.gui.widgets + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/io/index.rst b/doc/source/api/io/index.rst new file mode 100644 index 00000000..30b57a02 --- /dev/null +++ b/doc/source/api/io/index.rst @@ -0,0 +1,35 @@ +pyFAI.io package +================ + +pyFAI.io.image module +--------------------- + +.. automodule:: pyFAI.io.image + :members: + :undoc-members: + :show-inheritance: + +pyFAI.io.integration_config module +---------------------------------- + +.. automodule:: pyFAI.io.integration_config + :members: + :undoc-members: + :show-inheritance: + +pyFAI.io.ponifile module +------------------------ + +.. automodule:: pyFAI.io.ponifile + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.io + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/modules.rst b/doc/source/api/modules.rst index f8357f99..b49bfc05 100644 --- a/doc/source/api/modules.rst +++ b/doc/source/api/modules.rst @@ -13,6 +13,6 @@ both the geometry (it inherits from Geometry, another class) and exposes important methods (functions) like integrate1d and integrate2d. .. toctree:: - :maxdepth: 4 + :maxdepth: 2 pyFAI diff --git a/doc/source/api/opencl/index.rst b/doc/source/api/opencl/index.rst new file mode 100644 index 00000000..eb3a2ea4 --- /dev/null +++ b/doc/source/api/opencl/index.rst @@ -0,0 +1,75 @@ +pyFAI.opencl package +==================== + +pyFAI.opencl.OCLFullSplit module +-------------------------------- + +.. automodule:: pyFAI.opencl.OCLFullSplit + :members: + :undoc-members: + :show-inheritance: + +pyFAI.opencl.azim_csr module +---------------------------- + +.. automodule:: pyFAI.opencl.azim_csr + :members: + :undoc-members: + :show-inheritance: + +pyFAI.opencl.azim_hist module +----------------------------- + +.. automodule:: pyFAI.opencl.azim_hist + :members: + :undoc-members: + :show-inheritance: + +pyFAI.opencl.azim_lut module +---------------------------- + +.. automodule:: pyFAI.opencl.azim_lut + :members: + :undoc-members: + :show-inheritance: + +pyFAI.opencl.ocl_hist_pixelsplit module +--------------------------------------- + +.. automodule:: pyFAI.opencl.ocl_hist_pixelsplit + :members: + :undoc-members: + :show-inheritance: + +pyFAI.opencl.preproc module +--------------------------- + +.. automodule:: pyFAI.opencl.preproc + :members: + :undoc-members: + :show-inheritance: + +pyFAI.opencl.setup module +------------------------- + +.. automodule:: pyFAI.opencl.setup + :members: + :undoc-members: + :show-inheritance: + +pyFAI.opencl.sort module +------------------------ + +.. automodule:: pyFAI.opencl.sort + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.opencl + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/pyFAI.rst b/doc/source/api/pyFAI.rst index 531d8e3d..45ec0e4e 100644 --- a/doc/source/api/pyFAI.rst +++ b/doc/source/api/pyFAI.rst @@ -1,3 +1,17 @@ +pyFAI package +============= + +.. toctree:: + + app/index + detectors/index + engines/index + ext/index + gui/index + io/index + opencl/index + resources/index + utils/index :mod:`pyFAI` Package -------------------- @@ -31,15 +45,6 @@ :undoc-members: :show-inheritance: - -:mod:`integrate_widget` Module ------------------------------- - -.. automodule:: pyFAI.integrate_widget - :members: - :undoc-members: - :show-inheritance: - :mod:`geometry` Module ---------------------- @@ -64,16 +69,6 @@ :undoc-members: :show-inheritance: - - -:mod:`detectors` Module ------------------------ - -.. automodule:: pyFAI.detectors - :members: - :undoc-members: - :show-inheritance: - :mod:`spline` Module -------------------- @@ -82,22 +77,6 @@ :undoc-members: :show-inheritance: -:mod:`io` Module ----------------- - -.. automodule:: pyFAI.io - :members: - :undoc-members: - :show-inheritance: - -:mod:`calibration` Module -------------------------- - -.. automodule:: pyFAI.calibration - :members: - :undoc-members: - :show-inheritance: - :mod:`control_points` Module ---------------------------- @@ -106,15 +85,6 @@ :undoc-members: :show-inheritance: - -:mod:`peak_picker` Module -------------------------- - -.. automodule:: pyFAI.peak_picker - :members: - :undoc-members: - :show-inheritance: - :mod:`massif` Module -------------------- @@ -155,307 +125,3 @@ :members: :undoc-members: :show-inheritance: - -:mod:`units` Module -------------------- - -.. automodule:: pyFAI.units - :members: - :undoc-members: - :show-inheritance: - -:mod:`utils.__init__` Module ----------------------------- - -Sub module with miscelaneous tools - -.. automodule:: pyFAI.utils.__init__ - :members: - :undoc-members: - :show-inheritance: - -:mod:`utils.bayes` Module -......................... - -Tool for bayesian filtering-out of positive peaks - -.. automodule:: pyFAI.utils.bayes - :members: - :undoc-members: - :show-inheritance: - -:mod:`utils.shell` Module -......................... - -Contains the progress-bar in the shell command line - -.. automodule:: pyFAI.utils.shell - :members: - :undoc-members: - :show-inheritance: - -:mod:`utils.stringutil` Module -.............................. - -Enhanced string formatter - -.. automodule:: pyFAI.utils.stringutil - :members: - :undoc-members: - :show-inheritance: - - -:mod:`opencl.__init__` Module ------------------------------ - -Contains all OpenCL implementation. - -.. automodule:: pyFAI.opencl - :members: - :undoc-members: - :show-inheritance: - -:mod:`opencl.common` Module -........................... - -.. automodule:: pyFAI.opencl.common - :members: - :undoc-members: - :show-inheritance: - -:mod:`opencl.processing` Module -............................... - -.. automodule:: pyFAI.opencl.processing - :members: - :undoc-members: - :show-inheritance: - - -:mod:`opencl.preproc` Module -............................ - -.. automodule:: pyFAI.opencl.preproc - :members: - :undoc-members: - :show-inheritance: - - -:mod:`opencl.azim_hist` Module -.............................. - -.. automodule:: pyFAI.opencl.azim_hist - :members: - :undoc-members: - :show-inheritance: - -:mod:`opencl.azim_lut` Module -............................. - -.. automodule:: pyFAI.opencl.azim_lut - :members: - :undoc-members: - :show-inheritance: - -:mod:`opencl.azim_csr` Module -............................. - -.. automodule:: pyFAI.opencl.azim_csr - :members: - :undoc-members: - :show-inheritance: - - -:mod:`gui.__init__` Module --------------------------- - -.. automodule:: pyFAI.gui.__init__ - :members: - :undoc-members: - :show-inheritance: - -:mod:`gui.matplotlib` Module -............................ - -Initialize properly Matplotlib - -.. automodule:: pyFAI.gui.matplotlib - :members: - :undoc-members: - :show-inheritance: - -:mod:`gui.qt` Module -.................... - - -.. automodule:: pyFAI.gui.qt - :members: - :undoc-members: - :show-inheritance: - - -:mod:`gui.utils` Module -....................... - -.. automodule:: pyFAI.gui.utils - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext.__init__` Module --------------------------- -Sub-module with all Cython binary extensions - -.. automodule:: pyFAI.ext.__init__ - :members: - :undoc-members: - :show-inheritance: - - -:mod:`ext.bilinear` Module -.......................... - -This extension makes a discrete 2D-array appear like a continuous function thanks -to bilinear interpolations. - -.. automodule:: pyFAI.ext.bilinear - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext._bispev` Module -......................... - -This extension is a re-implementation of bi-cubic spline evaluation from scipy - -.. automodule:: pyFAI.ext._bispev - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext._blob` Module -....................... - -Blob detection is used to find peaks in images by performing subsequent blurs - -.. automodule:: pyFAI.ext._blob - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext._convolution` Module -.............................. - -Convolutions in real space are used to blurs images, used in blob-detection algorithm - -.. automodule:: pyFAI.ext._convolution - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext._distortion` Module -............................. - -Distortion correction are correction are applied by Look-up table (or CSR) - -.. automodule:: pyFAI.ext._distortion - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext._geometry` Module -........................... - -This extension is a fast-implementation for calculating the geometry, i.e. where -every pixel of an array stays in space (x,y,z) or its (r, \chi) coordinates. - -.. automodule:: pyFAI.ext._geometry - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext.histogram` Module -........................... - -Re-implementation of the numpy.histogram, optimized for azimuthal integration. -Deprecated, will be replaced by silx.math.histogramnd - -.. automodule:: pyFAI.ext.histogram - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext.invert_geometry` Module -................................. - -Allow the inversion of pixel coordinate --> radius/azimuthal -with linear interpolation within the last pixel - -.. automodule:: pyFAI.ext.invert_geometry - :members: - :undoc-members: - :show-inheritance: - - -:mod:`ext.morphology` Module -............................ - -The morphology extension provides a couple of binary morphology operations on images. -They are also implemented in scipy.ndimage in the general case, but not as fast. - -.. automodule:: pyFAI.ext.morphology - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext.reconstruct` Module -............................. - -Very simple inpainting module for reconstructing the missing part of an image (masked) -to be able to use more common algorithms. - -.. automodule:: pyFAI.ext.reconstruct - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext.relabel` Module -......................... - -Relabel regions, used to flag from largest regions to the smallest - -.. automodule:: pyFAI.ext.relabel - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext.preproc` Module -......................... - -Contains a preprocessing function in charge of the dark-current subtraction, -flat-field normalization, ... taking care of masked values and normalization. - -.. automodule:: pyFAI.ext.preproc - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext._tree` Module -....................... - -The tree is used in file hierarchy tree for the diff_map graphical user interface. - -.. automodule:: pyFAI.ext._tree - :members: - :undoc-members: - :show-inheritance: - -:mod:`ext.watershed` Module -........................... - -Peak peaking via inverse watershed for connecting region of high intensity - -.. automodule:: pyFAI.ext.watershed - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/resources/index.rst b/doc/source/api/resources/index.rst new file mode 100644 index 00000000..13962d28 --- /dev/null +++ b/doc/source/api/resources/index.rst @@ -0,0 +1,19 @@ +pyFAI.resources package +======================= + +pyFAI.resources.setup module +---------------------------- + +.. automodule:: pyFAI.resources.setup + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.resources + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/utils/index.rst b/doc/source/api/utils/index.rst new file mode 100644 index 00000000..a0359105 --- /dev/null +++ b/doc/source/api/utils/index.rst @@ -0,0 +1,91 @@ +pyFAI.utils package +=================== + +pyFAI.utils.bayes module +------------------------ + +.. automodule:: pyFAI.utils.bayes + :members: + :undoc-members: + :show-inheritance: + +pyFAI.utils.decorators module +----------------------------- + +.. automodule:: pyFAI.utils.decorators + :members: + :undoc-members: + :show-inheritance: + +pyFAI.utils.ellipse module +-------------------------- + +.. automodule:: pyFAI.utils.ellipse + :members: + :undoc-members: + :show-inheritance: + +pyFAI.utils.header_utils module +------------------------------- + +.. automodule:: pyFAI.utils.header_utils + :members: + :undoc-members: + :show-inheritance: + +pyFAI.utils.logging_utils module +-------------------------------- + +.. automodule:: pyFAI.utils.logging_utils + :members: + :undoc-members: + :show-inheritance: + +pyFAI.utils.mathutil module +--------------------------- + +.. automodule:: pyFAI.utils.mathutil + :members: + :undoc-members: + :show-inheritance: + +pyFAI.utils.orderedset module +----------------------------- + +.. automodule:: pyFAI.utils.orderedset + :members: + :undoc-members: + :show-inheritance: + +pyFAI.utils.setup module +------------------------ + +.. automodule:: pyFAI.utils.setup + :members: + :undoc-members: + :show-inheritance: + +pyFAI.utils.shell module +------------------------ + +.. automodule:: pyFAI.utils.shell + :members: + :undoc-members: + :show-inheritance: + +pyFAI.utils.stringutil module +----------------------------- + +.. automodule:: pyFAI.utils.stringutil + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: pyFAI.utils + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/geometry_conversion.rst b/doc/source/geometry_conversion.rst index 78aede14..d27ef586 100644 --- a/doc/source/geometry_conversion.rst +++ b/doc/source/geometry_conversion.rst @@ -3,6 +3,8 @@ :Keywords: geometry conversion from/to pyFAI :Target: developers +.. _geometryconversion: + The purpose of this note is to compare how ``pyFAI`` and ``ImageD11`` treat the detector position. In particular, we derive how “PONI” detector parameters refined with ``pyFAI`` can be transformed into diff --git a/doc/source/img/integrate.png b/doc/source/img/integrate.png index 977df4de..1dacf050 100644 Binary files a/doc/source/img/integrate.png and b/doc/source/img/integrate.png differ diff --git a/doc/source/man/pyFAI-calib2.rst b/doc/source/man/pyFAI-calib2.rst index c866454b..77211720 100644 --- a/doc/source/man/pyFAI-calib2.rst +++ b/doc/source/man/pyFAI-calib2.rst @@ -13,16 +13,16 @@ without a priori knowledge of your setup. You will need to provide a calibrant or a "d-spacing" file containing the spacing of Miller plans in Angstrom (in decreasing order). -Calibrants available: Ni, CrOx, NaCl, Si_SRM640e, Si_SRM640d, Si_SRM640a, -Si_SRM640c, alpha_Al2O3, Cr2O3, AgBh, Si_SRM640, CuO, PBBA, -Si_SRM640b, mock, quartz, C14H30O, cristobaltite, Si, LaB6, CeO2, LaB6_SRM660a, -LaB6_SRM660b, LaB6_SRM660c, TiO2, ZnO, Al, Au or search in the -American Mineralogist database: http://rruff.geo.arizona.edu/AMS/amcsd.php +Calibrants available: ``Ni``, ``CrOx``, ``NaCl``, ``Si_SRM640e``, ``Si_SRM640d``, ``Si_SRM640a``, +``Si_SRM640c``, ``alpha_Al2O3``, ``Cr2O3``, ``AgBh``, ``Si_SRM640``, ``CuO``, ``PBBA``, +``Si_SRM640b``, ``quartz``, ``C14H30O``, ``cristobaltite``, ``Si``, ``LaB6``, ``CeO2``, ``LaB6_SRM660a``, +``LaB6_SRM660b``, ``LaB6_SRM660c``, ``TiO2``, ``ZnO``, ``Al``, ``Au`` or search in the +`American Mineralogist database `_. Usage: ------ -pyFAI-calib2 [options] [input_image.edf] +``pyFAI-calib2 [options] [input_image.edf]`` Everything can be set by the GUI, but here are the command-line arguments. @@ -30,171 +30,97 @@ Options: -------- positional arguments: - FILE List of files to calibrate + FILE List of files to calibrate optional arguments: - -h, --help - show this help message and exit - - -V, --version - show program's version number and exit - - -o FILE, --out FILE - Filename where processed image is saved - - -v, --verbose - switch to debug/verbose mode - - --debug - Set logging system in debug mode - - -c FILE, --calibrant FILE - Calibrant name or file containing d-spacing of the reference sample (case sensitive) - - -w WAVELENGTH, --wavelength WAVELENGTH - wavelength of the X-Ray beam in Angstrom. - - -e ENERGY, --energy ENERGY - energy of the X-Ray beam in keV (hc=12.3984197396keV.A). - - -P POLARIZATION_FACTOR, --polarization POLARIZATION_FACTOR - polarization factor, from -1 (vertical) to +1 (horizontal), default is None (no correction), synchrotrons are around 0.95 - - -D DETECTOR_NAME, --detector DETECTOR_NAME - Detector name (instead of pixel size+spline) - - -m MASK, --mask MASK - file containing the mask (for image reconstruction) - - -p PIXEL, --pixel PIXEL - size of the pixel in micron - - -i FILE, --poni FILE - file containing the diffraction parameter (poni-file). - - -b BACKGROUND, --background BACKGROUND - Automatic background subtraction if no value are provided - - -d DARK, --dark DARK - list of comma separated dark images to average and subtract - - -f FLAT, --flat FLAT - list of comma separated flat images to average and divide - - -s SPLINE, --spline SPLINE - spline file describing the detector distortion - - -n NPT, --pt NPT - file with datapoints saved. Default: basename.npt - - --filter FILTER - select the filter, either mean(default), max or median - - -l DISTANCE, --distance DISTANCE - sample-detector distance in millimeter. Default: 100mm - - --dist DIST - sample-detector distance in meter. Default: 0.1m - - --poni1 PONI1 - poni1 coordinate in meter. Default: center of detector - - --poni2 PONI2 - poni2 coordinate in meter. Default: center of detector - - --rot1 ROT1 - rot1 in radians. default: 0 - - --rot2 ROT2 - rot2 in radians. default: 0 - - --rot3 ROT3 - rot3 in radians. default: 0 - - --fix-wavelength - fix the wavelength parameter. Default: Activated - - --free-wavelength - free the wavelength parameter. Default: Deactivated - - --fix-dist - fix the distance parameter - - --free-dist - free the distance parameter. Default: Activated - - --fix-poni1 - fix the poni1 parameter - - --free-poni1 - free the poni1 parameter. Default: Activated - - --fix-poni2 - fix the poni2 parameter - - --free-poni2 - free the poni2 parameter. Default: Activated - - --fix-rot1 - fix the rot1 parameter - - --free-rot1 - free the rot1 parameter. Default: Activated - - --fix-rot2 - fix the rot2 parameter - - --free-rot2 - free the rot2 parameter. Default: Activated - - --fix-rot3 - fix the rot3 parameter - - --free-rot3 - free the rot3 parameter. Default: Activated - - --npt NPT_1D - Number of point in 1D integrated pattern, Default: 1024 - - --npt-azim NPT_2D_AZIM - Number of azimuthal sectors in 2D integrated images. Default: 360 - - --npt-rad NPT_2D_RAD - Number of radial bins in 2D integrated images. Default: 400 - - --qtargs QTARGS - Arguments propagated to Qt - - --tilt Allow initially detector tilt to be refined (rot1, rot2, rot3). Default: Activated - - --no-tilt - Deactivated tilt refinement and set all rotation to 0 - - --saturation SATURATION - consider all pixel>max*(1-saturation) as saturated and reconstruct them, default: 0 (deactivated) - - --weighted - weight fit by intensity, by default not. - - --unit UNIT - Valid units for radial range: 2th_deg, 2th_rad, q_nm^-1, q_A^-1, r_mm. Default: 2th_deg - - --no-gui - force the program to run without a Graphical interface - - --no-interactive - force the program to run and exit without prompting for refinements - - -r, --reconstruct - Reconstruct image where data are masked or <0 (for Pilatus detectors or detectors with modules) - - -g GAUSSIAN, --gaussian GAUSSIAN - Size of the gaussian kernel. Size of the gap (in pixels) between two consecutive rings, by default 100 Increase the value if the arc is not complete; decrease the value if arcs are mixed - together. - - --square - Use square kernel shape for neighbor search instead of diamond shape - + -h, --help show this help message and exit + -V, --version show program's version number and exit + -o FILE, --out FILE Filename where processed image is saved + -v, --verbose switch to debug/verbose mode + --debug Set logging system in debug mode + --opengl, --gl Enable OpenGL rendering (else matplotlib is used) + -c FILE, --calibrant FILE + Calibrant name or file containing d-spacing of the + reference sample (case sensitive) + -w WAVELENGTH, --wavelength WAVELENGTH + wavelength of the X-Ray beam in Angstrom. + -e ENERGY, --energy ENERGY + energy of the X-Ray beam in keV + (hc=12.398419739640717keV.A). + -P POLARIZATION_FACTOR, --polarization POLARIZATION_FACTOR + polarization factor, from -1 (vertical) to +1 + (horizontal), default is None (no correction), + synchrotrons are around 0.95 + -D DETECTOR_NAME, --detector DETECTOR_NAME + Detector name (instead of pixel size+spline) + -m MASK, --mask MASK file containing the mask (for image reconstruction) + -p PIXEL, --pixel PIXEL + size of the pixel in micron + -s SPLINE, --spline SPLINE + spline file describing the detector distortion + -n NPT, --pt NPT file with datapoints saved. Example: basename.npt + -i FILE, --poni FILE file containing the diffraction parameter (poni-file) + [not used]. + -b BACKGROUND, --background BACKGROUND + Automatic background subtraction if no value are + provided [not used] + -d DARK, --dark DARK list of comma separated dark images to average and + subtract [not used] + -f FLAT, --flat FLAT list of comma separated flat images to average and + divide [not used] + --filter FILTER select the filter, either mean(default), max or median + [not used] + -l DIST_MM, --distance DIST_MM + sample-detector distance in millimeter. Default: 100mm + --dist DIST sample-detector distance in meter. Default: 0.1m + --poni1 PONI1 poni1 coordinate in meter. Default: center of detector + --poni2 PONI2 poni2 coordinate in meter. Default: center of detector + --rot1 ROT1 rot1 in radians. default: 0 + --rot2 ROT2 rot2 in radians. default: 0 + --rot3 ROT3 rot3 in radians. default: 0 + --fix-wavelength fix the wavelength parameter. Default: Activated + --free-wavelength free the wavelength parameter. Default: Deactivated + --fix-dist fix the distance parameter + --free-dist free the distance parameter. Default: Activated + --fix-poni1 fix the poni1 parameter + --free-poni1 free the poni1 parameter. Default: Activated + --fix-poni2 fix the poni2 parameter + --free-poni2 free the poni2 parameter. Default: Activated + --fix-rot1 fix the rot1 parameter + --free-rot1 free the rot1 parameter. Default: Activated + --fix-rot2 fix the rot2 parameter + --free-rot2 free the rot2 parameter. Default: Activated + --fix-rot3 fix the rot3 parameter + --free-rot3 free the rot3 parameter. Default: Activated + --npt NPT_1D Number of point in 1D integrated pattern, Default: + 1024 + --npt-azim NPT_2D_AZIM + Number of azimuthal sectors in 2D integrated images. + Default: 360 + --npt-rad NPT_2D_RAD Number of radial bins in 2D integrated images. + Default: 400 + --qtargs QTARGS Arguments propagated to Qt + --tilt Allow initially detector tilt to be refined (rot1, + rot2, rot3). Default: Activated + --no-tilt Deactivated tilt refinement and set all rotation to 0 + --saturation SATURATION + consider all pixel>max*(1-saturation) as saturated and + reconstruct them, default: 0 (deactivated) + --weighted weight fit by intensity, by default not. + --unit UNIT Valid units for radial range: 2th_deg, 2th_rad, + q_nm^-1, q_A^-1, r_mm. Default: 2th_deg + --no-gui force the program to run without a Graphical interface + --no-interactive force the program to run and exit without prompting + for refinements + -r, --reconstruct Reconstruct image where data are masked or <0 (for + Pilatus detectors or detectors with modules) + -g GAUSSIAN, --gaussian GAUSSIAN + Size of the gaussian kernel. Size of the gap (in + pixels) between two consecutive rings, by default 100 + Increase the value if the arc is not complete; + decrease the value if arcs are mixed together. + --square Use square kernel shape for neighbor search instead of + diamond shape Tips & Tricks ------------- diff --git a/doc/source/man/pyFAI-drawmask.rst b/doc/source/man/pyFAI-drawmask.rst index 72f85232..b88022e7 100644 --- a/doc/source/man/pyFAI-drawmask.rst +++ b/doc/source/man/pyFAI-drawmask.rst @@ -1,6 +1,8 @@ Mask generation tool: pyFAI-drawmask ==================================== +.. _pyFAI-drawmask: + Purpose ------- diff --git a/doc/source/man/pyFAI-integrate.rst b/doc/source/man/pyFAI-integrate.rst index 378bea73..0f43bb6b 100644 --- a/doc/source/man/pyFAI-integrate.rst +++ b/doc/source/man/pyFAI-integrate.rst @@ -4,7 +4,7 @@ Integration tool: pyFAI-integrate Purpose ------- -PyFAI-integrate is a graphical interface (based on Python/Qt4) to perform azimuthal integration +PyFAI-integrate is a graphical interface (based on Python/Qt5) to perform azimuthal integration on a set of files. It exposes most of the important options available within pyFAI and allows you to select a GPU (or an openCL platform) to perform the calculation on. @@ -16,36 +16,46 @@ to select a GPU (or an openCL platform) to perform the calculation on. Usage ----- -pyFAI-integrate [options] file1.edf file2.edf ... +``pyFAI-integrate [options] file1.edf file2.edf ...`` Options: -------- - -h, --help show this help message and exit - -V, --version show program's version number and exit - -v, --verbose switch to verbose/debug mode - -o OUTPUT, --output OUTPUT - Directory or file where to store the output data - -f FORMAT, --format FORMAT - output data format (can be HDF5) - -s SLOW, --slow-motor SLOW - Dimension of the scan on the slow direction (makes - sense only with HDF5) - -r RAPID, --fast-motor RAPID - Dimension of the scan on the fast direction (makes - sense only with HDF5) - --no-gui Process the dataset without showing the user - interface. - -j JSON, --json JSON Configuration file containing the processing to be - done - --monitor-name MONITOR_KEY - Name of the monitor in the header of each input files. - If defined the contribution of each input file is - divided by the monitor. If the header does not contain - or contains a wrong value, the contribution of the - input file is ignored. On EDF files, values from - 'counter_pos' can accessed by using the expected - mnemonic. For example 'counter/bmon'. + positional arguments: + FILE Files to be integrated + + optional arguments: + -h, --help show this help message and exit + -V, --version show program's version number and exit + -v, --verbose switch to verbose/debug mode + --debug Set logging system in debug mode + -o OUTPUT, --output OUTPUT + Directory or file where to store the output data + -f FORMAT, --format FORMAT + output data format (can be HDF5) + -s SLOW, --slow-motor SLOW + Dimension of the scan on the slow direction (makes + sense only with HDF5) + -r RAPID, --fast-motor RAPID + Dimension of the scan on the fast direction (makes + sense only with HDF5) + --no-gui Process the dataset without showing the user + interface. + -j JSON, --json JSON Configuration file containing the processing to be + done + --monitor-name MONITOR_KEY + Name of the monitor in the header of each input files. + If defined the contribution of each input file is + divided by the monitor. If the header does not contain + or contains a wrong value, the contribution of the + input file is ignored. On EDF files, values from + 'counter_pos' can be accessed by using the expected + mnemonic. For example 'counter/bmon'. + --delete Delete the destination file if already exists + --append Append the processing to the destination file using an + available group (HDF5 output) + --overwrite Overwrite the entry of the destination file if it + already exists (HDF5 output) Tips & Tricks: -------------- @@ -53,6 +63,3 @@ Tips & Tricks: PyFAI-integrate saves all parameters in a .azimint.json (hidden) file. This JSON file is an ascii file which can be edited and used to configure online data analysis using the LImA plugin of pyFAI. - -Nota: there is bug in debian6 making the GUI crash (to be fixed inside pyqt) -http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=697348 diff --git a/doc/source/man/scripts.rst b/doc/source/man/scripts.rst index 2dac13de..45cb6773 100644 --- a/doc/source/man/scripts.rst +++ b/doc/source/man/scripts.rst @@ -15,21 +15,21 @@ The calibration is the determination of the geometry of the experimental setup u Finally a full dataset can be integrated using different tools targeted at different experiments. Pre-processing tools: - * pyFAI-drawmask: tool for drawing a mask on top of an image - * pyFAI-average: tool for averaging/median/... filtering images (i.e. for dark current) + * ``pyFAI-drawmask``: tool for drawing a mask on top of an image (deprecated) + * ``pyFAI-average``: tool for averaging/median/... filtering images (i.e. for dark current) Calibration tools: - * pyFAI-calib: manually select the rings and refine the geometry - * pyFAI-recalib: automatic ring extraction to refine the geometry (deprecated: see "recalib" option in pyFAI-calib) - * MX-calibrate: Calibrate automatically a set of images taken at various detector distances - * check_calib: checks the calibration of an image at the sub-pixel level (deprecated: see "validate" option in pyFAI-calib) + * ``pyFAI-calib2`` and ``pyFAI-calib``: manually select the rings and refine the geometry + * ``pyFAI-recalib``: automatic ring extraction to refine the geometry (deprecated: see "recalib" option in pyFAI-calib) + * ``MX-calibrate``: Calibrate automatically a set of images taken at various detector distances + * ``check_calib``: checks the calibration of an image at the sub-pixel level (deprecated: see "validate" option in pyFAI-calib) Azimuthal integration tools: - * pyFAI-integrate: the graphical interface for integration (GUI) - * pyFAI-saxs: command line interface for small-angle scattering - * pyFAI-waxs: command line interface for powder difration - * diff_map: diffraction mapping & tomography tool (command line and GUI) - * diff_tomo: diffraction tomography tool (command line only) + * ``pyFAI-integrate``: the graphical interface for integration (GUI) + * ``pyFAI-saxs``: command line interface for small-angle scattering + * ``pyFAI-waxs``: command line interface for powder difration + * ``diff_map``: diffraction mapping & tomography tool (command line and GUI) + * ``diff_tomo``: diffraction tomography tool (command line only) .. toctree:: :maxdepth: 1 diff --git a/doc/source/pyFAI.rst b/doc/source/pyFAI.rst index 379983a8..a2a40261 100644 --- a/doc/source/pyFAI.rst +++ b/doc/source/pyFAI.rst @@ -61,10 +61,10 @@ implemente from scratch a novel azimuthal integration tool which is designed to take advantage of modern parallel hardware features. PyFAI assumes the setup does not change during the experiment and tries to reuse a maximum number of data (using memoization_), moreover those calculation are performed -only when needed (lazy_evaluation_). +only when needed (`lazy evaluation`_). .. _memoization: http://en.wikipedia.org/wiki/Memoization -.. _lazy_evaluation: http://en.wikipedia.org/wiki/Lazy_evaluation +.. _lazy evaluation: http://en.wikipedia.org/wiki/Lazy_evaluation Experiment description ---------------------- diff --git a/pyFAI/app/average.py b/pyFAI/app/average.py index de323fdb..fbb3d831 100755 --- a/pyFAI/app/average.py +++ b/pyFAI/app/average.py @@ -33,7 +33,7 @@ __author__ = "Jerome Kieffer, Picca Frédéric-Emmanuel" __contact__ = "Jerome.Kieffer@ESRF.eu" __license__ = "MIT" __copyright__ = "European Synchrotron Radiation Facility, Grenoble, France" -__date__ = "01/03/2019" +__date__ = "17/05/2019" __status__ = "production" import os @@ -99,8 +99,8 @@ def parse_algorithms(options): def cleanup_input_paths(input_paths): """Clean up filename using :: to access to data inside file. - :returns: Returns a list of paths without directory separator inside the filename - location. + :returns: Returns a list of paths without directory separator inside the + filename location. """ result = [] for path in input_paths: diff --git a/pyFAI/engines/preproc.py b/pyFAI/engines/preproc.py index 7bdfa63d..44970f39 100644 --- a/pyFAI/engines/preproc.py +++ b/pyFAI/engines/preproc.py @@ -25,9 +25,7 @@ # THE SOFTWARE. -"""Pre-Processing - -A module for all common pixel-wise pre-processing of data. +"""Module providing common pixel-wise pre-processing of data. """ from __future__ import absolute_import, print_function, with_statement @@ -36,7 +34,7 @@ __author__ = "Jerome Kieffer" __contact__ = "Jerome.Kieffer@ESRF.eu" __license__ = "MIT" __copyright__ = "European Synchrotron Radiation Facility, Grenoble, France" -__date__ = "06/05/2019" +__date__ = "17/05/2019" __status__ = "development" import warnings @@ -87,10 +85,8 @@ def preproc(raw, NaN are always considered as invalid values if neither empty nor dummy is provided, empty pixels are 0. - Empty pixels are always zero in "split_result" mode + Empty pixels are always zero in "split_result" mode. - Split result: - ------------- When set to False, i.e the default, the pixel-wise operation is: I = (raw - dark)/(flat \* solidangle \* polarization \* absorption) Invalid pixels are set to the dummy or empty value. @@ -100,7 +96,7 @@ def preproc(raw, I = [(raw - dark), (variance), (flat \* solidangle \* polarization \* absorption)] Empty pixels will have all their 2 or 3 values to 0 (and not to dummy or empty value) - If poissonian is set to True, the variance is evaluated as (raw + dark) + If poissonian is set to True, the variance is evaluated as (raw + dark). """ if isinstance(dtype, str): dtype = numpy.dtype(dtype).type diff --git a/pyFAI/ext/__init__.py b/pyFAI/ext/__init__.py index e69de29b..93148893 100644 --- a/pyFAI/ext/__init__.py +++ b/pyFAI/ext/__init__.py @@ -0,0 +1,29 @@ +# coding: utf-8 +# /*########################################################################## +# +# Copyright (C) 2016-2018 European Synchrotron Radiation Facility +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +# ###########################################################################*/ + +"""Package containing all Cython binary extensions""" + +__copyright__ = "European Synchrotron Radiation Facility, Grenoble, France" +__license__ = "MIT" diff --git a/pyFAI/ext/_bispev.pyx b/pyFAI/ext/_bispev.pyx index b643f17b..7c00e5b0 100644 --- a/pyFAI/ext/_bispev.pyx +++ b/pyFAI/ext/_bispev.pyx @@ -25,14 +25,14 @@ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -'''Spline evaluation function -Created on Nov 4, 2013 -''' + +"""Module containing a re-implementation of bi-cubic spline evaluation from +scipy.""" __authors__ = ["Zubair Nawaz", "Jerome Kieffer"] __contact__ = "Jerome.kieffer@esrf.fr" -__date__ = "15/11/2018" +__date__ = "17/05/2019" __status__ = "stable" __license__ = "MIT" @@ -51,13 +51,15 @@ def bisplev(x, y, tck, dx=0, dy=0): Return a rank-2 array of spline function values (or spline derivative values) at points given by the cross-product of the rank-1 arrays x and y. In special cases, return an array or just a float if either x or y or - both are floats. Based on BISPEV from FITPACK. + both are floats. Based on BISPEV from FITPACK. See :func:`bisplrep` to generate the `tck` representation. See also :func:`splprep`, :func:`splrep`, :func:`splint`, :func:`sproot`, :func:`splev`, :func:`UnivariateSpline`, :func:`BivariateSpline` + References: [1]_, [2]_, [3]_. + .. [1] Dierckx P. : An algorithm for surface fitting with spline functions Ima J. Numer. Anal. 1 (1981) 267-283. diff --git a/pyFAI/ext/_blob.pyx b/pyFAI/ext/_blob.pyx index 924e3daf..da6267cb 100644 --- a/pyFAI/ext/_blob.pyx +++ b/pyFAI/ext/_blob.pyx @@ -25,12 +25,16 @@ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. + """ -Some Cythonized function for blob detection function +Some Cythonized function for blob detection function. + +It is used to find peaks in images by performing subsequent blurs. """ + __authors__ = ["Aurore Deschildre", "Jerome Kieffer"] __contact__ = "Jerome.kieffer@esrf.fr" -__date__ = "10/01/2018" +__date__ = "17/05/2019" __status__ = "stable" __license__ = "MIT" import cython diff --git a/pyFAI/ext/_convolution.pyx b/pyFAI/ext/_convolution.pyx index b9cdcbff..bb7c0c3f 100644 --- a/pyFAI/ext/_convolution.pyx +++ b/pyFAI/ext/_convolution.pyx @@ -26,11 +26,15 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -"""Implementation of a separable 2D convolution""" +"""Implementation of a separable 2D convolution. + +It is used in real space are used to blurs images, used in blob-detection +algorithm. +""" __authors__ = ["Pierre Paleo", "Jerome Kieffer"] __contact__ = "Jerome.kieffer@esrf.fr" -__date__ = "01/12/2016" +__date__ = "17/05/2019" __status__ = "stable" __license__ = "MIT" import cython diff --git a/pyFAI/ext/_distortion.pyx b/pyFAI/ext/_distortion.pyx index fef6c793..7ca923cc 100644 --- a/pyFAI/ext/_distortion.pyx +++ b/pyFAI/ext/_distortion.pyx @@ -26,9 +26,13 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +""" +Distortion correction are correction are applied by look-up table (or CSR) +""" + __author__ = "Jerome Kieffer" __license__ = "MIT" -__date__ = "21/01/2019" +__date__ = "17/05/2019" __copyright__ = "2011-2018, ESRF" __contact__ = "jerome.kieffer@esrf.fr" diff --git a/pyFAI/ext/_geometry.pyx b/pyFAI/ext/_geometry.pyx index 03bd29f6..d8df1408 100644 --- a/pyFAI/ext/_geometry.pyx +++ b/pyFAI/ext/_geometry.pyx @@ -26,9 +26,15 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +""" +This extension is a fast-implementation for calculating the geometry, i.e. where +every pixel of an array stays in space (x,y,z) or its (r, :math:`\\chi`) +coordinates. +""" + __author__ = "Jerome Kieffer" __license__ = "MIT" -__date__ = "26/10/2018" +__date__ = "17/05/2019" __copyright__ = "2011-2016, ESRF" __contact__ = "jerome.kieffer@esrf.fr" diff --git a/pyFAI/ext/_tree.pyx b/pyFAI/ext/_tree.pyx index 149228df..04de9254 100644 --- a/pyFAI/ext/_tree.pyx +++ b/pyFAI/ext/_tree.pyx @@ -26,9 +26,12 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +"""Module used in file hierarchy tree for the diff_map graphical user interface. +""" + __author__ = "Jerome Kieffer" __license__ = "MIT" -__date__ = "09/01/2018" +__date__ = "17/05/2019" __copyright__ = "2011-2015, ESRF" __contact__ = "jerome.kieffer@esrf.fr" diff --git a/pyFAI/ext/bilinear.pyx b/pyFAI/ext/bilinear.pyx index f6cecb4f..d9971b6f 100644 --- a/pyFAI/ext/bilinear.pyx +++ b/pyFAI/ext/bilinear.pyx @@ -25,10 +25,13 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +"""Module with makes a discrete 2D-array appear like a continuous function thanks +to bilinear interpolations. +""" __author__ = "Jerome Kieffer" __license__ = "MIT" -__date__ = "18/04/2019" +__date__ = "17/05/2019" __copyright__ = "2011-2015, ESRF" __contact__ = "jerome.kieffer@esrf.fr" diff --git a/pyFAI/ext/histogram.pyx b/pyFAI/ext/histogram.pyx index 54ceefe0..6052d8b4 100644 --- a/pyFAI/ext/histogram.pyx +++ b/pyFAI/ext/histogram.pyx @@ -26,10 +26,15 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -"""A set of histogram functions with or without OpenMP enabled.""" +"""A set of histogram functions with or without OpenMP enabled. + +Re-implementation of the numpy.histogram, optimized for azimuthal integration. + +Deprecated, will be replaced by ``silx.math.histogramnd``. +""" __author__ = "Jerome Kieffer" -__date__ = "06/05/2019" +__date__ = "17/05/2019" __license__ = "MIT" __copyright__ = "2011-2019, ESRF" __contact__ = "jerome.kieffer@esrf.fr" diff --git a/pyFAI/ext/invert_geometry.pyx b/pyFAI/ext/invert_geometry.pyx index c41267f3..ab0c62ad 100644 --- a/pyFAI/ext/invert_geometry.pyx +++ b/pyFAI/ext/invert_geometry.pyx @@ -25,9 +25,15 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. + +""" +Module providing inversion transformation from pixel coordinate to radial/azimuthal +coordinate. +""" + __author__ = "Jerome Kieffer" __license__ = "MIT" -__date__ = "06/05/2019" +__date__ = "17/05/2019" __copyright__ = "2018-2018, ESRF" __contact__ = "jerome.kieffer@esrf.fr" diff --git a/pyFAI/ext/morphology.pyx b/pyFAI/ext/morphology.pyx index ad22d27c..fdc14a00 100644 --- a/pyFAI/ext/morphology.pyx +++ b/pyFAI/ext/morphology.pyx @@ -26,12 +26,15 @@ # THE SOFTWARE. """ -A few binary morphology operation +This module provides a couple of binary morphology operations on images. + +They are also implemented in ``scipy.ndimage`` in the general case, but not as +fast. """ __author__ = "Jerome Kieffer" __contact__ = "Jerome.kieffer@esrf.fr" -__date__ = "09/01/2018" +__date__ = "17/05/2019" __status__ = "stable" __license__ = "MIT" diff --git a/pyFAI/ext/new_diagram.uxf b/pyFAI/ext/new_diagram.uxf new file mode 100644 index 00000000..3651be4a --- /dev/null +++ b/pyFAI/ext/new_diagram.uxf @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pyFAI/ext/preproc.pyx b/pyFAI/ext/preproc.pyx index 4cf194bc..711d365e 100644 --- a/pyFAI/ext/preproc.pyx +++ b/pyFAI/ext/preproc.pyx @@ -25,10 +25,14 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +""" +Contains a preprocessing function in charge of the dark-current subtraction, +flat-field normalization... taking care of masked values and normalization. +""" __author__ = "Jerome Kieffer" __license__ = "MIT" -__date__ = "06/05/2019" +__date__ = "17/05/2019" __copyright__ = "2011-2018, ESRF" __contact__ = "jerome.kieffer@esrf.fr" diff --git a/pyFAI/ext/reconstruct.pyx b/pyFAI/ext/reconstruct.pyx index d6ba85ef..cde75121 100644 --- a/pyFAI/ext/reconstruct.pyx +++ b/pyFAI/ext/reconstruct.pyx @@ -25,11 +25,15 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -"""Cython module to reconstruct the masked values of an image""" +"""Cython module to reconstruct the masked values of an image. + +It's a simple inpainting module for reconstructing the missing part of an +image (masked) to be able to use more common algorithms. +""" __author__ = "Jerome Kieffer" __contact__ = "Jerome.kieffer@esrf.fr" -__date__ = "15/11/2018" +__date__ = "17/05/2019" __status__ = "stable" __license__ = "MIT" diff --git a/pyFAI/ext/relabel.pyx b/pyFAI/ext/relabel.pyx index 518352f0..c4c45bea 100644 --- a/pyFAI/ext/relabel.pyx +++ b/pyFAI/ext/relabel.pyx @@ -26,11 +26,14 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -"""A module to relabel regions""" +"""Module providing features to relabel regions. + +It is used to flag from largest regions to the smallest. +""" __author__ = "Jerome Kieffer" __contact__ = "Jerome.kieffer@esrf.fr" -__date__ = "15/11/2018" +__date__ = "17/05/2019" __status__ = "stable" __license__ = "MIT" diff --git a/pyFAI/ext/watershed.pyx b/pyFAI/ext/watershed.pyx index dd7db02f..595dc29f 100644 --- a/pyFAI/ext/watershed.pyx +++ b/pyFAI/ext/watershed.pyx @@ -26,11 +26,12 @@ # THE SOFTWARE. # -"""Inverse watershed for connecting region of high intensity +"""Peak peaking via inverse watershed for connecting region of high intensity """ + __author__ = "Jerome Kieffer" __contact__ = "Jerome.kieffer@esrf.fr" -__date__ = "11/01/2018" +__date__ = "17/05/2019" __status__ = "stable" __license__ = "MIT" diff --git a/pyFAI/gui/cli_calibration.py b/pyFAI/gui/cli_calibration.py index 7502261f..99dc8f0e 100644 --- a/pyFAI/gui/cli_calibration.py +++ b/pyFAI/gui/cli_calibration.py @@ -37,7 +37,7 @@ __author__ = "Jerome Kieffer" __contact__ = "Jerome.Kieffer@ESRF.eu" __license__ = "MIT" __copyright__ = "European Synchrotron Radiation Facility, Grenoble, France" -__date__ = "17/12/2018" +__date__ = "17/05/2019" __status__ = "production" import os @@ -124,29 +124,29 @@ class AbstractCalibration(object): " display too many images without crashing, this"\ " is why the window showing the diffraction image"\ " is closed" - HELP = {"help": "Try to get the help of a given action, like 'refine?'. Use done when finished. " - "Most command are composed of 'action parameter value' like 'set wavelength 1 A'.", - "get": "print he value of a parameter", - "set": "set the value of a parameter to the given value, i.e 'set wavelength 0.1 nm', units are optional", - 'fix': "fixes the value of a parameter so that its value will not be optimized, i.e. 'fix wavelength'", - 'free': "frees the parameter so that the value can be optimized, i.e. 'free wavelength'", - 'bound': "sets the upper and lower bound of a parameter: 'bound dist 0.1 0.2'", - 'bounds': "sets the upper and lower bound of all parameters", - 'refine': "performs a new cycle of refinement", - 'recalib': "extract a new set of rings and re-perform the calibration. One can specify how many rings to extract and the algorithm to use (blob, massif, watershed) and the nb_pts_per_deg in azimuth", - 'done': "finishes the processing, performs an integration and quits", - 'validate': "plot the offset between the calibrated image and the back-projected image", - 'validate2': "measures the offset of the center as function of azimuthal angle by cross-correlation of 2 plots, 180 deg appart. Option: number of azimuthal sliced, default: 36", - 'integrate': "perform the azimuthal integration and display results", - 'abort': "quit immediately, discarding any unsaved changes", - 'show': "Just print out the current parameter set. Optional parameters are units for length, rotation and wavelength, i.e. 'show mm deg A'", - 'reset': "Reset the geometry to the initial guess (rotation to zero, distance to 0.1m, poni at the center of the image)", - 'assign': "Change the assignment of a group of points to a rings", - "weight": "toggle from weighted to unweighted mode...", - "define": "Re-define the value for a constant internal parameter of the program like max_iter, nPt_1D, nPt_2D_azim, nPt_2D_rad, integrator_method, error_model. Warning: attribute change may be harmful !", - "chiplot": "plot control point radial error as function of azimuthal angle, optional parameters: the rings for which this need to be plotted", - "delete": "delete a group of points, provide the letter." - } + _HELP = {"help": "Try to get the help of a given action, like 'refine?'. Use done when finished. " + "Most command are composed of 'action parameter value' like 'set wavelength 1 A'.", + "get": "print he value of a parameter", + "set": "set the value of a parameter to the given value, i.e 'set wavelength 0.1 nm', units are optional", + 'fix': "fixes the value of a parameter so that its value will not be optimized, i.e. 'fix wavelength'", + 'free': "frees the parameter so that the value can be optimized, i.e. 'free wavelength'", + 'bound': "sets the upper and lower bound of a parameter: 'bound dist 0.1 0.2'", + 'bounds': "sets the upper and lower bound of all parameters", + 'refine': "performs a new cycle of refinement", + 'recalib': "extract a new set of rings and re-perform the calibration. One can specify how many rings to extract and the algorithm to use (blob, massif, watershed) and the nb_pts_per_deg in azimuth", + 'done': "finishes the processing, performs an integration and quits", + 'validate': "plot the offset between the calibrated image and the back-projected image", + 'validate2': "measures the offset of the center as function of azimuthal angle by cross-correlation of 2 plots, 180 deg appart. Option: number of azimuthal sliced, default: 36", + 'integrate': "perform the azimuthal integration and display results", + 'abort': "quit immediately, discarding any unsaved changes", + 'show': "Just print out the current parameter set. Optional parameters are units for length, rotation and wavelength, i.e. 'show mm deg A'", + 'reset': "Reset the geometry to the initial guess (rotation to zero, distance to 0.1m, poni at the center of the image)", + 'assign': "Change the assignment of a group of points to a rings", + "weight": "toggle from weighted to unweighted mode...", + "define": "Re-define the value for a constant internal parameter of the program like max_iter, nPt_1D, nPt_2D_azim, nPt_2D_rad, integrator_method, error_model. Warning: attribute change may be harmful !", + "chiplot": "plot control point radial error as function of azimuthal angle, optional parameters: the rings for which this need to be plotted", + "delete": "delete a group of points, provide the letter." + } PARAMETERS = ["dist", "poni1", "poni2", "rot1", "rot2", "rot3", "wavelength"] UNITS = {"dist": "meter", "poni1": "meter", "poni2": "meter", "rot1": "radian", "rot2": "radian", "rot3": "radian", "wavelength": "meter"} @@ -795,15 +795,15 @@ class AbstractCalibration(object): if action in ["help", "?"]: req_help = True if req_help: - for what in self.HELP.keys(): + for what in self._HELP.keys(): if action.startswith(what): print("Help on %s" % what) - print(self.HELP[what]) + print(self._HELP[what]) break else: print("Help on commands") - print(self.HELP["help"]) - print("Valid actions: " + ", ".join(self.HELP.keys())) + print(self._HELP["help"]) + print("Valid actions: " + ", ".join(self._HELP.keys())) print("Valid parameters: " + ", ".join(self.PARAMETERS)) elif action == "get": # get wavelength if (len(words) >= 2): @@ -813,7 +813,7 @@ class AbstractCalibration(object): else: print("No a parameter: %s" % param) else: - print(self.HELP[action]) + print(self._HELP[action]) elif action == "set": # set wavelength 1e-10 if (len(words) in (3, 4)) and words[1] in self.PARAMETERS: @@ -830,7 +830,7 @@ class AbstractCalibration(object): scale = unit.scale setattr(self.geoRef, param, value / scale) else: - print(self.HELP[action]) + print(self._HELP[action]) elif action == "fix": # fix wavelength if (len(words) >= 2): for param in words[1:]: @@ -840,7 +840,7 @@ class AbstractCalibration(object): else: print("No a parameter: %s" % param) else: - print(self.HELP[action]) + print(self._HELP[action]) elif action == "free": # free wavelength if (len(words) >= 2): for param in words[1:]: @@ -850,7 +850,7 @@ class AbstractCalibration(object): else: print("No a parameter: %s" % param) else: - print(self.HELP[action]) + print(self._HELP[action]) elif action == "recalib": max_rings = None @@ -922,9 +922,9 @@ class AbstractCalibration(object): self.geoRef.__getattribute__("set_%s" % param)(value) self.geoRef.__getattribute__("set_%s_max" % param)(value_max) else: - print(self.HELP[action]) + print(self._HELP[action]) else: - print(self.HELP[action]) + print(self._HELP[action]) elif action == "bounds": readFloatFromKeyboard("Enter Distance in meter " "(or dist_min[%.3f] dist[%.3f] dist_max[%.3f]):\t " % @@ -1037,9 +1037,9 @@ class AbstractCalibration(object): else: print("No such parameter %s" % param) else: - print(self.HELP[action]) + print(self._HELP[action]) elif action == "chiplot": - print(self.HELP[action]) + print(self._HELP[action]) rings = None if len(words) > 1: try: @@ -1049,7 +1049,7 @@ class AbstractCalibration(object): self.chiplot(rings) elif action == "delete": if len(words) < 2: - print(self.HELP[action]) + print(self._HELP[action]) else: for code in words[1:]: self.peakPicker.remove_grp(code) diff --git a/pyFAI/gui/matplotlib.py b/pyFAI/gui/matplotlib.py index bda722b7..fbbf571e 100644 --- a/pyFAI/gui/matplotlib.py +++ b/pyFAI/gui/matplotlib.py @@ -22,6 +22,7 @@ # THE SOFTWARE. # # ###########################################################################*/ + """This module inits matplotlib and setups the backend to use. It MUST be imported prior to any other import of matplotlib. @@ -29,11 +30,12 @@ It MUST be imported prior to any other import of matplotlib. It provides the matplotlib :class:`FigureCanvasQTAgg` class corresponding to the used backend. """ + from __future__ import absolute_import __authors__ = ["T. Vincent"] __license__ = "MIT" -__date__ = "20/02/2018" +__date__ = "17/05/2019" import sys diff --git a/pyFAI/gui/model/ListModel.py b/pyFAI/gui/model/ListModel.py index c1312d72..007e29ee 100644 --- a/pyFAI/gui/model/ListModel.py +++ b/pyFAI/gui/model/ListModel.py @@ -27,7 +27,7 @@ from __future__ import absolute_import __authors__ = ["V. Valls"] __license__ = "MIT" -__date__ = "11/04/2019" +__date__ = "17/05/2019" import functools @@ -41,8 +41,8 @@ class ChangeEvent(object): """ Define a change done on an item from the :class:`ListModel`. - :param int index, The location where to put/remove the item (before the change) - or the current index of the changed item + :param int index: The location where to put/remove the item (before the + change) or the current index of the changed item :param object item: The item involved in this change :param bool updated: True if the item was changed :param bool added: True if the item was added diff --git a/pyFAI/gui/model/PeakModel.py b/pyFAI/gui/model/PeakModel.py index e42be003..d1620ac2 100644 --- a/pyFAI/gui/model/PeakModel.py +++ b/pyFAI/gui/model/PeakModel.py @@ -27,7 +27,7 @@ from __future__ import absolute_import __authors__ = ["V. Valls"] __license__ = "MIT" -__date__ = "07/05/2019" +__date__ = "17/05/2019" import numpy from .AbstractModel import AbstractModel @@ -91,7 +91,7 @@ class PeakModel(AbstractModel): List of axis/ord can be reached like that. - .. code-block:: + .. code-block:: python coords = group.coords() yy = coords[:, 0] diff --git a/pyFAI/gui/tasks/IntegrationTask.py b/pyFAI/gui/tasks/IntegrationTask.py index 09e1a1b5..ddbdae90 100644 --- a/pyFAI/gui/tasks/IntegrationTask.py +++ b/pyFAI/gui/tasks/IntegrationTask.py @@ -27,7 +27,7 @@ from __future__ import absolute_import __authors__ = ["V. Valls"] __license__ = "MIT" -__date__ = "16/05/2019" +__date__ = "17/05/2019" import logging import numpy @@ -767,8 +767,8 @@ class IntegrationPlot(qt.QFrame): def setIntegrationProcess(self, integrationProcess): """ - :param IntegrationProcess integrationProcess: Result of the integration - process + :param :class:`~pyFAI.gui.tasks.IntegrationTask.IntegrationProcess` integrationProcess: + Result of the integration process """ self.__clearRings() diff --git a/pyFAI/gui/utils/timeutils.py b/pyFAI/gui/utils/timeutils.py index f4f1745f..1ed17e51 100644 --- a/pyFAI/gui/utils/timeutils.py +++ b/pyFAI/gui/utils/timeutils.py @@ -30,7 +30,7 @@ from __future__ import division __authors__ = ["V. Valls"] __license__ = "MIT" -__date__ = "05/11/2018" +__date__ = "17/05/2019" import logging @@ -43,7 +43,8 @@ class Timer(object): """Kind of context manager to call a code while the amount of seconds is not finished. - .. code-block:: + .. code-block:: python + timer = Timer(seconds=10) while not timer.isTimeout(): print("Tick") diff --git a/pyFAI/gui/widgets/AdvancedComboBox.py b/pyFAI/gui/widgets/AdvancedComboBox.py index 063253db..3b812686 100644 --- a/pyFAI/gui/widgets/AdvancedComboBox.py +++ b/pyFAI/gui/widgets/AdvancedComboBox.py @@ -27,7 +27,7 @@ from __future__ import absolute_import __authors__ = ["V. Valls"] __license__ = "MIT" -__date__ = "25/04/2019" +__date__ = "17/05/2019" import logging @@ -139,7 +139,7 @@ class AdvancedComboBox(qt.QComboBox): Only `qt.Qt.DisplayRole` and `qt.Qt.DecorationRole` are supported. - .. code-block:: + .. code-block:: python def displayedData(widget, row, role=qt.Qt.DisplayRole): if role == qt.Qt.DisplayRole: diff --git a/pyFAI/opencl/__init__.py b/pyFAI/opencl/__init__.py index 4f5bfb22..4ae9ec04 100644 --- a/pyFAI/opencl/__init__.py +++ b/pyFAI/opencl/__init__.py @@ -30,11 +30,13 @@ # OTHER DEALINGS IN THE SOFTWARE. # +"""Contains all OpenCL implementation.""" + __author__ = "Jerome Kieffer" __contact__ = "Jerome.Kieffer@ESRF.eu" __license__ = "MIT" __copyright__ = "2012-2017 European Synchrotron Radiation Facility, Grenoble, France" -__date__ = "25/02/2019" +__date__ = "17/05/2019" __status__ = "stable" import os diff --git a/pyFAI/resources/__init__.py b/pyFAI/resources/__init__.py index 00eefa9e..ac13038a 100644 --- a/pyFAI/resources/__init__.py +++ b/pyFAI/resources/__init__.py @@ -34,26 +34,29 @@ of this modules to ensure access across different distribution schemes: - Frozen fat binary application using pyFAI (frozen with cx_Freeze or py2app). This needs special care for the resource files in the setup: - - With cx_Freeze, add pyFAI/resources to include_files:: +- With cx_Freeze, add pyFAI/resources to include_files: + +.. code-block:: python import pyFAI.resources pyFAI_include_files = (os.path.dirname(pyFAI.resources.__file__), os.path.join('pyFAI', 'resources')) - setup(... - options={'build_exe': {'include_files': [pyFAI_include_files]}} - ) + setup(..., + options={'build_exe': {'include_files': [pyFAI_include_files]}} + ) +- With py2app, add pyFAI in the packages list of the py2app options: - - With py2app, add pyFAI in the packages list of the py2app options:: +.. code-block:: python - setup(... - options={'py2app': {'packages': ['pyFAI']}} - ) + setup(..., + options={'py2app': {'packages': ['pyFAI']}} + ) """ __authors__ = ["V.A. Sole", "Thomas Vincent"] __license__ = "MIT" -__date__ = "20/02/2018" +__date__ = "17/05/2019" import os diff --git a/pyFAI/utils/__init__.py b/pyFAI/utils/__init__.py index 891ae642..e9aee24a 100644 --- a/pyFAI/utils/__init__.py +++ b/pyFAI/utils/__init__.py @@ -27,14 +27,14 @@ # THE SOFTWARE. """ -Utilities +Module with miscelaneous tools """ __author__ = "Jerome Kieffer" __contact__ = "Jerome.Kieffer@ESRF.eu" __license__ = "MIT" __copyright__ = "European Synchrotron Radiation Facility, Grenoble, France" -__date__ = "04/10/2018" +__date__ = "17/05/2019" __status__ = "production" import logging diff --git a/pyFAI/utils/bayes.py b/pyFAI/utils/bayes.py index f0569735..0bd8335d 100644 --- a/pyFAI/utils/bayes.py +++ b/pyFAI/utils/bayes.py @@ -23,11 +23,12 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -""" Bayesian evaluation of background for 1D powder diffraction pattern +"""Bayesian evaluation of background for 1D powder diffraction pattern. Code according to Sivia and David, J. Appl. Cryst. (2001). 34, 318-324 -# Version: 0.1 2012/03/28 -# Version: 0.2 2016/10/07: OOP implementation + +* Version: 0.1 2012/03/28 +* Version: 0.2 2016/10/07: OOP implementation """ from __future__ import absolute_import, print_function, division @@ -35,7 +36,7 @@ from __future__ import absolute_import, print_function, division __authors__ = ["Vincent Favre-Nicolin", "Jérôme Kieffer"] __license__ = "MIT" __copyright__ = "European Synchrotron Radiation Facility, Grenoble, France" -__date__ = "09/01/2018" +__date__ = "17/05/2019" __status__ = "development" __docformat__ = 'restructuredtext' @@ -53,7 +54,7 @@ class BayesianBackground(object): .. math:: z = y / sigma^2 - * if z<0: a quadratic behaviour is expected + * if z<0 a quadratic behaviour is expected * if z>>1 it is likely a bragg peak so the penalty should be small: log(z). * The spline is used to have a quadratic behaviour near 0 and the log one near the junction @@ -126,9 +127,11 @@ class BayesianBackground(object): def bayes_llk(cls, z): """Calculate actually the log-likelihood from a set of weighted error - Re implementation of: - (y<=0)*5*y**2 + (y>0)*(y<8)*pyFAI.utils.bayes.background.spline(y) + (y>=8)*(s1+log(abs(y)+1*(y<8))) - even slightly faster + Re implementation of the following code even slightly faster: + + .. code-block:: python + + (y<=0)*5*y**2 + (y>0)*(y<8)*pyFAI.utils.bayes.background.spline(y) + (y>=8)*(s1+log(abs(y)+1*(y<8))) :param float[:] z: weighted error :return: log likelihood diff --git a/pyFAI/utils/shell.py b/pyFAI/utils/shell.py index 826341f5..77fd87f1 100644 --- a/pyFAI/utils/shell.py +++ b/pyFAI/utils/shell.py @@ -23,14 +23,14 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -"""Module containing utilities around shell""" +"""Module containing utilities around shell command line.""" from __future__ import absolute_import, print_function, division __author__ = "valentin.valls@esrf.eu" __license__ = "MIT" __copyright__ = "European Synchrotron Radiation Facility, Grenoble, France" -__date__ = "25/02/2019" +__date__ = "17/05/2019" __status__ = "development" __docformat__ = 'restructuredtext' diff --git a/pyFAI/utils/stringutil.py b/pyFAI/utils/stringutil.py index a986a3ec..293a5863 100644 --- a/pyFAI/utils/stringutil.py +++ b/pyFAI/utils/stringutil.py @@ -26,12 +26,12 @@ from __future__ import absolute_import, print_function, division -"""Module containing utilitary around string""" +"""Module containing enhanced string formatters.""" __author__ = "valentin.valls@esrf.eu" __license__ = "MIT" __copyright__ = "European Synchrotron Radiation Facility, Grenoble, France" -__date__ = "16/05/2019" +__date__ = "17/05/2019" __status__ = "development" __docformat__ = 'restructuredtext'