Coder Social home page Coder Social logo

pymca's People

Contributors

alemirone avatar ddale avatar dschick avatar fweimer-rh avatar jat255 avatar llohse avatar loichuder avatar markotoplak avatar payno avatar realsobek avatar reszelaz avatar sebastien-petitdemange avatar t20100 avatar tacaswell avatar tschoonj avatar vasole avatar woutdenolf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pymca's Issues

[ROI Imaging] Use new style NXdata

When reading and writing PyMca still uses the ancient NXdata format.

The new format should be used for exporting data and both formats should be supported when reading.

KeyError when loading PyMcaMain within IPython

After upgrading to PyMca 5.1.3 (git version) I get a KeyError when loading PyMcaMain from IPython 5.1.0, Python 3.4.3, Qt 5.2.1. The trace is below. Any idea how to fix this?

ipython --gui=qt5
from PyMca5.PyMcaGui.pymca import PyMcaMain
m = PyMcaMain.PyMcaMain()

/home/mauro/local/py34/lib/python3.4/site-packages/PyMca5/PyMcaGui/pymca/PyMcaMain.py in __init__(self, parent, name, fl, **kw)
    219             if fl is None:
    220                 fl = qt.Qt.WA_DeleteOnClose
--> 221             PyMcaMdi.PyMcaMdi.__init__(self, parent, name, fl)
    222             maxheight = qt.QDesktopWidget().height()
    223             if maxheight < 799:

/home/mauro/local/py34/lib/python3.4/site-packages/PyMca5/PyMcaGui/pymca/PyMcaMdi.py in __init__(self, parent, name, fl, options)
     93 
     94         if QTVERSION > '5.0.0':
---> 95             self.windowMapper.mapped[qt.QWidget].connect(self.mdi.setActiveSubWindow)
     96         else:
     97             self.windowMapper.mapped[qt.QWidget].connect(self.mdi.setActiveWindow)

KeyError: 'there is no matching overloaded signal'

[QIPythonWidget] printText not working

printText method in QIPythonWidget is not working anymore. Tested with python 3.4 and 3.5, IPython 4.1.2 and 5.0.0

Any idea for an alternative method to push text to the console?

[ROI Imaging] Read and Write positioners

If positioners have been read, they should be written to the HDF5 file.

If positioners are present when reading HDF5 files, they should be automatically read.

CentOS6 'QPainterPath' object has no attribute 'translate'

When I start pymca on a CentOS6 (2.6.32-431.29.2.el6.x86_64) system, I get the following error messages.

$pymca

the GUI start popup appears for abt. 1sec, then quits and there are the following messages in the terminal:

Traceback (most recent call last):
File "./pymca", line 10, in
execfile(fname)
File "/usr/lib64/python2.6/site-packages/PyMca5/PyMcaGui/pymca/PyMcaMain.py", line 163, in
from PyMca5.PyMcaGui.pymca import ScanWindow
File "/usr/lib64/python2.6/site-packages/PyMca5/PyMcaGui/pymca/ScanWindow.py", line 44, in
from PyMca5.PyMcaGui.plotting import PlotWindow
File "/usr/lib64/python2.6/site-packages/PyMca5/PyMcaGui/plotting/PlotWindow.py", line 43, in
from . import LegendSelector
File "/usr/lib64/python2.6/site-packages/PyMca5/PyMcaGui/plotting/LegendSelector.py", line 80, in
Symbols['x'].translate(qt.QPointF(-0.5,-0.5))
AttributeError: 'QPainterPath' object has no attribute 'translate'

The installation was without error messages and dependencies should be met.
Any idea?

Thanks
Jan

bunch of files with no licenses header and copyright owner

Hello Armando,

I am preparing the pymca5 package. So once again Ineed to do the license check.
Since I will create new binary package

python3-pymca5 etc... this package will be reviewed by the ftpmaster team.
They are using this tool also to check for non free files.

So could you fix all these files. This will ease the review at the end.

thanks

Frederic

picca@mordor:~/Debian/main/pymca/pymca$ licensecheck -r . | grep UNKN
./PyMca5/PyMcaGraph/ctools/_ctools/cython/MinMax.pyx: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/_ctools/cython/_ctools.py: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/_ctools/cython/InsidePolygonWithBounds.pyx: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/_ctools/cython/_ctools.pyx: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/_ctools/cython/ColormapLUT.pyx: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/_ctools/include/MinMax.h: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/_ctools/include/ColormapLUT.h: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/_ctools/include/InsidePolygonWithBounds.h: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/_ctools/setup.py: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/_ctools/src/InsidePolygonWithBounds.c: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/_ctools/src/MinMaxImpl.c: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/_ctools/src/ColormapLUT.c: No copyright UNKNOWN
./PyMca5/PyMcaGraph/ctools/init.py: No copyright UNKNOWN
./PyMca5/Object3D/Object3DQhull/Object3DQhull.c: No copyright UNKNOWN
./PyMca5/Object3D/Object3DCTools/MarchingCubes.c: No copyright UNKNOWN
./PyMca5/Object3D/Object3DCTools/setup.py: No copyright UNKNOWN
./PyMca5/Object3D/Object3DCTools/marchingsource.cpp: No copyright UNKNOWN
./PyMca5/Object3D/init.py: No copyright UNKNOWN
./PyMca5/EPDL97/GenerateEADLShellNonradiativeRates.py: No copyright UNKNOWN
./PyMca5/EPDL97/EADLParser.py: No copyright UNKNOWN
./PyMca5/EPDL97/EPDL97Parser.py: No copyright UNKNOWN
./PyMca5/EPDL97/GenerateEPDL97TotalCrossSections.py: No copyright UNKNOWN
./PyMca5/EPDL97/GenerateEADLBindingEnergies.py: No copyright UNKNOWN
./PyMca5/EPDL97/EADLSubshells.py: No copyright UNKNOWN
./PyMca5/EPDL97/GenerateEADLShellRadiativeRates.py: No copyright UNKNOWN
./PyMca5/EPDL97/init.py: No copyright UNKNOWN
./PyMca5/EPDL97/GenerateEADLShellConstants.py: No copyright UNKNOWN
./PyMca5/EPDL97/GenerateEPDL97CrossSections.py: No copyright UNKNOWN
./PyMca5/PyMcaIO/specfile/setup.py: No copyright UNKNOWN
./PyMca5/PyMcaIO/edf/setup.py: No copyright UNKNOWN
./PyMca5/PyMcaIO/sps/setup.py: No copyright UNKNOWN
./PyMca5/PyMcaIO/sps/Include/sps.h: UNKNOWN
./PyMca5/PyMcaIO/sps/Include/blissmalloc.h: UNKNOWN
./PyMca5/PyMcaIO/sps/Include/spec_shm.h: UNKNOWN
./PyMca5/PyMcaIO/sps/Src/sps.c: UNKNOWN
./PyMca5/PyMcaIO/sps/Src/sps_py.c: UNKNOWN
./PyMca5/PyMcaIO/MEDFile.py: UNKNOWN
./PyMca5/PyMcaGui/misc/QIPythonWidget.py: No copyright UNKNOWN
./PyMca5/PyMcaPlugins/CalculationThread.py: No copyright UNKNOWN
./PyMca5/PyMcaMath/mva/Lanczos.py: UNKNOWN
./PyMca5/PyMcaMath/mva/py_nnma/setup.py: No copyright UNKNOWN
./PyMca5/PyMcaMath/mva/py_nnma/nnma.py: UNKNOWN
./PyMca5/PyMcaMath/mva/py_nnma/init.py: No copyright UNKNOWN
./PyMca5/PyMcaMath/mva/NNMAModule.py: UNKNOWN
./PyMca5/PyMcaMath/PyMcaSciPy/signal/mediantools.c: UNKNOWN
./PyMca5/PyMcaMath/PyMcaSciPy/signal/median.py: No copyright UNKNOWN
./PyMca5/PyMcaMath/PyMcaSciPy/signal/medianfilter.c: No copyright UNKNOWN
./PyMca5/PyMcaMath/PyMcaSciPy/signal/init.py: No copyright UNKNOWN
./PyMca5/PyMcaMath/linalg.py: UNKNOWN
./PyMca5/PyMcaMath/sift/interpolation.py: No copyright UNKNOWN
./PyMca5/PyMcaMath/sift/sift.py: No copyright UNKNOWN
./PyMca5/PyMcaMath/sift/param.py: No copyright UNKNOWN
./PyMca5/PyMcaMath/sift/init.py: No copyright UNKNOWN

Control PyMcaMain GUI behaviour at init

Hello,

I would like to control PyMcaMain GUI default behaviour at init. How should I proceed?

My workflow, within an IPython shell, is

       from PyMca5.PyMcaGui.pymca import PyMcaMain
        m = PyMcaMain.PyMcaMain()
        m.sourceWidget.sourceSelector.openFile(fname) #load given fname into sourceWidget
        m.show()

Example of things I would like to control:

sourceWidget

  • choose given X, Y and Mon
  • set 'Auto REPLACE'

plotWidget

  • toggle Lines

I know there is a configuration file read at startup, but I'd like to change the settings on the fly directly on the PyMcaMain object.

Thanks,
Mauro

PS: is there a way to enable a particular 'DEBUG'-like mode that would print out in the IPython shell the signal generated by a mouse click event in the GUI?

Question about opening SPEC data file using ROI Imaging Tool

Hello,

Recently I wrote some code to export data in SPEC format file, but I couldn't let it opened in (PyMCA) ROI Imaging Tool. When I tried to open it in ROI Imaging Tool, it showed File C does not exists and then it returned the error as following:

<type 'exceptions.ValueError'> 'axis' entry is out of bounds
please report details
'axis' entry is out of bounds   File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
  File "build\PyMca5\PyMcaGui\pymca\QStackWidget.py", line 1166, in <module>
  File "build\PyMca5\PyMcaGui\pymca\QStackWidget.py", line 220, in setStack
  File "C:\Program Files\PyMca 5.1.2 (x64)\PyMca5\PyMcaCore\StackBase.py", line 245, in setStack
    self.stackUpdated()
  File "C:\Program Files\PyMca 5.1.2 (x64)\PyMca5\PyMcaCore\StackBase.py", line 262, in stackUpdated
    dtype=numpy.float)
  File "C:\Python27\lib\site-packages\numpy\core\fromnumeric.py", line 1848, in sum
  File "C:\Python27\lib\site-packages\numpy\core\_methods.py", line 32, in _sum

The data file is here: https://drive.google.com/file/d/0B8a9oC4tegPnQ3o0VzV2dnltcmc/view?usp=sharing
I really appropriate if someone could help me look into this.

Thanks.

Error - strip

Cannot convert masked element to a Python int. File "/usr/local/lib/python2.7/dist-packages/PyMca5/PyMcaGui/math/StripBackgroundWidget.py", line 257, in _slot
self.update()
File "/usr/local/lib/python2.7/dist-packages/PyMca5/PyMcaGui/math/StripBackgroundWidget.py", line 331, in update
replot=True)
File "/usr/local/lib/python2.7/dist-packages/PyMca5/PyMcaGraph/Plot.py", line 537, in addCurve
self.resetZoom()
File "/usr/local/lib/python2.7/dist-packages/PyMca5/PyMcaGraph/Plot.py", line 1089, in resetZoom
self._plot.resetZoom(dataMargins)
File "/usr/local/lib/python2.7/dist-packages/PyMca5/PyMcaGraph/backends/MatplotlibBackend.py", line 2302, in resetZoom
self.replot()
File "/usr/local/lib/python2.7/dist-packages/PyMca5/PyMcaGraph/backends/MatplotlibBackend.py", line 2318, in replot
self.graph.draw()
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_qt5agg.py", line 148, in draw
FigureCanvasAgg.draw(self)
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.py", line 469, in draw
self.figure.draw(self.renderer)
File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 1079, in draw
func(*args)
File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/matplotlib/axes/_base.py", line 2092, in draw
a.draw(renderer)
File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/matplotlib/axis.py", line 1119, in draw
tick.draw(renderer)
File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/matplotlib/axis.py", line 249, in draw
self.label1.draw(renderer)
File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/matplotlib/text.py", line 585, in draw
ismath=ismath, mtext=mtext)
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.py", line 187, in draw_text
return self.draw_mathtext(gc, x, y, s, prop, angle)
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.py", line 178, in draw_mathtext
self._renderer.draw_text_image(font_image, x, y + 1, angle, gc)
File "/home/payno/.local/lib/python2.7/site-packages/numpy/ma/core.py", line 4198, in int
raise MaskError('Cannot convert masked element to a Python int.')

please use pypi to distribute the pymca sources

Hello, armando.

pip install seems to gain momentum, and people are expecting there software to be installable with pip.
On debian we are using more and more pypi as the source of our packages.
So in order to standardize around this, it would be great if you could upload pymca5 in pypi.

thanks a lot.

Ps: I am preparing 5.1.0 for debian experimental.
Now I am playing with the -dbg debug packages.

[ScanFit/SimpleFitGui] fit background only

@vasole, unless I'm wrong, in the "simple fit" window (ScanFit) I do not find a way to fit a background only. It would be nice to add in the "function" top down menu, the "None" option. On the other hand, in the "customized fit" window (SimpleFitGui) I do not see the background functions (constant, linear, etc.) in the "background" top down menu list.

Otherwise, is there a simple/quick way of fitting just a linear background without using the console plugin?

Thanks,
Mauro

QTooltip color not showing correctly under Ubuntu 16.04

Hello,

The QTooltip is showing black on black background under Ubuntu 16.04. It would be nice to force a correct color. A patch to PyMcaMain could be :

app.setStyleSheet("QToolTip { color: #ffffff; background-color: #2a82da; border: 1px solid white; }")

it seems that there is a waring when I start pymca

I do not know where this comming from but it is better to know that somethig is deprecated :)

picca@mordor:~/Debian/main/pymca$ pymca
/usr/lib/python2.7/dist-packages/sklearn/pls.py:7: DeprecationWarning: This module has been moved to cross_decomposition and will be removed in 0.16
"removed in 0.16", DeprecationWarning)

could you integrated the desktop file and the icon into pymca

Hello ARmando,

In the Debian packages, I have a bunch of .desktop files which are used to present pymca in the menu system.

could you add these files in the pymca package and install them during the build process under
{destdir}/usr/share/applications

and

{destdir}/usr/share/pixmaps

for the icons

override_dh_install:
dh_install

# pymca
python setup.py install_scripts -d debian/pymca/usr/bin

dh_install -p pymca debian/edfviewer.desktop usr/share/applications
dh_install -p pymca debian/elementsinfo.desktop usr/share/applications
dh_install -p pymca debian/peakidentifier.desktop usr/share/applications
dh_install -p pymca debian/pymca.desktop usr/share/applications
dh_install -p pymca debian/pymca.xpm usr/share/pixmaps
dh_install -p pymca debian/pymcaroitool.desktop usr/share/applications
dh_install -p pymca usr/share/man

Bug in XMIMSIM-PyMca dialog

Hi Armando,

When clicking either the first or second Browse button in the XMIMSIM-PyMca dialog, I get the following error:

QFileDialog.getOpenFileName(QWidget parent=None, QString caption=QString(), QString directory=QString(), QString filter=QString(), QString selectedFilter=None, QFileDialog.Options options=0): argument 5 has unexpected type 'NoneType'   File "C:\Program Files\PyMca 5.1.4\PyMca5\PyMcaGui\physics\xrf\XRFMCPyMca.py", line 87, in __browseList
    return self._browseList()
  File "C:\Program Files\PyMca 5.1.4\PyMca5\PyMcaGui\physics\xrf\XRFMCPyMca.py", line 161, in _browseList
    GetFileList._browseList(self, filetypes)
  File "C:\Program Files\PyMca 5.1.4\PyMca5\PyMcaGui\physics\xrf\XRFMCPyMca.py", line 106, in _browseList
    None)

I am trying to test if that old problem where the 64-bit version of xmimsim-pymca could not be spawned by PyMca is still present. It looks good though as I am able to generate the MC Matrix spectrum without problems. If the quantification also works properly I will retire the Windows 32-bit build of XMI-MSIM.

Thanks,

Tom

[QStackWidget] Allow to sum stacks

Besides opening a slave stack, add an option to sum a stack. For the time being the operation will not be made in place and temporarily the amount of memory needed will be doubled. Because of that, perhaps the simplest is to add an option Merge Slave.

Windows build lacks HDF5 SWMR support

Hi Armando,

We have noticed that we cannot open our NXS files that were produced in SWMR mode with the currently available Windows build of PyMca. Since it works fine on our Linux systems which have access to HDF5 1.10.0, I guess the Windows build contains HDF5 1.8.x?

Thanks for looking into this,

Tom

bug in compatibility layer ...

In [1]: from PyMca5.PyMca import MaskImageWidget

API 1 -> Console widget not available

ImportError Traceback (most recent call last)
in ()
----> 1 from PyMca5.PyMca import MaskImageWidget

/usr/lib/python2.7/dist-packages/PyMca5/PyMcaGui/plotting/MaskImageWidget.py in ()
32 import numpy
33 from PyMca5.PyMcaGraph.ctools import pnpoly
---> 34 from . import RGBCorrelatorGraph
35 from . import ColormapDialog
36 qt = RGBCorrelatorGraph.qt

/usr/lib/python2.7/dist-packages/PyMca5/PyMcaGui/plotting/RGBCorrelatorGraph.py in ()
36 from PyMca5.PyMcaGui import PyMcaQt as qt
37 from .PyMca_Icons import IconDict
---> 38 from . import PyMcaPrintPreview
39 from PyMca5.PyMcaCore import PyMcaDirs
40

/usr/lib/python2.7/dist-packages/PyMca5/PyMcaGui/plotting/PyMcaPrintPreview.py in ()
29 copyright = "European Synchrotron Radiation Facility, Grenoble, France"
30 import sys
---> 31 from .. import PyMcaQt as qt
32
33 DEBUG = 0

ImportError: cannot import name PyMcaQt

please distribut fisx vi pypi

It would be a lot (reallly a lot) easier to distribut pymca5 + fisx, if fisx was distribute on it's own.
via pypi indeed.

Problem when I play with the OpenGL "onglet"

for infor my graphic card is OpenGL 1.x only

picca@mordor:~/Debian/main/pymca$ pymca
/usr/lib/python2.7/dist-packages/sklearn/pls.py:7: DeprecationWarning: This module has been moved to cross_decomposition and will be removed in 0.16
"removed in 0.16", DeprecationWarning)
WARNING: fisx features not available
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/PyMca5/PyMcaGui/io/QEdfFileWidget.py", line 682, in widgetSignal
self.graph.removeImage()
TypeError: removeImage() takes at least 2 arguments (1 given)
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/PyMca5/PyMcaGui/io/QEdfFileWidget.py", line 682, in widgetSignal
self.graph.removeImage()
TypeError: removeImage() takes at least 2 arguments (1 given)
WRITE DOMAIN RELOC FAILURE 0x1 6 4
WRITE DOMAIN RELOC FAILURE 0x1 6 4
python: ../../../../../../../src/mesa/drivers/dri/radeon/radeon_fbo.c :451 : radeon_unmap_renderbuffer: l'assertion « ok » a échoué.
Abandon

macOS build does not support HDF5 SWMR

Hi Armando,

One of our users is complaining as they cannot open our SWMR Nexus files with the latest macOS build. I checked and it ships with HDF5 1.8.x. Would it be possible to generate a macOS build with the latest HDF5 libraries?

Many thanks in advance!

[WIP] [Stack Data] Description of data

Stack Data

The PyMca ROI Imaging tool can deal with stacks of data, either images or spectra. At this point, the program does not impose any format nor layout. While this allows PyMca to deal with many different formats, this also hinders its development and the usability of the code. This issue tries to provide an HDF5 based description of the data that can be used as a guide to write files maximizing the amount of information that can be automatically read thus minimizing user interaction.

Goals

  • Provide a way to load a maximum of information into the stack tool.
  • Provide a way to save a maximum of information to the file.
  • Make a system compatible with NeXus while not imposing it.

Design Principles

  • The underlying file format is HDF5.
  • It has to be possible to export/import all the information from/to a single group into an HDF5 file.
  • A name based approach will be used.

Group Layout

The layout of the group will be the following:

group_name
group_name/definition
group_name/definition@version
group_name/definition@URL
group_name/coordinates
group_name/coordinates/x
group_name/coordinates/y
OPTION 1:
group_name/signal[_0]
group_name/signal[_0]/data
group_name/signal[_0]/data@interpretation
group_name/signal[_0]/calibration
group_name/signal[_0]/channels
group_name/signal[_0]/elapsed_time
group_name/signal[_0]/live_time
group_name/signal[_0]/preset_time
OPTION 2:
group_name/signal[_0]
group_name/signal[_0]/data@NX_class=NXdata
group_name/signal[_0]/data/data@interpretation
group_name/signal[_0]/dim_0
group_name/signal[_0]/dim_1
group_name/signal[_0]/dim_2
group_name/signal[_0]/calibration
group_name/signal[_0]/channels
group_name/signal[_0]/elapsed_time
group_name/signal[_0]/live_time
group_name/signal[_0]/preset_time
group_name/info
group_name/info/positioners
group_name/info/positioners/positioner0_name
group_name/info/positioners/positioner1_name
group_name/info/positioners/positioner...
group_name/info/counters
group_name/info/counters/counter0_name
group_name/info/counters/counter1_name
group_name/info/counters/counter...
group_name/info/...
group_name/images
group_name/images/image_name
group_name/images/image_name/data
group_name/images/image_name/dim_0
group_name/images/image_name/dim_1

The conventions followed are:

  • All the paths ending with _name represent a free name
  • As it is currently the case, only a signal is mandatory, although in that case any dataset can be used as it is currently the case.
  • Images are represented as y, x in order to get the rows represented in the vertical axis and the columns in the horizontal axis. Therefore rows and columns correspond to the y and x coordinates respectively.
  • Coordinates have to be either
    - a single value
    - a number of values equal to the number of acquisition points
    - a number of values equal to the corresponding dimension of the signal data.

group_name/coordinates

This optional group contains the coordinates of the positions at which the data were collected.

group_name/signal[_0]

This group is the only mandatory group. It has to be named signal or signal_number where number is an integer. The dataset group_name/signal[_0]/data contains the actually collected data. The attribute "interpretation" can take the values "image" or "spectrum" in order to tell the program we are dealing with a stack of 2D data or a stack of 1D data.

The datasets of the form group_name/signal[_0]/dimX correspond to the values associated to each of the dimensions of the data signal. If they are not specified they will be assumed as ranging from 0 to the dimension size minus 1.

This description supports the possibility to associate a calibration to one axis. For the time being only a polynomial calibration is supported and it is applied to the axis specified by calibration_index dataset specified by channels . Typical values are range(data.shape[0]) for stacks of images and range(data.shape[-1]) for stacks of spectra. Unless the attribute interpretation is set, stacks will be assumed as being stacks of spectra. Channels will most likely be used to indicate the energy associated to each channel of a spectrum or the energy at which each image was collected once the calibration is applied.

group_name/info

The goal of this optional group is to provide information attached to each acquisition point. The information can be textual or numeric. The program will allow the user to get the information associated to each point. The idea is that all the datasets found under the info group having dimension one or dimension equal to the number of acquisition points will be loaded and accessible.

when I close pymca I get an assertion

picca@mordor:~/Debian/main/pymca$ pymca
/usr/lib/python2.7/dist-packages/sklearn/pls.py:7: DeprecationWarning: This module has been moved to cross_decomposition and will be removed in 0.16
"removed in 0.16", DeprecationWarning)
WARNING: fisx features not available
python: malloc.c:4157: malloc_consolidate: Assertion `p->bk_nextsize->fd_nextsize == p' failed.
Abandon

expose PyMca version at import

Hello,

Many users are still using the 4.7 branch (the one on SourceForge) in production and the migration to PyMca5 will take some time. For this reason, I would like to keep in my scripts the compatibility between 5.* and 4.7.* at the import level. It would then be nice to have a fast (=lightweight) way to know which is the current installed PyMca version, for example:

from PyMca import __version__

where __version__ is simply a string. This would be much faster than:

try:
    from PyMca5.PyMca import Something
    HAS_PYMCA5 = True
except:
    from PyMca import Something
    HAS_PYMCA5 = False

in addition, in this case I do not know exactly which is the installed version.

Do you think is possible to include this in the two branches?

Thanks,
Mauro

python3 bug ScanWindow saving Graphics

When saving Graphics PNG/EPS/SVG from ScanWindow under python3.4:

Graphics Saving Error: 'dict_keys' object has no attribute 'sort'

should be simply solved by forcing 'list(dict_keys)'

Mauro

[5.3] Use the silx PrintPreview

Replace the PyMca PrintPreview with the silx one. Print a deprecation warning to transfer maintenance entirely into silx.

NameError when opening Identify Peaks menu

The first time I click on the Tools > Identify Peaks menu after running pymca -f, I get a NameError:

PeakIdentifier.py myslot deprecated, use mySlot
<type 'exceptions.NameError'> global name 'mySlot' is not defined   File "/users/knobel/.local/lib/python2.7/site-packages/PyMca5-5.2.1-py2.7-linux-x86_64.egg/PyMca5/PyMcaGui/pymca/PyMcaMain.py", line 1134, in __peakIdentifier
    self.identifier.myslot()
  File "/users/knobel/.local/lib/python2.7/site-packages/PyMca5-5.2.1-py2.7-linux-x86_64.egg/PyMca5/PyMcaGui/physics/xrf/PeakIdentifier.py", line 162, in myslot
    return mySlot()

[setup] error building 'PyMca5.Object3D.Object3DCTools' extension

Hello,

I have an error building the last (github) version of PyMca:

building 'PyMca5.Object3D.Object3DCTools' extension
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/home/mauro/local/py35/lib/python3.5/site-packages/numpy/core/include -I/home/mauro/local/py35/include -I/usr/include/python3.5m -c PyMca5/Object3D/Object3DCTools/MarchingCubes.c -o build/temp.linux-x86_64-3.5/PyMca5/Object3D/Object3DCTools/MarchingCubes.o
PyMca5/Object3D/Object3DCTools/MarchingCubes.c:48:19: fatal error: GL/gl.h: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Any idea how to solve it?

Basic questions about fitting

It will be great if you can answer some basic questions about pymca. I feel sorry if the questions are kind of scattered.

  1. How did you deal with branching ratio? Did you give users full control of those values, or the ratios are fixed, or calculated based on incident energy? Any recommendations?
  2. Do you only use gaussian functions for different lines of elements, or other kinds of functions are implemented? Can you point out to me the place the functions are included?
  3. Do you assume background functions as polynomial to fit, or just use snip method to remove it directly? Any idea which one works better?
  4. Are the peak width fitted globally(function of energy), or locally (every peak width is independent fitted), or both?
  5. Do you also set the peak position as a fitting parameter? I know we need to do energy calibration first.

Thanks!

Python 3 print preview in SVG bug

Matblotlib saves UTF-8 svg files containing non-ascii characters. When QXmlStreamReader tries to process a python 3 string (unicode) with such characters, I throws an error.

'latin-1' codec can't encode character '\u2212' in position 3157: ordinal not in range(256)   File "/users/knobel/.local/lib/python3.4/site-packages/PyMca5-5.1.4-py3.4-linux-x86_64.egg/PyMca5/PyMcaGui/pymca/ScanWindow.py", line 1360, in printGraph
    self._svgRenderer = self.getSvgRenderer()
  File "/users/knobel/.local/lib/python3.4/site-packages/PyMca5-5.1.4-py3.4-linux-x86_64.egg/PyMca5/PyMcaGui/pymca/ScanWindow.py", line 1554, in getSvgRenderer
    svgRenderer._svgRendererData = qt.QXmlStreamReader(svgData)

To reproduce the bug (requires QSvg to be available):

  • in a terminal: python3 -m PyMca5.PyMca.PyMcaMain
  • in the ScanWindow, unzoom enough to have negative values visible on the X axis (the problematic character is − )
  • open the print preview

error fisx_data directory

Hello,

After a recent update of PyMca (git version) I get the following error at start:

Traceback (most recent call last):
File "/usr/lib/python3.5/runpy.py", line 174, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/lib/python3.5/runpy.py", line 109, in _get_module_details
import(pkg_name)
File "/home/mauro/local/py35/lib/python3.5/site-packages/PyMca5/init.py", line 36, in
from fisx.DataDir import FISX_DATA_DIR
File "/home/mauro/local/py35/lib/python3.5/site-packages/fisx/DataDir.py", line 57, in
raise IOError('%s directory not found' % basename)
OSError: fisx_data directory not found

Any quick fix?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.