XDSGUI: Difference between revisions

Jump to navigation Jump to search
113 bytes added ,  21 June 2021
m
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
XDSGUI is a GUI (graphical user interface) for XDS that is supposed to help both novice and experienced users.  
XDSGUI is a GUI (graphical user interface) for XDS that is supposed to help both novice and experienced users.  
It graphically displays the ASCII and [http://www.bernstein-plus-sons.com/software/CBF cbf] files that XDS writes, and can run useful shell commands with a simple mouse click. The design goal of the program is to enable XDS data processing without the commandline, and to supply additional graphical information, in a simple, user-modifiable and user-extensible way.
It graphically displays the ASCII and [http://www.bernstein-plus-sons.com/software/CBF cbf] files that XDS writes, and can run useful shell commands with a simple mouse click. The design goal of the program is to enable XDS data processing without the commandline, and to supply additional graphical information, in a simple, user-modifiable and user-extensible way.
Line 20: Line 21:
=== Technical aspects of XDSGUI usage ===
=== Technical aspects of XDSGUI usage ===


* the simple editor operating in the XDS.INP, XDSCONV and XSCALE tabs understands ctrl-X (cut), ctrl-c (copy), ctrl-v (paste), ctrl-z (undo) and ctrl-Z (redo).  
* the simple editor operating in the tabs understands ctrl-X (cut), ctrl-c (copy), ctrl-v (paste), ctrl-z (undo) and ctrl-Z (redo).
* ctrl-+ (control-plus) and ctrl-- (control-minus) enlarge or decrease the font size of characters.
* ctrl-+ (control-plus) and ctrl-- (control-minus) enlarge or decrease the font size of characters.
* flexibility of operation: all commands in the ''tools'' tab may be modified by the user, simply by modifying the (bash) code in the text field below the button. The user-changed command is automagically and permanently stored in ~/.xds-gui . The user may also change what is written on a button, by editing ~/.xds-gui.
* flexibility of operation: all commands in the ''tools'' tab may be modified by the user, simply by modifying the (bash) code in the text field below the button. The user-changed command is automagically and permanently stored in ~/.xds-gui . The user may also change what is written on a button, by editing ~/.xds-gui. It should be obvious what to change.
* Menu / Settings is used for setting "Paths" for binaries (xds_par, xscale_par, shelxc/d/e, ...), and "Appearance" (font size and default plot height). "generic Library" (typically /usr/local/lib64/dectris-neggia.so) should currently not be filled out, due to a bug.
* Menu / Settings is used for setting the name of a "generic library" (e.g. /usr/local/lib64/dectris-neggia.so) for reading HDF5 files, "Paths" for binaries (xds_par, xscale_par, shelxc/d/e, ...), and "Appearance" (font size and default plot height). The Settings menu can be opened on the Mac by going to "Preferences", or pressing the "Command" () key and the "," key.


== Tabs ==
== Tabs ==
Line 138: Line 139:
=== Installation ===
=== Installation ===


The program can be downloaded, by academic users, as Qt5 binary for Linux [https://{{SERVERNAME}}/pub/linux_bin/xdsgui 64bit] (compiled on RHEL6) and as Qt4 binary for [https://{{SERVERNAME}}/pub/xdsgui_qt4.dmg Mac] (works on OSX 10.6 and up). A Qt4 version is available for [https://{{SERVERNAME}}/pub/linux_bin/xdsgui.qt4 old Linux distributions] and a Qt5 version for [https://{{SERVERNAME}}/pub/mac_bin/xdsgui_qt5.dmg latest MacOS] is also available; these may have to be renamed.
The program can be downloaded, by academic users, as Qt5 binary for Linux [https://{{SERVERNAME}}/pub/linux_bin/xdsgui 64bit] (compiled on RHEL6) and as Qt4 binary for [https://{{SERVERNAME}}/pub/xdsgui_qt4.dmg Mac] (works on OSX 10.6 and up). A Qt4 version is available for [https://{{SERVERNAME}}/pub/linux_bin/xdsgui.qt4 old Linux distributions] and a Qt5 version for [https://{{SERVERNAME}}/pub/mac_bin/xdsgui_qt5.dmg latest MacOS] is also available.


Industrial users: pls contact me directly.
Industrial users: pls contact me directly.
Line 144: Line 145:
The easiest way to install XDSGUI, and all XDSGUI-related programs is documented in [[Installation]].
The easiest way to install XDSGUI, and all XDSGUI-related programs is documented in [[Installation]].


Alternatively, in case of '''Linux''', after downloading the binary file, its name should be changed to "xdsgui" and then be made executable ("chmod a+x xdsgui"). The binary may then be copied into e.g. the directory /usr/local/bin by the administrator, or to the $HOME/bin directory by the user. Any other directory should be suitable as long as it is in your $PATH. In case of a '''Mac''', the DMG file may be installed in the usual way, by double-clicking it and dragging the icon into the Applications folder. '''It is advantageous to place a symbolic link, like'''
If you want to install manually, in case of Linux, after downloading the binary file, its name should be changed to "xdsgui" and then be made executable ("chmod a+x xdsgui"). The binary may then be copied into e.g. the directory /usr/local/bin by the administrator, or to the $HOME/bin directory by the user. Any other directory should be suitable as long as it is in your $PATH. In case of MacOS, the DMG file may be installed in the usual way, by double-clicking it and dragging the icon into the Applications folder. It is advantageous to place a symbolic link, like
  sudo ln -s /Applications/xdsgui.app/Contents/MacOS/xdsgui /usr/local/bin/xdsgui
  sudo ln -s /Applications/xdsgui.app/Contents/MacOS/xdsgui /usr/local/bin/xdsgui
'''and to start the GUI from a terminal window, by typing xdsgui'''. In a similar way, XDS-viewer should be put into the $PATH under the name xds-viewer, e.g. using
'''and to start the GUI from a terminal window, by typing xdsgui'''. In a similar way, XDS-viewer should be put into the $PATH under the name xds-viewer, e.g. using
Line 150: Line 151:


==== Libraries and software that the program depends on ====
==== Libraries and software that the program depends on ====
In case of '''Fedora''' or Redhat Enterprise Linux ('''RHEL'''; same as CentOS) distributions, you may have to
 
yum install qt qt-x11
If on Linux you get an error message like
if you get the error message
  xdsgui: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory
  xdsgui: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory
or similar for libQtCore.so.4 or libQtOpenGL.so.4 .
or similar for libQtCore.so.4 or libQtOpenGL.so.4 , you may rather want to install the Qt5 version which is now the default.
 
RedHat Enterprise Linux 8 (CentOS 8) does not provide the needed libraries for the Qt4-based xdsgui binary. For such new distributions, you should install the new Qt5 xdsgui binary linked above.


'''Ubuntu''' needs the libglu1-mesa package if you get the error message
Procedures for identifying and installing missing libraries are shown in the [[Installation#tools_and_helper_programs_for_generate_XDS.INP_and_XDSGUI.2C_and_libraries|Installation]] article.
xdsgui: error while loading shared libraries: libGLU.so.1: cannot open shared object file: No such file or directory


On the '''Mac''' (e.g. Yosemite) one needs [https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 Xcode] installed. Otherwise one may obtain a popup error “You can’t open the application because it is not supported on this type of Mac.” After installation of Xcode, run the <code>strings</code> command (once) and accept the license agreement!
On the '''Mac''' (e.g. Yosemite) one needs the (free) [https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 Xcode] command line tools installed. Otherwise one may obtain a popup error like “You can’t open the application because it is not supported on this type of Mac.”


== Known bugs, problems and workarounds ==
== Known bugs, problems and workarounds ==
# ''Question: the program prints'' <code> Object::connect: No such signal XdsconvTab::signalSetTabEnabled(QWidget*,bool) Object::connect:  (sender name:  'xdsconv') Object::connect:  (receiver name: 'tabWidget')</code> ''What's wrong?'' Answer: nothing is wrong. Just ignore this; it's a debugging output.
# ''Question concerning TOOLS: "Show frame..."  on Mac: it creates everything shown in the commandline but it seem to us that everything runs in the background. Therefore xds-viewer does not open anywhere as it is not seen. Also, it would be great if this image together with the predictions would be re-directed to the FRAME tab.'' <br> Answer: On Linux, the xds-viewer window is brought to the foreground automatically, whereas on the Mac this does not seem to happen. However, an icon for xds-viewer appears in the dock (on the right) and I can double-click it to see the xds-viewer window. I have no idea how to bring xds-viewer to the foreground automatically, and I need input from people who know Macs and tell me how to do it. The reason why we do not open automatically in the FRAME tab is that one can have several xds-viewer windows open at the same time, and compare the patterns. As a '''workaround''', you can manually open the resulting temp/FRAME_$X.cbf in the FRAME tab.
# ''Question concerning TOOLS: "Show frame..."  on Mac: it creates everything shown in the commandline but it seem to us that everything runs in the background. Therefore xds-viewer does not open anywhere as it is not seen. Also, it would be great if this image together with the predictions would be re-directed to the FRAME tab.'' <br> Answer: On Linux, the xds-viewer window is brought to the foreground automatically, whereas on the Mac this does not seem to happen. However, an icon for xds-viewer appears in the dock (on the right) and I can double-click it to see the xds-viewer window. I have no idea how to bring xds-viewer to the foreground automatically, and I need input from people who know Macs and tell me how to do it. The reason why we do not open automatically in the FRAME tab is that one can have several xds-viewer windows open at the same time, and compare the patterns. As a '''workaround''', you can manually open the resulting temp/FRAME_$X.cbf in the FRAME tab.
# ''Another question concerning TOOLS: "Further analyses" on Mac: again pointless runs nicely but there is no output for the user.'' <br> Answer: Could it be that you started xdsgui by double-clicking its icon in the Finder? In that case, there is no output visible, because there is no console. Unfortunately, for all the Tools, the output is in the console window where xdsgui was started. Thus, you should really start xdsgui in a console window.
# ''Another question concerning TOOLS: "Further analyses" on Mac: again pointless runs nicely but there is no output for the user.'' <br> Answer: Could it be that you started xdsgui by double-clicking its icon in the Finder? In that case, there is no output visible, because there is no console. Unfortunately, for all the Tools, the output is in the console window where xdsgui was started. Thus, you should really start xdsgui in a console window.
Line 171: Line 169:
# there is a bug in XDSGUI that prevents it from displaying .h5 files. The symptom is that the frames appear to be blank. The workaround is: go to (upper left) "Menu"->"Settings"->remove the string "/usr/local/lib64/dectris-neggia.so" from "generic library", and install <code>H5ToXds</code> or <code>hdf2mini-cbf</code> as explained above.
# there is a bug in XDSGUI that prevents it from displaying .h5 files. The symptom is that the frames appear to be blank. The workaround is: go to (upper left) "Menu"->"Settings"->remove the string "/usr/local/lib64/dectris-neggia.so" from "generic library", and install <code>H5ToXds</code> or <code>hdf2mini-cbf</code> as explained above.


If you find a bug, please send email to Kay dot Diederichs at uni-konstanz dot de , with enough information/data to reproduce the bug.
If you find a bug, please send email to Kay dot Diederichs at uni-konstanz dot de , with enough information/data to reproduce the bug ("it does not work" is not enough!).


== Limitations ==
== Limitations ==
2,652

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu