Changelog
2018-06-20 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump to v0.9.0-post
2018-06-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/static/VirusDataAnalysisTool.qch: make sure that the offline docs
are up-to-date
* setup.py: prepare for release v0.9.0
* ReleaseNotes.rst: same
2018-06-20 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/collapse_tree into ^/trunk
* ReleaseNotes.rst: add rst links to issues
2018-06-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: when showing the reduction browser the first
time, collapse all if the tree is too long; resolves #1343
* tests/test_gui/test_tree_view.py: try to test it
* doc/_source/gui/tree_view.rst: add a note about it
* ReleaseNotes.rst: update
2018-06-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: better action name
* doc/_source/_static/menubar_view.png: update screenshot
* doc/_source/gui/menu_bar.rst: document the change; resolves issue #2476
2018-06-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/mainwindow.py: connect the new menu actions with the tree view
slots to expand and collapse; second part of issue #2476
* tests/test_gui/test_mainwindow.py: test it
* tests/test_gui/conftest.py: move fixtures here
* tests/test_gui/test_tree_view.py: from here
2018-06-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: add a menu with tree view actions; first part
of #2476
* vdat/gui/menubar.py: add it to the menu bar and re-emit the new signals
* tests/test_gui/test_menus_actions.py: test the changes
* tests/test_gui/test_menubar.py: same
2018-06-18 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/index.rst: add ReadTheDocs link and logo, add release notes
* doc/_source/release_notes.rst: same
* ReleaseNotes.rst: convert to rst
2018-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: makes pyds9 optional as it has always meant to be (blame
ReadTheDocs)
* doc/_source/install.rst: update the docs
* vdat/gui/tabs/ifu_viewer.py: improve the message when ds9 is not installed
* tests/test_gui/test_tabs/test_ifu_viewer.py: update the tests
* tox.ini: install pyds9
* requirements_rtd.txt: don't install pyds9 on ReadTheDocs
2018-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* requirements_rtd.txt: install pyds9
2018-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* readthedocs.yml: disable conda
* requirements_rtd.txt: install pyqt5
2018-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/qtpy into ^/trunk
2018-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/install.rst: add info about qtpy and the Qt backends. Resolves
issue #2259
* doc/_source/contributions.rst: same
* doc/_source/conf.py: add link to issues
2018-06-13 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: PySide2 is not supported by some dependency
* vdat/gui/menus_actions.py: add NOTE about pyqtProperty.deleter
2018-06-12 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: pyside crashes, use pyqt4 on py34
2018-06-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: super initializiation
* vdat/gui/queue.py: invert class inheritance order
* vdat/gui/tabs/ifu_widget.py: same
* tests/test_gui/test_queue.py: add sleep to make tests more reliable
* tests/test_gui/test_tabs/test_ifu_widget.py: relax test
* tests/test_gui/test_tabs/test_tab_widget.py: work around a test problem
2018-06-11 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: py27 tests PyQt4
* tests/test_gui/conftest.py: fix problems with PyQt4
* tests/test_gui/test_help_window.py: same
* tests/test_gui/test_tabs/test_ifu_viewer.py: same
2018-06-09 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_help_window.py: fix import
* tests/test_gui/test_mainwindow.py: same
* tests/test_gui/test_tabs/test_ifu_widget.py: same
* tests/test_gui/test_tree_view.py: same
* vdat/gui/tabs/ifu_widget.py: same
* tox.ini: add variable needed to run the tests
2018-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: use qtpy>=1.1
* vdat/gui/*.py: pyqt{Signal,Slot,Property} lost a ``pyqt``
* tests/test_gui/test_central.py: same
* vdat/gui/tabs/ifu_widget.py: same and fix one Q-stuff
2018-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* pytest.ini: remove qt_api
* tox.ini: same
* tests/conftest.py: remove sip calls
* tests/test_gui/*py: move to qtpy; second part of #2259
2018-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: remove also all sip calls
* vdat/gui/queue.py: remove non used import
2018-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: get rid of the pyqt4 tester and add qtpy as dependency
* tox.ini: install pyqt5 and don't symlink pyqt in the virtual environment
* vdat/gui: convert documentation to PyQt5 and use qtpy; first part of #2259
* vdat/command_interpreter/signals.py: update comments accordingly
2018-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/symlink into ^/trunk
2018-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/symlink
2018-06-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: if required, replace the symlinks; resolves issue
#2587
* vdat/config/vdat_setting.cfg: add the corresponding option
* tests/test_libvdat/test_symlink.py: test the change
* tests/test_gui/test_mainwidget.py: update the tests
* doc/_source/dirstruct.rst: update
* ReleaseNotes.md: udpate
2018-06-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: add possibility to do relative symlinking;
resolves #2437
* vdat/config/vdat_setting.cfg: add the option
* vdat/libvdat/vdat.py: and expose it to the command line
* vdat/config/versions.py: bump the config version
* doc/_source/dirstruct.rst: document the change
* tests/test_libvdat/test_symlink.py: test the changes
* tests/test_gui/test_mainwidget.py: same
* tests/test_config/test_versions.py: same
* ReleaseNotes.md: update
2018-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: add module docstring
* vdat/gui/tabs/ifu_widget.py: fix typo
2018-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* tests/conftest.py: add configuration option and fixture for the extra
data files
* tests/test_ci/test_command_interpreter.py: use the new fixture
* tests/test_gui/test_tabs/test_ifu_widget.py: same
* doc/_source/contributions.rst: document the new extra test data repository
2018-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* tests/data/raw: remove it to speedup checkouts
2018-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* readthedocs.yml: install vdat as ocd, but in conda
* requirements_rtd.txt: install pyhetdex from extra index
* environment.yml: remove pip dependences
2018-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* environment.yml: get matplotlib from conda, use quotes for the pip
options, cleanup pip packages
2018-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* environment.yml: remove conda dependency
2018-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* environment.yml: remove the prefix at the end of the file
2018-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* environment.yml: conda environment file
* readthedocs.yml: tell readthedocs to use the above file
* vdat/gui/tabs/ifu_viewer.py: if pyds9 is not importable, deal with it
* doc/_source/install.rst: removed non used footnotes
2018-06-05 Francesco Montesano <montefra@mpe.mpg.de>
* LICENSE_cc: added
* doc/_source/license.rst: add licence
* doc/_source/index.rst: add notice
* vdat/gui/mainwindow.py: PEP8
2018-05-08 Francesco Montesano <montefra@mpe.mpg.de>
* LICENSE_fdl1.3: added
* LICENSE_gpl3: added
* doc/_source/license.rst: add licenses, resolves issue #1757
* doc/_source/index.rst: add copyright notice
* vdat/**.py: same
* doc/_source/command_interpreter.rst: fix typo
2018-05-08 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/logs into ^/trunk
2018-05-08 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/menu_bar.rst: add section about the log menu. Resolves
issue #2474
* doc/_source/_static/menubar_log*.png: add new screenshot
* doc/_source/_static/menubar_log_window.png
* doc/_source/_static/menubar_*.png: update existing ones
* vdat/gui/static/VirusDataAnalysisTool.qch: update
* vdat/gui/menus_actions.py: update docs and log window button
* ReleaseNotes.md: update
2018-05-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: add refresh button. Third part of issue #2474
* tests/test_gui/test_menus_actions.py: test the changes
2018-05-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: open read-only text window to display a log
file. Second part of issue #2474
* tests/test_gui/test_menus_actions.py:
2018-05-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: add actions to open log files (callback not yet
implemented). First part of issue #2474
* vdat/gui/menubar.py: change an import
* tests/test_gui/test_menus_actions.py: test it
* tests/test_gui/test_menubar.py: same
2018-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: the level of the message printed out at
the end of the run method depend on the success of the command executions;
resolves #2547
* tests/test_ci/test_command_interpreter.py: test it
* ReleaseNotes.md: update
2018-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: create a menu entry for the logs and an action
to clear the log widget; resolves issue #2444
* vdat/gui/menubar.py: plug it into the menu bar
* vdat/gui/mainwindow.py: and connect the signals
* tests/test_gui/test_menubar.py: test the signals
* tests/test_gui/test_mainwindow.py: and the connections
* ReleaseNotes.md: update
2018-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/logger_widget.py: make sure to append the new log message;
resolves issue #1764; improve docs and cleanup unused code
* tests/test_gui/test_logger_widget.py: test the widget
* doc/_source/codedoc/gui/logger_widget.rst: add the module in the docs
* doc/_source/codedoc/gui/index.rst: and in the index
* ReleaseNotes.md: update
2018-04-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/static/VirusDataAnalysisTool.qch: update the offline documentation
* vdat/gui/static/VirusDataAnalysisTool.qhc: same
2018-04-13 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/display_distortion into ^/trunk
2018-04-12 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_tabs/test_ifu_widget.py: makes sure to end the
QPainter to avoid coredumps
2018-04-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: use the fits_multiext to display fiber model.
Resolves #2371
* ReleaseNotes.md: add changes
2018-04-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add extension to tab name
* doc/_source/gui/main_panel.rst: document the fits_multiext tab type (fifth
part of #2371)
* doc/_source/gui/ifu_viewer.rst: and the changes to the FITS viewer
* doc/_source/_static/fits_viewer_ext.png: add screenshot
* doc/_source/_static/fplane_fits_multiext.png: same
2018-04-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: display in ginga one extension and send the
same extension to DS9 (fourth part of #2371). Fix bug with badly named
variables
* tests/test_gui/test_tabs/test_ifu_viewer.py
* vdat/utilities.py: deal with itertools name changes in python2/3
2018-04-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: add ``ext`` in the formatting dictionary
(third part of #2371)
* tests/test_gui/test_fplane.py: make sure that it works
2018-04-12 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add the fits_multiext tab type
* vdat/gui/tabs/entry_points.py: its entry point implementation
* vdat/gui/tabs/tab_widget.py: its tab implementation
* vdat/gui/tabs/ifu_widget.py: and its ifu implementation
* tests/test_gui/test_fplane.py: test it
* tests/test_gui/test_tabs/test_ifu_widget.py: same
* tests/test_list_plugins.py: update accordingly
2018-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: create thumbnail also for multi extension files (first
part of #2371)
* tests/data/mastertwi_L.fmod: add a test file
* tests/test_gui/conftest.py: and a fixture about it
* tests/test_gui/test_gui_utils.py: and test the changes
2018-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^trunk into ^/branches/display_distortion
2018-03-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: add the dist tab (properly resolving #2386)
* vdat/config/versions.py: bump the task minor version
2018-03-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: fix docstring
* vdat/gui/tabs/ifu_widget.py: add rescaling of fonts in QImage
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* doc/_source/gui/main_panel.rst: document the new dist tab type. Resolves
issue #2386
* doc/_source/gui/ifu_viewer.rst: document the new dist window
* doc/_source/_static/dist_viewer.png: add screenshot
* doc/_source/_static/fplane_dist.png: same
2018-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add possibility to send only the region to an
existing ds9 frame
* tests/test_gui/test_tabs/test_ifu_viewer.py: test the changes
2018-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/utilities.py: add a chunk iterator
* vdat/gui/tabs/ifu_viewer.py: send a chunk of regions at a time to speed it
up; add spinning wheel (eighth part of #2386)
* tests/test_gui/test_tabs/test_ifu_viewer.py: test it
* tests/test_utilities.py: same
2018-03-20 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_tabs/test_ifu_widget.py: better isolate tests
2018-03-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: the DS9 menu must not add a new frame
* tests/test_gui/test_tabs/test_ifu_viewer.py: update the tests
2018-03-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: on double click, open a DistWindow (seventh
part of #2386)
* vdat/gui/tabs/ifu_viewer.py: small improvements
* tests/test_gui/test_tabs/test_ifu_widget.py: test the double clicking
2018-03-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add DistWindow (sixth part of #2386)
* tests/test_gui/test_tabs/test_ifu_viewer.py: test the changes
* tests/test_gui/conftest.py: move around fixures
* tests/test_gui/test_tabs/test_ifu_widget.py: same
* tests/data/mastertwi_L.dist.reg: add an example region file
2018-03-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: extract the ds9 menu from the fits window
(fifth part of #2386)
* tests/test_gui/test_tabs/test_ifu_viewer.py: update accordingly
2018-03-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: add an IFU widget to display distortion files
(fourth part of #2386)
* vdat/gui/tabs/tab_widget.py: use it
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* tests/test_gui/test_fplane.py: extend a bit the test
* tests/data/mastertwi_L.dist: add a test distortion file
2018-03-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: fix bug introduced by the new IFU class
* tests/test_gui/test_tabs/test_ifu_widget.py: add regression test
* pytest.ini: strict xfait
2018-03-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: modify the IFUFitsWidget using the new class
(third part of #2386)
* tests/test_gui/test_tabs/test_ifu_widget.py: modify the tests accordingly
2018-03-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: refactor the code to create a grid of images
in the IFU (second part of #2386)
2018-03-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: isolate the thumbnail item class
2018-03-01 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add the new dist tab type (first part of issue #2386)
* vdat/gui/tabs/entry_points.py: and it's interface
* vdat/gui/tabs/tab_widget.py: and a first, non working, version to the tab
type
* tests/test_gui/test_fplane.py: test the changes
* tests/test_list_plugins.py: same
2018-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: simplify the make cube step definition
2018-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/all_files_primary into ^/trunk
2018-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: add an example command using ``all_files``.
Resolves #2443.
* vdat/config/tasks.yml: add a task using the above command
* doc/_source/command_interpreter.rst: add note about ``all_files`` and
``filter_selected``
* tests/test_libvdat/test_loggers.py: update tests
2018-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_interpreter.rst: document the ``all_files`` primary
type (second part of #2443)
2018-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add the new ``all_files`` primary type (first part of #2443)
* vdat/command_interpreter/types.py: implement it
* tests/test_ci/test_types.py: test the changes
2018-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/datacube into ^/trunk
2018-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/main_panel.rst: describe the new tab type (resolves issue
#2370)
* doc/_source/_static/fplane_fits_cube.png: add a screen shot
* doc/_source/gui/ifu_viewer.rst: add some small information about data
cubes
* vdat/gui/tabs/entry_points.py: fix the docs
* ReleaseNotes.md: update
2018-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: pep8
* vdat/gui/tabs/ifu_viewer.py: when displaying a 3d fits, set the image to
the nanmedia of the z_indx (if available) or of the whole range (fourth
part of #2370)
* tests/test_gui/test_tabs/test_ifu_viewer.py: test the changes
2018-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: add z_indx in the thumbnail name (third part
of #2370)
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* vdat/config/tasks.yml: use the new fits_cube tab type and add some example
of z_indx
2018-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add fits_cube tab type entry point (second part of #2370)
* vdat/gui/tabs/entry_points.py: and its implementation
* vdat/gui/tabs/tab_widget.py: the corresponding tab type
* vdat/gui/tabs/ifu_widget.py: and ifu widget
* tests/test_gui/test_fplane.py: test the changes
* tests/test_gui/test_gui_utils.py: same
* tests/test_gui/test_tabs/test_ifu_widget.py: same
* tests/test_list_plugins.py: same
* tests/test_gui/conftest.py: same
* vdat/exceptions.py: add VDAT exceptions
* doc/_source/codedoc/exceptions.rst: add them to the documentation
* doc/_source/codedoc/index.rst: same
* doc/Makefile: rebuild also if something in vdat/ changes
2018-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: add support for data cube thumbnail creation
* tests/data/CuFeSpdsses_084.fits: add datacube example
* tests/test_gui/test_gui_utils.py: add tests for datacube
2018-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/datacube
2018-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: add command to make cubes; resolves #2390
* vdat/config/tasks.yml: add task to run and visualise it
* vdat/config/versions.py: update the version
* ReleaseNotes.md: update
* tests/test_libvdat/test_loggers.py: update the tests
2018-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: fix missing pointer
* vdat/database/base.py: something changed on peewee/sqlite, threadsafe
option doesn't work anymore
* vdat/database/check.py: missing columns now raise an AttributeError
* vdat/libvdat/symlink.py: same
* tests/test_database.py: update the tests
* tests/test_gui/test_queue.py: update according to the primary key changes
* tests/test_gui/test_tree_view.py: make the tooltip change more stable
2018-04-09 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/extract_fibers into ^/trunk
2018-04-09 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
2018-03-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: use previous commit to define a single
fiberextract command and add extraction of master files. Resolves issue
#2441
* vdat/config/tasks.yml: add fiber extraction in the cal tabs
2018-03-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: make primary accept also a list.
Resolves issue #2454
* doc/_source/command_interpreter.rst: update the documentation
* tests/test_ci/test_command_interpreter.py: and the tests
* tests/conftest.py: set the caplog logger level to DEBUG
2018-03-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: add command to extract fibers from pre-sky
subtracted images
* vdat/config/tasks.yml: add the buttons and the tabs in the fiber
extraction task
* vdat/config/versions.py: bump the versions
2018-03-05 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/vdat_commands.yml: Replace flatfits call for
mastertwi / masterflat with meanflat
2018-03-02 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/tasks.yml: Use perrow overscan subtraction
* vdat/config/vdat_commands.yml: Use perrow overscan subtraction
2018-02-27 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/display_distortion
2018-02-27 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/simplefits into ^/trunk
2018-02-27 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add a ``exp_fits`` and ``fits`` tab type plugin
* vdat/gui/tabs/entry_points.py: and their implementation; resolves #2389
* tests/test_gui/test_fplane.py: test it
* tests/test_list_plugins.py: same
* doc/_source/gui/main_panel.rst
* ReleaseNotes.md
2018-02-20 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/resize/ into ^/trunk
2018-02-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add splitter between the ginga fits viewer
and the fits header keys list (resolves issue #2350)
* ReleaseNotes.md: update
2018-02-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: add splitter between fplane and task list, allow to
make fplane small (resolves issue #2326)
* vdat/gui/mainwindow.py: allow slightly smaller VDAT window
* ReleaseNotes.md: update
2017-12-13 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: use pytest>3.3 and remove pytest-catchlog. Resolves #2257
* setup.py: same
* doc/source/install.rst: update accordingly
* doc/Makefile: open the browser
* doc/source/contributions.rst: update accordingly
2017-10-20 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.8.0-post
2017-10-20 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: set version 0.8.0
* ReleaseNotes.md: same
* vdat/gui/static/VirusDataAnalysisTool.qch: update documentation
* vdat/gui/static/VirusDataAnalysisTool.qhc: same
2017-10-20 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/conftest.py: better parametrization of the fplane_file
fixture
* tests/test_gui/test_tabs/test_ifu_widget.py: make test pass properly
2017-10-20 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/text_file_tab in ^/trunk
2017-10-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: add text_file tabs for the detect action
2017-10-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: don't set icons, apparently doesn't work on mac...
* vdat/gui/static/icons: remove the icons
* vdat/gui/tabs/ifu_viewer.py: don't do line wraps
2017-10-18 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk in ^/branches/text_file_tab
2017-10-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: add text_file tab for the dither file
2017-10-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/static/icons: add a subset of the "macOS Icons" icons
https://store.kde.org/p/1102582/
* vdat/gui/__init__.py: if the theme name is not set, set it to the above
name. Resolves issue #2133
2017-09-27 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/conftest.py: update fixture
* tests/test_gui/test_tabs/test_ifu_viewer.py: 100% coverage of the
ifu_viewer module
* vdat/gui/tabs/ifu_viewer.py: make some little change to allow testing
2017-09-26 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/_static/fits_viewer.png: update screenshot
* doc/_source/_static/text_file_viewer.png: same
2017-09-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add the quit and help menu to the ifu viewer
windows
2017-09-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menubar.py: plug the Help menu and get rid of the unnecessary
signals
* vdat/gui/mainwindow.py: remove slots and connection incorporated into the
Help menu. Second part of issue #2135
* vdat/gui/help_window.py: set reasonable size for the help window
* tests/test_gui/test_mainwindow.py: remove tests
2017-09-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: isolate the help menu for better reusability.
First part of issue #2135
* tests/test_gui/test_menus_actions.py: test it
2017-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/ifu_viewer.rst: describe the new text file window
* doc/_source/gui/main_panel.rst: finish documentation of the text file tab
* doc/_source/_static/fplane_text_file.png: add screenshot
* doc/_source/_static/text_file_viewer.png: same
2017-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: if the file exists, open it in the file
editor
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
2017-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add basic text editor
* tests/test_gui/test_tabs/test_ifu_viewer.py: test it
2017-09-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: create QuitAction
* vdat/gui/menubar.py: use it
* tests/test_gui/test_menus_actions.py: test it
2017-09-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: prepare al image with the number of lines
* vdat/gui/tabs/tab_widget.py: no need to add the cleanup method
* tests/test_gui/test_tabs/test_ifu_widget.py: test the changes
* tests/test_gui/test_tabs/test_tab_widget.py: the fake IFU are not needed
2017-09-13 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add text_file tab plugin. First part of issue #2108
* vdat/gui/tabs/entry_points.py: implement the entry point for text_file
* vdat/gui/tabs/tab_widget.py: implement the tab type (I think that it's
everything that we need)
* vdat/gui/tabs/ifu_widget.py: implement the setup method of the ifu widget.
It still doesn't display anything
* doc/_source/gui/main_panel.rst: begin documenting the changes
* tests/test_gui/test_fplane.py: test the new plugin
* tests/test_gui/test_tabs/test_ifu_widget.py: test the initialisation and
setup of the new ifu widget
* tests/test_gui/test_tabs/test_tab_widget.py: test the new tab widget
* tests/test_list_plugins.py: update the number of plugins
2017-10-11 Niv Drory <drory@astro.as.utexas.edu>
* config/vdat_commands.yml (subtract_os): remove deceptively evil -s flag.
2017-10-04 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/exclude_ifus into ^/trunk
2017-10-04 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/main_panel.rst: add some info about the fplane file
2017-09-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: add option to respect empty columns and rows
when displaying the focal plane. Resolves issue #2139
* vdat/gui/tabs/tab_widget.py: use it
* vdat/gui/central.py: exclude the IFUs also in the main part of the gui
* tests/test_gui/conftest.py: adapt the tests
* tests/test_gui/test_tabs/test_tab_widget.py: same
2017-09-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: add option to ignore IFUSLOT. Resolves
issue #2138
* vdat/config/versions.py: bump the vdat_setting.cfg version to 1.1.0
* vdat/gui/tabs/tab_widget.py: propagate the above option to the focal plane
in the GUI
* tests/test_config/test_versions.py: update the versions
2017-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/fplane.txt: forgot to copy the updated fplane file (updated
from fplane20170202.txt in the virus_config repo)
2017-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/fplane_map into ^/trunk
* vdat/gui/static/VirusDataAnalysisTool.qch: update
* vdat/gui/static/VirusDataAnalysisTool.qhc: same
2017-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: use the fplane_map type
* vdat/config/tasks.yml: update the commands to use it
* vdat/config/versions.py: update the version
2017-09-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add the fplane_map type. Resolves issue
#2115
* doc/_source/command_interpreter.rst: document it
* setup.py: advertise it
* tests/test_ci/test_types.py: test it
2017-09-09 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tasks.yml: Fixed mistake which caused some
tabs to be repeated
2017-09-07 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/vdat_commands.yml: Fixed fiberextract mandatories
2017-09-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: correct the dither_file executable call
* vdat/config/vdat_commands.yml: same
2017-09-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: fix typo in variable name (modelbalse ->
modelbase in the mkdither command)
* vdat/config/tasks.yml: fix the above type, fix error in Fiber extracted
tab title
2017-08-22 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/vdat_commands.yml: Update filename prefixes and
pixelflat filenames.
deformer step creates dists/fmods for flat and twilight.
flatnorm runs for flat and twilight models.
* vdat/config/tasks.yml: Moved pixelflat step before ccdcombine
Added buttons to use twilight dist/fmod for skysubtraction and
fiberextract
2017-08-21 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/vdat_commands.yml: pixflat_lib dir defaults to ./pixel_lib
* vdat/config/tasks.yml: Use pixelflats by default
2017-08-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/tasks.yml: Use master twilight frames for deformer
2017-08-16 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.7.0-post
2017-08-16 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: require pyhetdex 0.12.0, bump version to 0.7.0
* ReleaseNotes.md: update
* tox.ini: remove devel pyhetdex version dependency
* vdat/gui/static/VirusDataAnalysisTool.qch: update
* vdat/gui/static/VirusDataAnalysisTool.qhc: same
2017-08-16 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/next_pyhetdex/ into ^/trunk
2017-08-11 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_libvdat/test_loggers.py: fix number of log files created
2017-08-11 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/versions.py: Bumped version numbers
* vdat/config/tasks.yml: More pipeline updates
* vdat/config/vdat_commands.yml: Same
2017-08-09 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/vdat_commands.yml: Use library bias and dark frames
* vdat/config/tasks.yml: Same
* vdat/libvdat/vdat.py: Fixed multiprocessing on OS X
2017-04-20 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_gui_utils.py: get rid of warnings
* tests/test_libvdat/test_symlink.py: same
* vdat/gui/utils.py: same
* tests/test_gui/test_tabs/test_ifu_widget.py: improve float comparison
2017-08-16 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: re-add cov-init, use devel version of pyhetdex everywhere
2017-07-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: use new pyhetdex.tools.db_helpers module
* vdat/libvdat/symlink.py: same
* tests/test_database.py: remove unnecessary tests
* vdat/database/__init__.py: remove unnecessary imports
2017-06-28 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: add python 3.6
* vdat/config/entry_point.py: use pyhetdex functions. Resolves issue #1964
* tests/test_config/test_entry_point.py: update the tests
2017-06-26 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: depends on configparser on python 2
* tox.ini: use devel pyhetdex
* vdat/config/core.py: use configparser; resolves #1983
* vdat/config/versions.py: same
* vdat/gui/menubar.py: same
* vdat/gui/utils.py: same
* vdat/libvdat/vdat.py: same
* tests/test_gui/test_gui_utils.py: same, get rid of warnings
* tests/test_gui/test_mainwindow.py: same
* tests/test_gui/test_tree_view.py: same
* tests/test_libvdat/test_loggers.py: same
* tests/test_libvdat/test_symlink.py: same
* tests/test_libvdat/test_vdat.py: same
2017-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to v0.6.1-post
2017-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: prepare for v0.6.1 release
* ReleaseNotes.md: same
2017-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: use pyhetdex override_conf instead of its own
implementation. Resolves issue #1850
* tests/test_config/test_core.py: update tests
2017-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/peewee_connect into ^/trunk
2017-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_mainwidget.py: wrap every database query/modification
within a connection. Solved issue #1897
* tests/test_gui/test_menubar.py: same
* tests/test_gui/test_menus_actions.py: same
* tests/test_gui/test_tree_view.py: same
* tests/test_libvdat/test_symlink.py: same
* vdat/gui/central.py: same
* vdat/gui/menubar.py: same
* vdat/gui/menus_actions.py: same
* vdat/gui/tabs/entry_points.py: same
* vdat/gui/tabs/tab_widget.py: same
* vdat/gui/treeview_model.py: same
* vdat/database/core.py: open and close the database only if it's not on
memory
2017-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version
* tox.ini: ignore little-deploy failures
* vdat/database/core.py: connect only if the database is closed. Fixes issue
#1895.
* vdat/libvdat/symlink.py: wrap some query into db.connect()
2017-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* scripts/symlink_pyqt.sh: fix bug
2017-02-03 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: prepare v0.6.0 release
* ReleaseNotes.md: same
2017-02-03 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/branches/debug_logs into ^/trunk
2017-02-03 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/trunk into ^/branches/debug_logs
2017-01-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: add option to process events while the thread is
running
* tests/test_gui/test_gui_utils.py: test it
* vdat/gui/mainwidget.py: use it to update the GUI as the symlinking is
running (fixes #1765)
2017-01-31 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_mainwidget.py: add tests
* vdat/gui/mainwidget.py: do only the symlink in the thread
2017-02-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: workaround to fix issue #1782
2017-02-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: resolves issue #1782
* tests/test_gui/test_tabs/test_ifu_widget.py: adapt mocking in tests
2017-02-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: improve documentation, resolves issue #1779
* vdat/gui/static/VirusDataAnalysisTool.qch: add the new documenation
* vdat/gui/static/VirusDataAnalysisTool.qhc: same
2017-02-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: uses astropy's zscale. Fixes Issue #1777
2017-01-30 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/trunk into ^/branches/debug_logs
2017-01-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: add function to run the FuncQThread with the waiting
cursor.
* vdat/gui/mainwindow.py: use it
* vdat/gui/treeview_model.py: use it
* vdat/gui/mainwidget.py: use it when running the symlink from the GUI.
Solves issue #1765
* tests/test_gui/test_gui_utils.py: add tests
* tests/test_gui/test_mainwidget.py: added. Need to finish testing the
widget, but I first need to merge the other branch as it has some fixture
I need
2017-01-27 Francesco Montesano <montefra@mpe.mpg.de>
* tests/conftest.py: tmp_dir is now a of tmpdir with the possibility to
remove the directory; add fixtures
* tests/test_gui/test_init.py: move fixture to conftest
* tests/test_integration_vdat.py: add regression/integration test for the
bug in #1317
* vdat/gui/__init__.py: partial refactoring to help testing
* vdat/libvdat/vdat.py: add argv option to main for testing purposes
2017-01-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: don't set the logger level
* vdat/gui/logger_widget.py: set the handler level to INFO
* tests/conftest.py: fix sip.setapi to v2 for all the types
2017-01-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/static/VirusDataAnalysisTool.*: update documentation with the
latest changes
2017-01-30 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/branches/plug_tabs_1533 into ^/trunk
2017-01-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/list_plugins.py: add functionality to list entry points. Solves issue
#1613
* vdat/gui/fplane.py: move entry point group name to variable
* tests/test_list_plugins.py: test the new functionality
* doc/_source/gui/main_panel.rst: add some documentation
* doc/_source/codedoc/index.rst: same
* doc/_source/codedoc/list_plugins.rst: same
* setup.py: add the entry point
2017-01-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: make "Individual" radio button react to
button release to allow repainting the GUI. Resolved issue #1679
* doc/_source/gui/main_panel.rst: add some hint about this
2017-01-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: reset individual selection when dropping fits
tabs
* tests/test_gui/test_tabs/test_tab_widget.py: update the tests
2017-01-10 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/main_panel.rst: move the new plugin implementation away.
* doc/_source/codedoc/gui/tabs/new_type_example.rst: move it here and update
the rest
2017-01-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: port all the tasks to the new tab types. Resolves
#1724
2017-01-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: make sure that the user is not spammed with
reconstruction error if the reconstruction object is not present. Resolved
#1725
2016-12-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/interface.py: add the enabled property
* vdat/gui/fplane.py: set the tab enabled or not
* tests/test_gui/conftest.py: move fixture here
* tests/test_gui/test_central.py: from here
* tests/test_gui/test_fplane.py: test tab enabled
2016-12-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: add overlay if no tab displayed; fixes issue #1603
* tests/test_gui/test_fplane.py: test it and fix other tests accordingly
2016-12-15 Francesco Montesano <montefra@mpe.mpg.de>
fixes issue #1720
* doc/_source/conf.py: add ginga intersphinx
* vdat/gui/tabs/entry_points.py: remove unused entry points
* vdat/gui/tabs/ifu_viewer.py: fix documentation and remove unused code
* vdat/gui/tabs/ifu_widget.py: same
2016-12-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: fix documentation
* vdat/gui/tabs/interface.py: same
* vdat/gui/tabs/tab_widget.py: same and remove old code
2016-12-14 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/_static/send_to_ds9.png: added
* doc/_source/gui/ifu_viewer.rst: add some documentation about the fits
viewer
2016-12-14 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/ifu_viewer.rst: add screenshot
* doc/_source/gui/main_panel.rst: add information about the header_keys
keyword
* doc/_source/_static/fits_viewer.png: added
* vdat/config/tasks.yml: add the header_keys keyword
* vdat/gui/tabs/ifu_viewer.py: remove line with file name
016-12-14 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/main_panel.rst: finish the tabs documentation
* doc/_source/gui/ifu_viewer.rst: add basic info
* doc/_source/gui/menu_bar.rst: add references
* doc/_source/_static/vdat_main_panel.png: add
* doc/_source/_static/vdat_screenshot.png: update
2016-12-13 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/main_panel.rst: document the reconstruct tab type
* doc/_source/_static/fplane_reconstruct.png: add screenshot
2016-12-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: create unique file names using md5 hash.
Fixes issue #1714
2016-12-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: pass title and tooltip to fits window; fixes
issue #1715
* tests/test_gui/test_tabs/test_ifu_widget.py: test the changes
2016-12-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add ability to pass custom tab titles and
tooltip
* tests/test_gui/test_tabs/test_ifu_viewer.py: test it
2016-12-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: unset basenames
* vdat/gui/tabs/tab_widget.py: pass basenames to the ifus
* vdat/gui/tabs/entry_points.py: add the "reconstruct" tab type
* setup.py: add the entry point
* vdat/config/tasks.yml: use it
* doc/_source/gui/main_panel.rst: add the entry point in the documentation
* tests/test_gui/test_fplane.py: test the new entrypoint
* tests/test_gui/test_tabs/test_tab_widget.py: test the changes
2016-12-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: add basenames property to allow loop over
them to combine multiple exposures
* tests/test_gui/test_tabs/test_ifu_widget.py: test the changes
2016-12-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: rename combined to fits_combined
* setup.py: same
* tests/test_gui/test_fplane.py: same
* doc/_source/gui/main_panel.rst: add the fits_combined documentation
* doc/_source/_static/fplane_fits_combined.png: add image
* vdat/config/tasks.yml: re-add all the cal steps
2016-12-06 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_central.py: re-enable the empty fplane tab type for
testing only
* tests/test_gui/conftest.py: move some fixture here
* tests/test_gui/test_fplane.py: modify accordingly
* vdat/gui/fplane.py: change pkg_resources import to allow mocking
* vdat/gui/tabs/entry_points.py: make the empty_fplane private
2016-12-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: implement the combined tab type
* setup.py: add its entry point, remove old tab entry points
* tests/test_gui/test_fplane.py: test the new entry points, remove old entry
point tests
* doc/_source/gui/main_panel.rst: add the entry point docstring
2016-12-06 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_queue.py: disable some more test for python2
* vdat/config/tasks.yml: add the first three steps of the zro reduction with
the new tab system
2016-12-05 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/main_panel.rst: add documentation of the exp_combined tab
type
* doc/_source/_static/fplane_exp_combined.png: added
2016-12-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: add exp_combined entry point implementation
* vdat/gui/tabs/ifu_widget.py: extend the number of ids that is possible to
use the fits file name; fix bug with cleanup in the base class
* vdat/gui/tabs/interface.py: fix documentation
* vdat/gui/tabs/tab_widget.py: create the title and, if given, the tool tip;
remove the tooltip on cleanup
* doc/_source/gui/main_panel.rst: begin the documentation
* setup.py: add the exp_combined entry point
* tests/test_gui/test_fplane.py: test the new entry point
* tests/test_gui/test_tabs/test_tab_widget.py: fix the tests for the title
and tooltip
2016-12-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: the base class cleanup method set the empty
image and paint it (issue #1688)
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
2016-12-01 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* vdat/gui/tabs/tab_widget.py: add the widgets in the setup method only
* tests/test_gui/test_tabs/test_tab_widget.py: update tests
2016-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: remove the widgets from the layout when doing
the cleanup and readd them on setup as a workaround for the non-showing
problem when readded into the fplane
* tests/test_gui/test_tabs/test_tab_widget.py: update tests
* tests/test_gui/test_fplane.py: make sure the first widget is selected
2016-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add temporary entry point for the stacked widget
* vdat/gui/tabs/entry_points.py: add the entry point function for the
stacked widget
* vdat/gui/tabs/tab_widget.py: work on the aspect of the stacked widget. Use
a check box in the bar at the bottom of the focal plane
* vdat/gui/utils.py: move the vertical spacer here
* tests/test_gui/test_fplane.py: add an integration test
* tests/test_gui/test_tabs/test_tab_widget.py: test the changes
2016-11-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: disable the switch button if no
reconstruction object present
* tests/test_gui/test_tabs/test_tab_widget.py: test it
2016-11-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: fix bug
* tests/test_gui/test_tabs/test_tab_widget.py: according to tests the widget
works
2016-11-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: a first implementation of issue #1669 is done
* tests/test_gui/test_tabs/test_tab_widget.py: start testing (still all to
do, though)
2016-11-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: extend clean/update cached thumbnails to the
quick reconstruction widget
* tests/test_gui/test_tabs/test_ifu_widget.py: test the changes
* tests/test_gui/test_queue.py: disable some test for python2
2016-11-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: clean/update cached thumbnails if needed
(issue #1660)
* vdat/gui/utils.py: update function
* tests/test_gui/test_gui_utils.py: update tests
* tests/test_gui/test_tabs/test_ifu_widget.py: test the new implementation
2016-11-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: make sure that the header keywords are
correctly reordered (issue #1675)
* tests/test_gui/test_tabs/test_ifu_viewer.py: add regression test
* tox.ini: raise the bar for success of the coverage
2016-11-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: show the reconstructed image in the fits
viewer window
* tests/test_gui/test_tabs/test_ifu_widget.py: test some of it
2016-11-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add possibility to show header keywords at
the beginning
* vdat/gui/tabs/ifu_widget.py: pass the tab configuration dictionary
* vdat/gui/tabs/entry_points.py: document
* tests/test_gui/test_tabs/test_ifu_viewer.py: test the header keyword
reordering
* tests/test_gui/test_tabs/test_ifu_widget.py: update tests
2016-11-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: open the fits viewer on double click
* vdat/gui/tabs/ifu_viewer.py: zoom to fit on first show
* tests/test_gui/test_tabs/test_ifu_widget.py: add tests
2016-11-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py: fix bug introduced with fixing #1646
* tests/test_gui/test_queue.py: re-enabled some test that would have avoided
this bug
2016-11-17 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: make sure selections are correctly propagated to all
tabs (#1671)
* vdat/gui/tabs/ifu_widget.py: same
* vdat/gui/tabs/tab_widget.py: same
* tests/test_gui/conftest.py: fix fixtures
* tests/test_gui/test_central.py: test the changes
* tests/test_gui/test_fplane.py: same
2016-11-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: add the reconstructed IFU pluging
(issue #1633)
* vdat/gui/tabs/ifu_widget.py: implement the IFU widget for it
* vdat/gui/tabs/tab_widget.py: implement the tab widget for it
* vdat/gui/utils.py: add the prefix for the reconstructed files
* setup.py: add the entry point
* ReleaseNotes.md: update
* tests/test_gui/conftest.py: new fixture of the reconstructed object
* tests/test_gui/test_fplane.py: test the new plugin
* tests/test_gui/test_tabs/test_ifu_widget.py: test the new widget
* tests/test_gui/test_tabs/test_tab_widget.py: same
2016-11-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: remove all the reconstruction hints from the
FitsFplanePanel class
* vdat/gui/tabs/ifu_widget.py: store some more info, remove old pieces of
code
* vdat/gui/tabs/entry_points.py: cleanup the plugin
* tests/test_gui/test_tabs/test_tab_widget.py: fix tests accordingly
* ReleaseNotes.md: updated
2016-11-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: react to changing the scale
* vdat/gui/tabs/ifu_widget.py: add attributes storing the global scaling and
use them, if available, to paint the fits files
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* tests/test_gui/test_tabs/test_tab_widget.py: test it
2016-11-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: add zmin/zmax property
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* vdat/gui/tabs/tab_widget.py: get the global zscale for the IFUs and store
it; add needed functionality for this; add cleanup
* tests/test_gui/test_tabs/test_tab_widget.py: test it
2016-11-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add header information
* vdat/gui/tabs/ifu_widget.py: ifu_viewer classes name changed
* ReleaseNotes.md: udpated with issue #1631
2016-11-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: start rewriting the fits viewer. Show the
files in independent tabs.
* tests/test_gui/test_tabs/test_ifu_viewer.py: test most of the new
implementation
* tests/test_gui/test_central.py: move fixtures from here ...
* tests/test_gui/conftest.py: ... to here
2016-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: recreate thumbnail if it's older than the
fits file; clear cached thumbnail if the fits file does not exist.
* tests/test_gui/test_tabs/test_ifu_widget.py: test this
2016-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: move the thumbnailing code here
* tests/test_gui/test_gui_utils.py: test it
* vdat/gui/tabs/ifu_widget.py: implement prepare_image to produce thumbnails
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* tests/test_gui/conftest.py: add fixture
2016-11-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add base class for the IFU viewers
* doc/_source/codedoc/gui/tabs/ifu_viewer.rst: add inheritance tree
2016-11-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: update documentation; get type from
database
* vdat/gui/tabs/tab_widget.py: add setup method
* vdat/gui/tabs/ifu_widget.py: add and implement setup method
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* tests/test_gui/test_fplane.py: add fits_fplane integration test
2016-11-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: improve error messages at plugin loading time (issue
#1655)
* tests/test_gui/test_fplane.py: update tests
2016-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: add extra "step_name" parameter to pass to the plugins
* vdat/gui/tabs/entry_points.py: same
* vdat/gui/tabs/interface.py: same
* vdat/gui/tabs/tab_widget.py: begin implementing the setup
* vdat/gui/tabs/ifu_widget.py: same
2016-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: create fits_fplane entry point
* setup.py: same
* vdat/gui/tabs/tab_widget.py: add scale buttons to the GUI
* vdat/gui/tabs/ifu_widget.py: remove unused method
* tests/test_gui/test_tabs/test_tab_widget.py: test new class init
2016-10-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: don't trigger single clicks on double click
(issue #1639)
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* doc/_source/codedoc/gui/tabs/new_type_example.rst: add some info about
this
* ReleaseNotes.md: updated with the issue reference
2016-10-25 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: updated
* vdat/gui/queue.py: remove the command and thread when the command finishes
to run
* vdat/gui/tabs/tab_widget.py: set parent in the thread
2016-10-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: don't draw the tab
* vdat/gui/tabs/ifu_widget.py: fix hw_size, cleanup code
* vdat/gui/tabs/tab_widget.py: use showEvent, properly select/unselect IFU
to make it reply back
* tests/test_gui/test_fplane.py: add regression test to make sure that
selecting/deselecting all IFUs work as expected
* tests/test_gui/test_tabs/test_ifu_widget.py: update tests
* tests/test_gui/test_tabs/test_tab_widget.py: same
* tests/test_gui/test_mainwindow.py: fix weird interaction with other tests
* doc/_source/codedoc/gui/tabs/new_type_example.rst: update with the
showEvent info
* doc/_source/gui/main_panel.rst: add link to the above document
2016-10-21 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/codedoc/gui/tabs/entry_points.rst: added
* doc/_source/codedoc/gui/tabs/new_type_example.rst: add an example on how
to use and extend the code
* doc/_source/codedoc/gui/index.rst: add them to index
* vdat/gui/tabs/entry_points.py: set parent explicitly
* vdat/gui/tabs/ifu_widget.py: fix documentation
2016-10-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: add empty_fplane tab type using
BaseFplanePanel
* vdat/gui/tabs/interface.py: fix bug with error message
* doc/_source/gui/main_panel.rst: add empty_fplane documentation
* setup.py: add empty_fplane entry points
* tests/test_gui/test_fplane.py: test that the new entry point behave as
expected
2016-10-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: fix bugs
* vdat/gui/tabs/ifu_widget.py: fix cleanup documentation
* tests/test_gui/conftest.py: update fixture for better use
* tests/test_gui/test_central.py: use the new fixtures
* tests/test_gui/test_tabs/test_tab_widget.py: test BaseFplanePanel
2016-10-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: implement the BaseFplanePanel widget, rename
some of the UpdateIFUTask parts
* vdat/gui/tabs/ifu_widget.py: add TODO on a slot
* vdat/gui/tabs/interface.py: update documentation
* doc/_source/codedoc/gui/tabs/tab_widget.rst: show full inheritance
* tests/test_gui/test_tabs/test_tab_widget.py: update the UpdateIFUTask
names
2016-10-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: update the UpdateIFUTask to run
* tests/test_gui/test_tabs/test_tab_widget.py: test it
* vdat/gui/tabs/ifu_widget.py: update documentation
2016-10-18 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_central.py: move a fixture to the conftest
* tests/test_gui/conftest.py: update above fixture
* tests/test_gui/test_tabs/test_ifu_widget.py: added, test the BaseIFUWidget
* vdat/gui/tabs/ifu_widget.py: fix renaming bugs
2016-10-17 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/codedoc/gui/tabs/ifu_widget.rst: add inheritance map
* vdat/gui/tabs/ifu_widget.py: first iteration of the IFU widget base class
* vdat/gui/tabs/tab_widget.py: fix names according to the above changes
2016-10-14 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/codedoc/gui/index.rst: use the new tabs/* files
* doc/_source/codedoc/gui/tabs: created
* doc/_source/codedoc/gui/tabs/ifu_viewer.rst: same
* doc/_source/codedoc/gui/tabs/ifu_widget.rst: renamed from
../ifu_widget.rst
* doc/_source/codedoc/gui/tabs/interface.rst: renambed from tabs_plugins
* doc/_source/codedoc/gui/tabs/tab_widget.rst: created
* doc/_source/conf.py: add inheritance diagram
* vdat/gui/fplane.py: remove all the fplane panel implementation
* vdat/gui/tabs/tab_widget.py: move here the fplane panel code
* vdat/gui/ifu_viewer.py: move to tabs/ifu_viewer.py
* vdat/gui/ifu_widget.py: move to tabs/ifu_widget.py
2016-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/index.rst: fix typo
* doc/_source/gui/main_panel.rst: update the documentation
* vdat/gui/tasks.py: PEP8 fix
* doc/_source/conf.py: fix intersphinx link
* ReleaseNotes.md: update
2016-09-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: remove yield_*_ifu methods and get rid of the
VDATRunControl object
* vdat/gui/treeview_model.py: don't use it
2016-09-30 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_fplane.py: test the FplaneWidget
* vdat/gui/fplane.py: fix some bug and adjust edge cases
2016-09-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: Implement the plugin system for the tabs
* vdat/gui/tabs/interface.py: adjust interfaces
* doc/_source/codedoc/gui/fplane.rst: add the FplaneWidget to the docs
* tox.ini: don't run the doc-qt if the qt* executables do not exist
2016-09-27 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* vdat/gui/tabs/interface.py: add the interface for the function
implementing the plugin
* doc/_source/gui/main_panel.rst: add a bit of documentation
2016-09-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/__init__.py: added
* vdat/gui/tabs/interface.py: added; implement the FplaneTabTemplate class
(issue #1601)
* doc/_source/codedoc/gui/tabs_plugins.rst: added
* doc/_source/codedoc/gui/index.rst: add tabs_plugins to the index
* doc/_source/gui/main_panel.rst: add the FplaneTabTemplate to the
documentation
2016-09-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: reimplement the FplaneCache as a pure cache without
much intelligence
* tests/test_gui/test_fplane.py: test it
* doc/_source/gui/main_panel.rst: begin documenting the plugin system
* doc/_source/codedoc/gui/fplane.rst: change the documentation to better
separate parts
2016-09-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: create here cache and call the reconstruction object
in the appropriate place; fix super calls
* vdat/gui/central.py: move the cache creation in the fplane module
* tests/test_gui/test_central.py
2016-08-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: don't pass a reconstruct object to the FplaneCache
object. Add property that returns it using the function create in r440
* vdat/gui/central.py: remove the reconstruction object creation and adapt
the code
* tests/test_gui/test_central.py: remove tests about the reconstruction
object
* ReleaseNotes.md: update
2016-08-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: add function that creates the QuickReconstruct object
only once and returns it
* tests/test_gui/test_gui_utils.py: test it
* tests/conftest.py: add fixture to deal with it
* tests/test_gui/conftest.py: move around some fixture
* tests/test_gui/test_central.py: same and adapt
2016-08-18 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/trunk into ^/branches/plug_tabs_1533
2016-08-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menubar.py: emit a signal instead of closing the VDAT (issue
#1568)
* vdat/gui/mainwindow.py: connect the above signal with the mainwindow close
slot; isolate connections with the menu bar into a method
* tests/test_gui/test_mainwindow.py: test closing via the above signal
* ReleaseNotes.md: update
2016-08-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/help_window.py: add support for mailto (issue #1579)
* tests/test_gui/test_help_window.py: test it
* setup.py: update dependencies to coverage>=4.2
* tox.ini: same, remove obsolete cov-init environment
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/splash_screen_1562 into ^/trunk
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/splash_screen_1562
* vdat/gui/static/VirusDataAnalysisTool*: updated and renamed
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: remove always on top flag, make surer that the
splashscreen is shown
* tests/test_gui/test_init.py: update the tests
2016-08-01 Francesco Montesano <montefra@mpe.mpg.de>
* AUTHORS: Majo added
* ReleaseNotes.md: updated
* doc/_source/_static/vdat_icon.ico: added
* doc/_source/_static/vdat_name.jpg: added
* doc/_source/_static/vdat_screenshot.png: updated
* doc/_source/command_interpreter.rst: fix typo
* doc/_source/conf.py: add the VDAT logo and name
* setup.py: fix ginga and pytest-qt to older version
* tox.ini: same
* tests/test_gui/test_init.py: added
* vdat/gui/__init__.py: work around splash screen not showing
2016-08-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: do all the splash screen things here
* vdat/gui/mainwindow.py: add window icon
* vdat/gui/static/HETDEX_*.jpg: new images and renamed to VDAT_*.jpg
* vdat/gui/static/vdat_icon.jpg: added and used as icon
* vdat/libvdat/vdat.py: just create and show the splash screen
2016-07-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: add splash screen functionality
* vdat/gui/static/HETDEX_black.jpg: added
* vdat/gui/static/HETDEX_white.jpg: same
* vdat/libvdat/vdat.py: show the splash screen
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/qt_help_1454/ into ^/trunk
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* vdat/gui/menubar.py: add about Qt button
* doc/_source/_static/menubar_help.png: update accordingly
* doc/_source/gui/menu_bar.rst: same
* tests/test_gui/test_menubar.py: same
* vdat/gui/static/VDATVirusDataAnalysisTool.*: add updated documentation
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/mainwindow.py: remove the logging gui handlers when closing down
* vdat/database/core.py: fix connect context manager for in memory database
* tests/test_database.py: test it
* tests/test_gui/test_mainwindow.py: add and test the whole mainwindow
* tests/test_gui/test_help_window.py: make the monkeypatch of static method
work on py2
* tests/test_gui/test_queue.py: temporarily skip some of the offending tests
2016-08-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/help_window.py: don't run setup in the __init__ for better test.
Setup the data only after connecting the slot to setup the content widget
* vdat/gui/menubar.py: set help menu object name for easier testing
* vdat/gui/utils.py: don't cover run method
* tests/test_gui/test_gui_utils.py: add test for static directory and qthelp
file
* tests/test_gui/test_help_window.py: added
* tests/test_gui/test_menubar.py: add test for when no documentation is
found
2016-08-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/help_window.py: added to address issue #1454
* vdat/gui/mainwindow.py: add slot to open the help window
* vdat/gui/menubar.py: add menu item to open the help window
* vdat/gui/static/VDATVirusDataAnalysisTool.qch: add documentation
* vdat/gui/static/VDATVirusDataAnalysisTool.qhc: same
* vdat/gui/utils.py: add functions to get the documentation file
* doc/Makefile: make qthelp now also creates the qch and qhc files
* doc/_source/codedoc/gui/help_window.rst: added
* doc/_source/codedoc/gui/index.rst: add
* doc/_source/contributions.rst: add information about the qt documentation
* tox.ini: add you environment to create the qt documentation
2016-08-02 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/contributions.rst: update information (issue #1529)
2016-08-02 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/db_version_cleanup into ^/trunk
2016-07-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/ifu_widget.py: convert property to pyqtProperty (issue #1532)
* vdat/gui/menus_actions.py: same
* vdat/gui/treeview_model.py: same
* tests/test_libvdat/test_symlink.py: add more randomization to decrease the
possible file name clashes
2016-08-02 Francesco Montesano <montefra@mpe.mpg.de>
* pytest.ini: set qt_api=pyqt4
* setup.py: set pytest-qt>=0.2, skip broken version of ginga
* tests/test_database.py: fix test
* tests/test_gui/test_progress.py: same
* tox.ini: fix pytest-qt version and remove qt_api
2016-07-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/models.py: update VDATExposures according to issue #1530
* vdat/database/check.py: update the conversion function
* vdat/libvdat/symlink.py: update the creation of the exposures entries
* tests/conftest.py: update the current exps dictionary
* tests/test_database.py: adapt tests
* tests/test_gui/test_menus_actions.py: same
* tests/test_gui/test_tree_view.py: same
* tests/test_libvdat/test_symlink.py: same
* ReleaseNotes.md: update with info about the issue
2016-07-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/models.py: remove virtual and ifus fields as per issue #1339
* vdat/database/check.py: update the conversion function
* tests/conftest.py: update the current shot, move here db initialization
routines
* tests/test_database.py: adapt the tests
* tests/test_gui/test_central.py: same
* ReleaseNotes.md: update with info about the issue
2016-07-01 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/db_version_cleanup
2016-07-01 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* tests/test_database.py: make sure that metadata are moved
2016-07-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/check.py: when updating the meta data, remove superfluous
entries
* vdat/libvdat/symlink.py: improve error messages when inserting existing
meta data
* tests/test_database.py: test the changes
* tests/test_libvdat/test_symlink.py: same
* tests/conftest.py: shuffle fixtures around
2016-06-29 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/launching.rst: add some info about vdat_db command
* vdat/database/check.py: after updating the metadata try to add it to the
database
* tests/test_database.py: test it
* doc/_source/codedoc/utilities.rst: added
* doc/_source/codedoc/index.rst: added to the index
2016-06-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/check.py: add possibility to repair the database
* tests/test_database.py: test it
2016-06-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/check.py: make vdat_db check subcommand
* tests/test_database.py: test the changes
2016-06-20 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add enum34 for python < 3.4 and colorama; add vdat_db entry point
* vdat/database/check.py: added, implement db checks
* vdat/database/core.py: allow to create db in memory (and don't close it)
* vdat/utilities.py: function that reads the shot and exps files can also
return the dir containing the files
* tests/test_database.py: test the new check module
* tests/test_utilities.py: update tests
2016-06-17 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: move the function to scan for metadata files to
vdat/utilities.py and adapt
* vdat/utilities.py: update the above function implementation
* tests/test_libvdat/test_symlink.py: adapt the tests
* tests/test_utilities.py: same
2016-06-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/base.py: add database exception class
* vdat/database/models.py:
* vdat/database/__init__.py: make merge_entries more robust against type
mismatches
* tests/test_database.py: test the database subpackage
* tests/test_database: removed
2016-06-30 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/config_version into ^/trunk
2016-06-30 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/config_version
2016-06-30 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: fix typo
* vdat/config/entry_point.py: don't add common parser to the parent one
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/codedoc/database.rst: show class inheritance
* vdat/database/models.py: add version as a table column with a check
* vdat/database/__init__.py: explicitly import stuff at the package level
* vdat/database/core.py: remove __all__
* vdat/libvdat/symlink.py: add the table versions
* tests/test_gui/test_menubar.py: same
* tests/test_gui/test_menus_actions.py: same
* tests/test_gui/test_tree_view.py: same
* tests/test_libvdat/test_symlink.py: same
* tests/test_database: added for the future
* ReleaseNotes.md: updated
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update with info about issue #1501
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: disable the reconstruction checkbox and tab if the
reconstruction object does not exist
* vdat/gui/central.py: remove unnecessary method
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_central.py: finish testing the central module
* vdat/gui/mainwindow.py: fix documentation typo
2016-06-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: modify imports to allow monkeypatching for the tests;
* tests/test_gui/test_central.py: add first part of the central module tests
2016-06-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: don't fail if the quick reconstruction object
creation fails; add documentation
* vdat/config/entry_point.py: fix typo
* doc/_source/codedoc/gui/central.rst: added
* doc/_source/codedoc/gui/tasks.rst: added
* doc/_source/codedoc/gui/index.rst: add them to the index
2016-06-14 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md
* vdat/config/entry_point.py: add backup option to the vdat_config copy
command
* doc/_source/launching.rst: document it
* tests/test_config/test_entry_point.py: test it
2016-06-13 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/launching.rst: add the compare command to the doc
* vdat/config/entry_point.py: fix one of the info messages
2016-06-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/versions.py: add the remaining loaders
* tests/test_config/test_versions.py: test them
2016-06-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/versions.py: add some loader to check if files are reasonable
* vdat/config/entry_point.py: add ``-l/--load`` option
* tests/test_config/test_entry_point.py: test the above
* tests/test_config/test_versions.py: same
2016-06-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: some improvement on the messages
* tests/test_config/test_entry_point.py: update the tests
2016-06-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: add diff of files
* tests/test_config/test_entry_point.py: test it
2016-06-09 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add colorama for nice coloured output
* vdat/config/entry_point.py: add a compare subcommand and check if files
exist and have the correct version
* vdat/config/versions.py: add helper functions
* tests/test_config/test_entry_point.py: test it
* tests/test_config/test_versions.py: test it
2016-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/__init__.py: explicitly import attributes
* vdat/config/core.py: remove __all__
* vdat/config/versions.py: explicit file names to copy and file versions
* vdat/config/entry_point.py: rewrite the copy function to use the list of
names and to replace version numbers
* vdat/config/tasks.yml: add version
* vdat/config/vdat_commands.yml: add version
* vdat/config/vdat_setting.cfg: add version
* tests/test_config/test_entry_point.py: update the tests
* tests/test_config/test_versions.py: add
* doc/_source/codedoc/config.rst: add the versions module
2016-06-20 Daniel Farrow <dfarrow@mpe.mpg.de>
* doc/_source/command_interpreter.rst: improved the documentation (hopefully)
* vdat/gui/ifu_viewer.py: Fixed a small bug created by a previous rename
of the ihmp attribute in the IFU object to ifuslot.
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/log_sig_1492 into ^/trunk
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/log_sig_1492
2016-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py: use the command_intepreter command_logger into the
QCommandInterpreter, connecting/disconnecting the default helper slot in
the ``run`` method
* tests/test_gui/test_queue.py: PEP8
* tests/test_libvdat/test_symlink.py: remove unused import
* ReleaseNotes.md: update release notes
2016-06-14 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/clone_remove into ^/trunk
* ReleaseNotes.md: update
2016-06-14 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/clone_remove
* ReleaseNotes.md: update
2016-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: re-emit the sig_exposure_removed signal in the
ReductionQTreeView; return the menu created at right-click
* tests/test_gui/test_tree_view.py: properly test the menu and that the
signal is re-emitted
2016-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: add sig_exposure_removed signal to address
issue #1498
* tests/test_gui/test_menus_actions.py: test the emission
2016-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/tree_view.rst: add Remove exposure description
* doc/_source/_static/tree_view_clone_remove.png: update screenshot
2016-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: clear the menu before adding new actions
* tests/test_gui/test_menus_actions.py: test the menus_actions module
* doc/_source/codedoc/gui/menus_actions.rst: added
* doc/_source/codedoc/gui/index.rst: add to the index
2016-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: implement a dynamic menu to remove exposures
* vdat/gui/treeview_model.py: use it
2016-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: clone in a thread and wait for it to finish;
set the cursor to wait cursor when cloning or removing a directory
* tests/test_gui/test_tree_view.py: adapt to the changes and test that
cloning within or without the thread leads to the same result
2016-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: explicitly create actions to clone/remove and
connect them to slots
* tests/test_gui/test_tree_view.py: update the tests
* doc/_source/_static/tree_view_clone_remove.png: update image
2016-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: create signal to perform the command
logger
* vdat/command_interpreter/core.py: use it to communicate the
success/failure of the single sub-commands
* vdat/command_interpreter/helpers.py: add default implementation for a slot
for the above signal
* tests/test_ci/conftest.py: adapt the tests to the changes
* tests/test_ci/test_command_interpreter.py: same
* tests/test_ci/test_helpers.py: same
* tests/test_ci/test_signals.py: same
2016-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/changelog.rst: include changelog verbatim
* setup.cfg: move coverage configuration here
* .coveragerc: remove
2016-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump the version and the required pyhetdex version
* ReleaseNotes.md: update
2016-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_progress.py: fix failing test
2016-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/fplane.txt: updated to the newest format and values
2016-06-02 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Updated to new fplane format
* vdat/gui/ifu_widget.py: Same
* vdat/gui/central.py: Same
2016-06-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menubar.py: add possibility to specialize removal with the type
* vdat/config/vdat_setting.cfg: add documentation and example on how to do
this
* doc/_source/gui/menu_bar.rst: document it
* tests/test_gui/test_menubar.py: test it
2016-06-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: fix typo
* vdat/gui/utils.py: add function to remove files
* vdat/gui/menubar.py: sig_remove_files are emitted with the error and thumb
files
* vdat/gui/mainwindow.py: connect the new menu bar signal with a slot and
document the class
* tests/test_gui/test_gui_utils.py: test the removal
* tests/test_gui/test_menubar.py: adapt the tests
* doc/_source/codedoc/gui/fplane.rst: added
* doc/_source/codedoc/gui/ifu_widget.rst: added
* doc/_source/codedoc/gui/index.rst: added
* doc/_source/codedoc/gui/mainwidget.rst: added
* doc/_source/codedoc/gui/mainwindow.rst: added
* doc/_source/gui/menu_bar.rst: update the documentation
2016-06-03 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/install.rst: fix documentation warning
* tests/test_ci/test_ci_utils.py: renamed from test_utils.py to avoid pytest
error
* tests/test_gui/test_gui_utils.py: renamed from test_utils.py to avoid
pytest error
2016-06-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: add a custom QThread that executes one function
* tests/test_gui/test_utils.py: test the utilities
* doc/_source/codedoc/gui/index.rst: add the utilities to the documentation
* doc/_source/codedoc/gui/utils.rst: same
2016-06-03 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/_static/menubar_file.png: added
* doc/_source/_static/menubar_help.png: added
* doc/_source/_static/menubar_select.png: added
* doc/_source/_static/menubar_view.png: added
* doc/_source/codedoc/gui/menubar.rst: added
* doc/_source/codedoc/gui/index.rst: add the above
* doc/_source/gui/menu_bar.rst: document behaviour with links
* doc/_source/install.rst: fix link
* setup.py: bump version
* tests/test_gui/test_menubar.py: test the menubar module
* vdat/config/vdat_setting.cfg: add option with name of the files to remove
* vdat/gui/menubar.py: add the delete file actions
* vdat/gui/utils.py: add the thumbnails directory name
2016-06-03 Danuel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/progress.py: Changed "Running" to "Finished" in the status bar,
to better reflect the actual state of the job.
Also changed the wording in some of the documentation:
* doc/_source/command_interpreter.rst
* doc/_source/dirstruct.rst
* doc/_source/gui/index.rst
* doc/_source/gui/main_panel.rst
* source/gui/menu_bar.rst
* doc/_source/gui/progress.rst
* doc/_source/gui/queue.rst
* doc/_source/gui/tree_view.rst
* doc/_source/install.rst
* doc/_source/launching.rst
2016-06-01 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.4.0
2016-06-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: add hints to use virus_config files
* vdat/config/tasks.yml: update the commands
2016-06-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/fplane.txt: updated with the latest values
2016-06-01 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/faq.rst: added
* doc/_source/index.rst: add it to the index
* vdat/libvdat/symlink.py: fix typos in error messages
2016-05-31 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* doc/_source/install.rst: solve #1452
* doc/_source/contributions.rst: update
2016-05-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: add creation of mastertwi or masterflat
from twilight frames; remove fake pixel flat
* vdat/config/tasks.yml: add the above commands
* vdat/libvdat/symlink.py: improve error message
* vdat/config/entry_point.py: add space when asking to the user
* tests/test_libvdat/test_loggers.py: adapt the tests to the removal of the
fake pixel flat
2016-05-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: add customisation of the types to use for
calibration
* vdat/config/vdat_setting.cfg: add/modify the configuration options to
support the changes above
* vdat/libvdat/vdat.py: add command line overrides for the above changes
* tests/test_libvdat/test_symlink.py: test combination of calibration types;
get rid of virus00001 fixture
* doc/_source/dirstruct.rst: document the changes
2016-05-30 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/launching.rst: update
* doc/_source/dirstruct.rst: update
* vdat/libvdat/vdat.py: update command line option name
2016-05-25 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/executables.rst: removed
* doc/_source/index.rst: adapted
* doc/_source/launching.rst: start improving the use information
2016-05-25 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Fix global cutlevel estimation fixing issue1482
* vdat/gui/ifu_widget.py: Fix bad levels in thumbnails
2016-05-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: don't emit the number of primaries if
it's zero
* vdat/gui/queue.py: properly emit finished when CommandInterpreter.run
returns
* tests/test_ci/test_command_interpreter.py: adapt test
2016-05-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: skip interpolation error when setting CUREBIN in the
environment
* tests/test_libvdat/test_vdat.py: add tests for this
2016-05-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/progress.py: renamed from vdat/gui/progress_bar.py; move
custom status bar here
* vdat/gui/mainwidget.py: adapt
* vdat/gui/mainwindow.py: adapt
* tests/test_gui/test_progress.py: renamed from test_progress_bar.py; adapt
to new name; add status bar tests
* doc/_source/_static/progress_done.png: added
* doc/_source/_static/progress_going.png: added
* doc/_source/codedoc/gui/progress.rst: added
* doc/_source/codedoc/gui/index.rst: adapt and cleaup
* doc/_source/gui/progress.rst: add progress and status bar info
* doc/_source/gui/progress_bar.rst: renamed progress.rst
* doc/_source/gui/index.rst: adapted
2016-05-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py: fix the documentation; make all slots public
* vdat/gui/treeview_model.py: fixed typos
* doc/_source/gui/queue.rst: user documentation added
* doc/_source/_static/queue_screenshot.png: add screenshot
* doc/_source/_static/queue_tooltip.png: same
* doc/_source/codedoc/gui/queue.rst: added
* doc/_source/codedoc/gui/index.rst: add queue to the index
* doc/_source/codedoc/gui/tree_view.rst: fix title
2016-05-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/progress_bar.py: remove command interpreter signals and mark
functions as slots
* vdat/gui/mainwidget.py: re-enable progress bar
* vdat/gui/mainwindow.py: connect the queue signals to the progress bars
and the status bar; the isolate the status bar in its own class
* tests/test_gui/test_progress_bar.py: rewrite the tests
2016-05-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: move CommandInterpreter._run into a
standalone function to avoid pickling the instance when running in
multiprocessor mode; get all the signals and attach them to attributes,
then use the attributes in the CommandInterpreter.run method
* tests/test_ci/test_command_interpreter.py: adapt the tests
* vdat/gui/queue.py: replace the VDATCommandWoker with a QCommandInterpreter
class, that create a QObject out of the command_interpreter and implement
the signals as pyqtSignals; adapt other parts of the code to those changes
* tests/test_gui/test_queue.py: adapt the tests
* vdat/gui/__init__.py: don't connect to CommandInterpreter signals
* vdat/gui/central.py: use QCommandInterpreter
* vdat/gui/mainwindow.py: add a function to connect the signals emitted by
the queue
* vdat/libvdat/vdat.py: don't connect to the CommandInterpreter signals
2016-05-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: move all the signal emissions to the
main process
* vdat/gui/queue.py: re-emit worker signals in the Queue class; mark old
worker and thread for deletion on the next command execution
* tests/test_gui/test_queue.py: adapt the tests
2016-05-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py: connect command interpreter signals with pyqt ones
* vdat/gui/__init__.py: cleanup imports
* vdat/command_interpreter/signals.py: fix documentation bugs
* tests/test_gui/test_queue.py: test the new signals
2016-05-17 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/relay.py: removed
* vdat/gui/mainwindow.py: set the queue here, so that it can be used when
creating the queue action; remove all relay.py references
* vdat/gui/__init__.py: remove the setting of the queue
* vdat/gui/queue.py: remove relay and use already existing signals
* tests/conftest.py: remove relays; normalize clear_* fixtures
* tests/test_ci/conftest.py: use clear_* fixtures
* tests/test_ci/test_signals.py: use clear_* fixtures
* tests/test_gui/test_progress_bar.py: use clear_* fixtures
* tests/test_gui/test_queue.py: finish testing the queue module
2016-05-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py: use a thread-worker approach
* tests/test_gui/test_queue.py: test 89% of the queue module
* doc/_source/codedoc/gui/index.rst: remove the background
2016-05-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: improve documentation and rename _pressed slot
to on_press
* doc/_source/codedoc/database.rst: added
* doc/_source/codedoc/gui/index.rst: modified
* doc/_source/codedoc/gui/tree_view.rst: added
* doc/_source/codedoc/index.rst: add database
* doc/_source/conf.py: add pyqt4 intersphinx (but it apparently doesn't
work)
* doc/_source/launching.rst: fix link
2016-05-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: add cal_dir and zero_dir to the tooltip
* tests/test_gui/test_tree_view.py: add it to the test
* doc/_source/_static/tree_view_tooltip.png: update the screenshot
* doc/_source/gui/tree_view.rst: finish the documentation
2016-05-21 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/_static/tree_view_clone_dialog.png: add screenshot
* doc/_source/_static/tree_view_clone_remove.png: add screenshot
* doc/_source/_static/tree_view_remove_dialog.png: add screenshot
* doc/_source/_static/tree_view_screenshot.png: add screenshot
* doc/_source/_static/tree_view_tooltip.png: add screenshot
* doc/_source/dirstruct.rst: added todo
* doc/_source/gui/index.rst: add information
* doc/_source/gui/menu_bar.rst: little change
* doc/_source/gui/tree_view.rst: begin improving the documentation
2016-05-19 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/_static/vdat_screenshot.png: added
* doc/_source/gui: all the gui related documentation moved here
* doc/_source/gui/index.rst: short description and link to more detailed
ones
* doc/_source/gui/ifu_viewer.rst: added
* doc/_source/gui/log_panel.rst: added
* doc/_source/gui/main_panel.rst: added, all info about the main panel moved
here
* doc/_source/gui/menu_bar.rst: added
* doc/_source/gui/progress_bar.rst: added
* doc/_source/gui/queue.rst: moved here
* doc/_source/gui/tree_view.rst: added, all info about the tree view moved
here
* doc/_source/index.rst: updated to point to gui/index
2016-05-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: show the right menu entry only when clicking
on a valid item; resolves #1465
* tests/test_gui/test_tree_view.py: test ReductionQTreeView.option_menu slot
2016-05-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: if no night found, return a model with only
the root directory
* tests/test_gui/test_tree_view.py: adapt tests and test the above case
2016-05-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: move the creation of the model and the
initialization of the view into the ReductionQTreeView class
* vdat/gui/mainwidget.py: use the ``ReductionQTreeView.set_model`` method to
redo the symlink
* tests/test_gui/test_tree_view.py: adapt the tests
2016-05-20 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/menubar.py: Added Quit menu, renamed symlink to file menu
2016-05-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: fix #1448
2016-05-11 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Reuse the updateTask, removing one of the
fast click crash bugs
2016-05-11 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed bug occuring when switching
fplanes fast
2016-05-11 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version
* vdat/gui/background.py: remove
* tests/conftest.py: adapt
* vdat/gui/__init__.py: same
* vdat/gui/queue.py: cleanup
* tests/test_gui/test_queue.py: added
2016-05-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: don't use background
* vdat/gui/background.py: start phasing this out
* vdat/gui/queue.py: add a run method and a first implementation of the
thread to run the command
2016-05-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/background.py: remove unused immediate thread
* vdat/gui/mainwindow.py: same
2016-05-11 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.4.0rc3
* vdat/libvdat/vdat.py: fix command line interface
* doc/_source/launching.rst: fix documentation of the above
2016-05-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/fplane.txt: update the fplane file with the 9 IFUs
* vdat/config/tasks.yml: update
* vdat/config/vdat_commands.yml: update
* vdat/gui/ifu_widget.py: add SPECID to the tooltip
2016-05-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/mainwidget.py: fix symlinking in gui
* vdat/gui/utils.py: add wait cursor context manager
2016-05-09 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Made updates more robust
* vdat/gui/ifu_viewer.py: Add warning if no images selected to
send to ds9
* vdat/gui/ifu_widget.py: Make updates more robust
2016-05-09 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Only update ifus during cleanup, if they
were initialized before
2016-05-06 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* vdat/config/vdat_commands.yml: add arguments to subtract sky
* vdat/config/tasks.yml: same
* vdat/gui/__init__.py: read progress report to console
* vdat/gui/mainwidget.py: disable progress bar
2016-05-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: add virus instrument to the argument parser
2016-05-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: remove all astropy loggers
* vdat/libvdat/loggers.py: explicitly pass configuration objects
* vdat/libvdat/vdat.py: adapt
* tests/test_libvdat/test_loggers.py: moved into test_libvdat;
vdat.libvdat.loggers tested at 100%
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: disconnect the indicator printing progress to console
* vdat/gui/progress_bar.py: set value to zero when setting it up
* tests/test_gui/test_progress_bar.py: test the latter
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: make sure that x11 can deal with threads
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: add n_primaries signal to
documentation
* vdat/gui/progress_bar.py: implement the progress bar and connect to
command_interpreter signals
* vdat/gui/mainwidget.py: use the object in progress_bar.py module
* tests/test_ci/conftest.py: move clean_connected to test/conftest.py
* tests/test_gui: created
* tests/test_gui/test_progress_bar.py: added
* tests/test_gui/test_tree_view.py: moved into test_gui
* tests/test_ci/test_signals.py: make sure to clean the signals
2016-05-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: new n_primaries signal
* vdat/command_interpreter/helpers.py: helper function for that
* vdat/command_interpreter/core.py: emit the signal
* tests/test_ci/test_helpers.py: update tests
* tests/test_ci/test_signals.py: same
2016-05-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/extra_files/lines_000[LR].dat: removed
* vdat/config/extra_files/lines_[LR].par: copied from cure
* vdat/config/vdat_commands.yml: use combinearcs to create masterarcs; use
the new line files in deformer, fix option
* vdat/config/tasks.yml: adapt to the above changes; now I can run deformer
on most IFUs
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui.rst: update the configuration documentation
* vdat/config/tasks.yml: add all the remaining reduction steps
* vdat/config/vdat_setting.cfg: set the default pixel scale to 0.5, to speed
up the GUI startup
* vdat/gui/fplane.py: don't raise an error if there are no tabs for a task
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/mainwidget.py: cleanup old ways of communication
* vdat/gui/mainwindow.py: same
* vdat/gui/relay.py: remove unused signals
* vdat/gui/treeview_model.py: cleanup and mark method a pyqt slot
2016-05-02 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Change default viewer size for
reconstructed images
* vdat/gui/ifu_widget.py: Fix possible memory leak in creation of
binned images
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: remove unused imports
* vdat/gui/menubar.py: same
* vdat/gui/treeview_model.py: same
* vdat/gui/fplane.py: use itertools.product for nested loops
* vdat/gui/gui.py: removed
* vdat/gui/ifu_viewer.py: PEP8
* vdat/gui/ifu_widget.py: same
* vdat/gui/mainwidget.py: same
* vdat/gui/tasks.py: same
* doc/_source/codedoc/gui/index.rst: remove vdat.gui.gui
2016-05-02 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Show reconstructed images
* vdat/gui/central.py: Made pixelscale for reconstructed images configurable
* vdat/gui/ifu_widget.py: Show reconstructed images in ifu viewer
fixes issues 1407 and 1409
* vdat/config/vdat_setting.cfg: Added pixelscale for reconstructed images
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/conf.py: don't check pyhetdex version and use pyhetdex/latest
for intersphinx
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* README.md: update
* ReleaseNotes.md: add info about matplotlib removal
* doc/_source/conf.py: remove matplotlib
* doc/_source/install.rst: same
* tests/conftest.py: same
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: get rid of APlpy and matplotlib
* vdat/libvdat/vdat.py: same
2016-04-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: add multiprocessing
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: require pyhetdex 0.7.0
* tests/test_config/test_core.py: adapt tests to the new config files
* doc/_source/codedoc/gui/index.rst: fix typo
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui.rst: document dither tab type
* vdat/config/tasks.yml: add all reduction science steps up to dividing by
pixel flats
* vdat/gui/fplane.py: update dither type implementation
* vdat/gui/ifu_widget.py: fix bug #1405
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: add cal reduction steps
* vdat/gui/fplane.py: fix some bug with typ and fplane_single
* vdat/gui/tasks.py: remove debugging prints
* doc/_source/gui.rst: update documentation
2016-04-30 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.3.0
* ReleaseNotes.md: update
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: implement zro reduction steps
* vdat/config/vdat_commands.yml: update commands to the latest reduction
steps
* vdat/gui/central.py: fix indentation bug when submitting commands to
queue; improve string sent to the queue
* vdat/gui/fplane.py: improve FplaneWidget.change_fplane; add
documentation, fix bug with matching directory names
* vdat/gui/gui.py: make documentation happy
* vdat/gui/tasks.py: accept commands as string or as list
* vdat/gui/treeview_model.py: on selection changed pass the path of the
directory
* doc/_source/codedoc/gui/index.rst: move it from ../gui.rst, add
placeholder table
* doc/_source/codedoc/index.rst: adapt
* doc/_source/codedoc/reduction.rst: fix module name
* doc/_source/gui.rst: begin documentin tasks.yml file
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: remove debug print
* vdat/gui/fplane.py: same
* vdat/gui/ifu_widget.py: fix python3 bug
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: remove tabs.yml and buttons.yml
* vdat/config/core.py: update accordingly
* vdat/config/entry_point.py: same
* vdat/config/buttons.yml: remove
* tests/test_buttons.py: same
* vdat/config/tabs.yml: same
* vdat/gui/buttons_menu.py: same
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: add multiprocessing arguments
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: added
* vdat/config/vdat_setting.cfg: move max_delta_zro into the symlink section
and remove config_dirs
* vdat/config/core.py: add config_dirs section when loading the config file
* vdat/libvdat/symlink.py: adapt to the above; add warning when no shot file
is found in a night
* doc/_source/dirstruct.rst: document max_delta_zro
* tests/test_config/test_core.py: adapt tests
* tests/test_libvdat/test_symlink.py: add test for the above warning
2016-04-26 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/dirstruct.rst: update documentation
* doc/_source/launching.rst: same
* vdat/config/vdat_setting.cfg: rename virus_dir to virus_instrument
* tests/conftest.py: same
* tests/test_libvdat/test_symlink.py: same
* vdat/libvdat/symlink.py: update accordingly
* vdat/libvdat/vdat.py: improve description
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: modify symlinking to comply to #1358
* vdat/config/vdat_setting.cfg: add ``virus_dir`` entry to do the above
* tests/data/raw/20151025/virus: add the virus directory to the test data
* tests/conftest.py: adapt to the new directory structure
* tests/test_ci/test_types.py: same
* tests/test_libvdat/test_symlink.py: same
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: add support for multiple raw or night directories
* tests/test_libvdat/test_symlink.py: adapt the tests
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: adjust docstring
* tests/test_symlink.py: moved to tests/test_libvdat
* tests/test_libvdat/test_vdat.py: added
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_loggers.py: add some more tests
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: fix bug in the command loggers
* vdat/libvdat/loggers.py: clean up and fix few bugs
* tests/test_loggers.py: add testing for the above modules
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: push variables to environment in a function, improve
command line arguments
* vdat/config/vdat_setting.cfg: add is_rawdir_night option
* vdat/config/core.py: skip also empty lists when overriding configuration
* tests/test_config/test_core.py: test it
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: bugfix with ConfigParser file names; use mapping
interface to insert a value
* tests/test_config/test_core.py: test the vdat.config.core module
* tests/conftest.py: adapt to changes in the vdat.config.core module
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: some function moved around, override_conf added
* vdat/libvdat/vdat.py: first draft of the new command line interface
* tests/conftest.py: add fixture to clear the internal configuration
dictionary
* tests/test_config: created
* tests/test_config/test_core.py: added
* tests/test_config.py: moved and renamed tests/test_config/test_entry_point.py
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: I forgot to update the release notes
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: if a 100000 parameters in sql queries are allowed,
returns it, otherwise search for the number
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: remove SQLITE_MAX_COLUMN and add estimate of
SQLITE_MAX_VARIABLE_NUMER
* vdat/libvdat/symlink.py: use the latter when doing a bulk insert
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: estimate SQLITE_MAX_COLUMN
* vdat/libvdat/symlink.py: use the estimate when doing a bulk insert
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: remove all the multiprocessing stuff and improve
log messages
* vdat/libvdat/vdat.py: no multiprocessing things happening here
* tests/test_symlink.py: update tests to the changes
2016-04-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: make the types instance attribute
* vdat/command_interpreter/types.py: fix __getattr__ to play nicely with
pickling
2016-04-20 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_config.py: ignore .svn files
* tests/conftest.py: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_ci/conftest.py: move here some useful fixture
* tests/test_ci/test_signals.py: use the fixture
* tests/test_ci/test_command_interpreter.py: test the core module to 99%
* vdat/command_interpreter/core.py: if no file is collected return; improve
error from subprocess crashing
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: make multiprocessing work
* tests/test_ci/test_command_interpreter.py: add multiprocessing to the
tests
* setup.py: add pytest-xdist dependency for improved coverage
* tox.ini: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/conf.py: use sphinx.ext.todo instead of
pyhetdex.doc.sphinxext.tod
* setup.py: bump sphinx version
* tox.ini: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_symlink.py: make sure that no error is raised when running the
symlink of science frames
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_symlink.py: improve testing the symlink and solve issue #1335
* vdat/config/vdat_setting.cfg: improve regex to match also file names with
decimal seconds
2016-04-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump required pyhetdex version to 0.6.0
* vdat/command_interpreter/core.py: use DeferredResult when running jobs in
single processor mode
* tests/test_ci/test_command_interpreter.py: adapt the tests; test the
filter_section keyword in action; some other little fix
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: move the logging from _run to run
methods
* vdat/command_interpreter/exceptions.py: add CISubprocessError
* tests/test_ci/test_command_interpreter.py: adapt the tests
2016-04-14 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex version to 0.5
* vdat/command_interpreter/core.py: worker created and removed in
CommandInterpreter.run method
* vdat/libvdat/symlink.py: worker created and removed in do_symlink function
* vdat/libvdat/vdat.py: remove workers, as they are handled where they are
used
2016-04-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: get and report exceptions when running
the command
* ReleaseNotes.md: update
* setup.py: bump version to 0.2.4
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.2.3-post
* vdat/command_interpreter/types.py: fix bug that makes file collection
fails when using regex and directory names containing special characters
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: added; track history and help writing the report for the
next release
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_interpreter.rst: renamed, update documentation with
info about multiprocessing
* doc/_source/conf.py: use only pyhetdex latest for intersphinx
* doc/_source/dirstruct.rst: add info about multiprocessing
* doc/_source/executables.rst: expand a bit
* doc/_source/launching.rst: same
* doc/_source/index.rst: reorder some section
* vdat/command_interpreter/core.py: try to enable multiprocessing, fail
miserably
* vdat/gui/buttons_menu.py: pass multiprocessing keywords
* vdat/libvdat/vdat.py: close also command_interpreter worker
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat: rebased on ^/trunk
* setup.py: version 0.2.3-post
* tox.ini: force DISPLAY=:0
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: workaround bug with too many multiple insertions; #1345
* vdat/gui/gui.py: brute force implementation of re-symlink from gui #1333;
works, but needs review
2016-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: negative error codes exists and are
failures; fix the bug
2016-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: don't close the multiprocessing worker to allow
reusing it; set non existing rawdir to empty string; make public two
functions that might be used from further symlinking
* vdat/libvdat/vdat.py: wait and close the symlink worker
* tests/test_symlink.py: update the tests
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* merged: branches/multiple_objects@169
* setup.py: version set to 0.2.2
* vdat/command_interpreter/core.py: log also the target dir then starting a
task
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: properly symlink science frames with empty OBJECT
fields and add counter to repeated OBJECT from different shots
* tests/test_symlink.py: change test function name. The above changes has
been tested only by hand
* doc/_source/dirstruct.rst: add info about this
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version
* vdat/gui/treeview_model.py: add tool tip
* tests/test_tree_view.py: test it
* doc/_source/gui.rst: add some info about tooltip and right-click commands
available on the tree view
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: advance version
* vdat/libvdat/symlink.py: fix multiprocessing while symlinking, now it
works
* vdat/libvdat/vdat.py: little changes because of the above
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/dirstruct.rst: improve
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: add references to zero and cal directories to
every type
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: add version to command line
* vdat/libvdat/vdat.py: same
* vdat/gui/gui.py: add version to "About VDAT" menu; add links to
documentation
* vdat/gui/menu.py: pep8
2016-04-06 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: version 0.2.1-pre
* vdat/command_interpreter/types.py: extend the header type to allow
formatting the values
* tests/test_ci/test_types.py: test it
* doc/_source/command_intepreter.rst: document it
2016-04-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: write info log when a command start
running
* vdat/command_interpreter/types.py: add ``returns`` option to plain primary
type
* tests/test_ci/test_types.py: test it
* doc/_source/command_intepreter.rst: document it
2016-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: create a general section and use it in
every command; fix biassubtract fits matching to skip thumbnail fits
2016-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: different shots with multiple lamps are now
collected in the same cal directory
* vdat/config/vdat_setting.cfg: add config tell the symlinking which header
keyword has the name of the lamps
2016-04-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: improve error message when regex match
does not work; fix bug with header type and multi-word header keyword
parsing
* tests/test_ci/test_types.py: test this
2016-04-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: fix couple of bugs and remove copied files if
cloning fails
* tests/test_tree_view.py: test 97% of the treeview_model.py (I don't think
I can do more)
2016-03-31 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_tree_view.py: test checkboxes also from the tree view
perspective
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* rebase branches/symlink on top of trunk
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* merge branches/cmd_interpreter_update into trunk
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* rebase branches/cmd_interpreter_update on to of trunk
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: connect the global logger to the VDAT main logger
* vdat/command_interpreter/core.py: fix typo
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: Create a global logger signal
* vdat/command_interpreter/helpers.py: move the old default implementation
here
* vdat/command_interpreter/core.py: use the new global logger
* tests/test_ci/test_signals.py: test the global logger
* tests/test_ci/test_helpers.py: same
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: update documentation
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: connect some signal in order to have some execution
feedback
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: select directory also by enter key
* tests/test_tree_view.py: test it (it's a workaround for the fact that
there is a bug about testing clicks on tree view)
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: remove ``row`` from ReductionNode, as it's not
used
* tests/test_tree_view.py: same
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: use pytest-catchlog instead of pytest-capturelog
* tox.ini: same
* tests/test_command_interpreter.py: adapt to the change
* tests/test_tree_view.py: same
* tests/test_symlink.py: same; do the symlinking in the test function, not
setup
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: bugfix
* tests/test_tree_view.py: mark old tests as integration, unit-test 46% of the code
2016-03-17 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/models.py: add ``path`` attribute to the VDATExposures table
* vdat/libvdat/symlink.py: modify accordingly
* vdat/gui/treeview_model.py: correctly propagate VDATExposures information
when cloning and removing directories; fixed bad bug in check/uncheck
* tests/test_tree_view.py: rewrite tests for the tree view, 40% done
2016-03-16 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Renamed Raw to Exp in Tab descriptions
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: add CICommandDone signal
* vdat/command_interpreter/core.py: use it
* vdat/command_interpreter/helpers.py: add a receiver that prints out stuff
* tests/test_ci/test_signals.py: test the new signal
* tests/test_ci/test_helpers.py: test the new helper
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* merged with ^/trunk
* tests/test_ci/test_types.py: update number of files
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add @path@ to the @new_file@ type
* tests/test_ci/test_types.py: add the tests
* doc/_source/command_intepreter.rst: document it
2016-03-16 Jan Snigula <snigula@mpe.mpg.de>
* vdat/libvdat/vdat.py: Moved first import of gui till after the
XPA_METHOD was set based on config
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* merged ^/trunk
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: remove [args] section
* vdat/database/models.py: remove ThumbnailScaling table
* vdat/database/core.py: adapt
* vdat/libvdat/callback.py: removed, as is unused
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/show_fits.py: same
* doc/_source/codedoc/reduction.rst: remove callback
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: save the exposure database on files to be able to
rebuild the database from already symlinked directories
* vdat/utilities.py: add utility function for the exposure database dump
* vdat/database/base.py: use public functions to get the data from the
model; provides 3 properties to get some of the data
* vdat/database/models.py: override the data_clean property to skip the
foreign fields
* tests/test_symlink.py: adjust the tests to the changes, test the new parts
* tests/test_tree_view.py: little adjustment
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: update the new type names
* vdat/libvdat/symlink.py: adapt the vdatexposures names
* vdat/gui/buttons_menu.py: show the empty widget if no button is defined
for the type
* vdat/gui/treeview_model.py: get the type names from the database
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: adjust log messages about the type of the
symlinked shot
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: proper cleanup when the symlinking fails, small
adjustments.
* tests/conftest.py: add virus*** related fixtures
* tests/test_symlink.py: test to 100% the symlinking
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: export the database to the package level
* vdat/libvdat/symlink.py: make the insertion in the database and the
symlinking more robust to failures
* vdat/utilities.py: add new error
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/trunk
* tests/test_symlink.py: adapt the tests
2016-03-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: fix bug in @_find_nearest@, remove optional
argument from @symlink@ function
* pytest.ini: add marker for integration tests
* tests/conftest.py: add night and virus00001 fixtures
* tests/test_symlink.py: add some unit tests
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: allow unknown/nonstandard object type linking
* vdat/config/vdat_setting.cfg: add little explanation about it
* doc/_source/dirstruct.rst: document it
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex requirement to 0.4
* vdat/libvdat/symlink.py: get most of the information for the symlinking
from the file names
* vdat/config/vdat_setting.cfg: put together most of the options needed for
symlinking
* vdat/utilities.py: homogenize exceptions used by symlinking
* doc/_source/dirstruct.rst: update documentation
2016-03-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: first part of the new_file type
implementation
* tests/test_ci/test_types.py: test the new_file type
* vdat/command_interpreter/core.py: adapt to the above
* tests/test_ci/test_command_interpreter.py: same
* doc/_source/command_intepreter.rst: adjust documentation
* vdat/config/vdat_commands.yml: deformer 4 is no more
2016-02-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/__init__.py: import get_signal and
get_signal_names at the module level
* vdat/command_interpreter/types.py: fix documentation
* vdat/command_interpreter/utils.py: fix documentation
* tests/test_ci/test_utils.py: add test of id_
* doc/_source/codedoc/command_interpreter/types.rst: fix documentation
2016-02-29 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: set xpa_method to local to avoid test hanging
* vdat/command_interpreter/helpers.py: remove __all__
* vdat/command_interpreter/signals.py: same
* vdat/command_interpreter/types.py: import numpy
* doc/_source/codedoc/command_interpreter/index.rst: split the command
interpreter documentation
* doc/_source/codedoc/command_interpreter/*.rst: same
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/relay.py: renambed signals
* vdat/command_interpreter/signals.py: rewritten to have an behaviour
similar to qt signals; CILogger not reimplemented; some signal missing
* vdat/command_interpreter/__init__.py: remove the import of the relay
* vdat/command_interpreter/core.py: update according to the above changes
* vdat/command_interpreter/helpers.py: provide some function that can be
plugged in
* tests/test_ci/test_helpers.py: added
* tests/test_ci/test_signals.py: added
* doc/_source/command_intepreter.rst: relays -> signals
* doc/_source/codedoc/command_interpreter.rst: moved to
command_interpreter/index.rst
* doc/_source/codedoc/index.rst: index in the codedoc to allow reshaping of
the documentation
* doc/_source/index.rst: same
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add a method that returns a range to
SliceLike
* vdat/command_interpreter/types.py: use SliceLike in primary_loop; remove
_to_number function
* tests/test_ci/test_utils.py: test the range method
* tests/test_config.py: fixture to fix seed of random for repeatability of
tests
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: adapt types to use the new
keyword_regex and do_split = False
* tests/test_ci/test_types.py: add tests for all the secondary keywords
* doc/_source/command_intepreter.rst: fix the documentation
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add string and format customization to
SliceLike
* tests/test_ci/test_utils.py: test it
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* merge trunk
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: improve the keyword_regex functionality
* vdat/command_interpreter/utils.py: homogenize doc
* vdat/command_interpreter/core.py: move back types to class properties to be
able to run in parallel (this needs investigation)
* vdat/command_interpreter/exceptions.py: fix typo
* tests/test_ci/test_types.py: test the keyword_regex functionality
* doc/_source/command_intepreter.rst: document the new keyword_regex
2016-02-18 Francesco Montesano <montefra@mpe.mpg.de>
* tests/conftest.py: move some fixture to session scope
* vdat/command_interpreter/core.py: move the types initialisation into the
__init__
2016-02-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add SliceLike and copy some utils from
types.py
* vdat/command_interpreter/exceptions.py: import the future and add
CISliceError
* setup.cfg: add doctest
* tests/test_ci/test_utils.py: added
* tests/test_ci/test_command_interpreter.py: moved
* tests/test_ci/test_types.py: added and partially implemented
* doc/_source/codedoc/command_interpreter.rst: add types and utils
documentation
2016-02-19 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore dist
* setup.py: fix some packages minimum version, fix version number
* tox.ini: fix some packages minimum version
* vdat/command_interpreter/types.py: use Yields in documentation
* vdat/gui/fplane.py: same
* vdat/config/entry_point.py: vdat_config without subcommand behave the same
in py2 and py3
* vdat/gui/buttons_menu.py: add fplane_widget property
* vdat/gui/gui.py: mark two methods for possible delection
* tests/test_buttons.py: monkeypatch CommandButton.fplane_widget to test
without selected IFUs
* tests/test_config.py: fix test of empty vdat_config call
* tests/test_tree_view.py: adapt to the new gui structure
* doc/_source/conf.py: cleanup, PEP8 and try to guess the pyhetdex version
to for intersphinx
* doc/_source/install.rst: change link anchor name
2016-02-17 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: add relevant files to package
* pytest.ini: move pytest specif configurations here
* requirements.txt: removed
* setup.cfg: alias pytest=test command, remove pytest specific options
* setup.py: use pytest-runner, remove tox from setup
* tox.ini: remove all spurious dependences that are now reachable with pip,
add extra pypi url
* vdat/__init__.py: get version from the package configuration
* doc/_source/_templates/version.html: add version
* doc/_source/conf.py: add the above version in the side bar
* doc/_source/index.rst: add version number
* doc/_source/install.rst: update installation info
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: check if the target directory exists, even if
the path is not "."
* tests/test_config.py: add a couple of tests for the new features
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/issue1178
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: temporary disable tox_requires to avoid installation issues
* vdat/config/entry_point.py: fix #1178, improve output info and argument
parser
2016-01-27 Jan Snigula <snigula@mpe.mpg.de>
* tests/test_buttons.py: Adapt do changes made to setup_buttons
2016-01-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/gui.py: isolate the FplaneWidget and buttons; isolate the menu;
add ability to resize widgets; move logger widget into logger_widget.py
module
* vdat/libvdat/handlers.py: moved to vdat/gui/logger_widget.py
* vdat/gui/logger_widget.py: add logger widget
* vdat/gui/treeview_model.py: same
* vdat/gui/buttons_menu.py: remove size constraints
* vdat/gui/background.py: typo fixed
2016-01-19 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed missing X for missing IFUs
* vdat/gui/gui.py: Pass fplane widget along
* vdat/gui/buttons_menu.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Pass basename through
* vdat/gui/ifu_widget.py: Same
* vdat/gui/fplane.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed double click
* vdat/gui/fplane.py: New thumbnails work now, zscaling mostly as
well
2016-01-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add qimage2ndarray dependence
* vdat/libvdat/symlink.py: use directory name into vdat exposure table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/treeview_model.py: Changed a signal
* vdat/gui/menu.py: Moved code to gui
* vdat/database/core.py: Added new database table
* vdat/config/tabs.yml: Updated regexes
* vdat/gui/fplane.py: Restructured
* vdat/gui/ifu_widget.py: Moved to direct fits file loading
* vdat/database/models.py: Added new database table
* vdat/gui/gui.py: Restructured
* vdat/gui/buttons_menu.py: Changed yield behaviour
* vdat/libvdat/symlink.py: Added new database table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/__init__.py: Bumped version to 0.1.0
2015-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: load it also if pyds9 fails to import; add
notification about the import failure; add error box if
pyds9 fails to connect to a ds9 session
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added starextract
* vdat/config/buttons.yml: same
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add is_regex key to primary keywords;
when getting file names match add the full path to the regex/wildcard
* doc/_source/command_intepreter.rst: document is_regex
* vdat/config/vdat_commands.yml: add detection step; fix file names and
regex in various commands; streamline some keyword values
* vdat/config/extra_files/IFUcen_HETDEX.txt: added
* vdat/config/buttons.yml: add
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .coverage files, but no .coveragerc
* .coveragerc: added
* doc/_source/contributions.rst: add more info about tox
* doc/_source/index.rst: add link to coverage report
* requirements.txt: remove numpy
* scripts/remove_empty_coverage.sh: added
* scripts/symlink_pyqt.sh: call the python script with the full path to
``scripts`` directory
* setup.cfg: remove coverage configurations
* tests/test_buttons.py: fix test bug when ``commands`` is a string
* tox.ini: build the documentation and coverage report
2015-11-24 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: aesthetic change
* vdat/command_interpreter/core.py: raise an CIRunError when the return
value is not null
* vdat/command_interpreter/types.py: add possibility to manipulate the
return value of the ``loop`` primary key
* doc/_source/command_intepreter.rst: document it
* vdat/command_interpreter/utils.py: added
* vdat/config/buttons.yml: add the button to create the dither file
* vdat/config/extra_files/dither_positions.txt: added
* vdat/config/vdat_commands.yml: add the instruction to create the dither
files
* vdat/gui/buttons_menu.py: fix documentation typo
2015-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: change master* names to values compatible
with cure's DitherEnvironment, add symlink command to create better file
names for the science frames
* vdat/config/buttons.yml: add command for the symlinking
use ``vdat_config copy`` to update the configuration files
2015-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: set xpa_method in the environment to local by
default
* vdat/config/vdat_setting.cfg: add option to modify the xpa_method and
kdescription
2015-10-23 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new tabs to display the products
of the new reduction buttons
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: more info about the selected IFU given
* tests/data/raw/20120301: replaced with new simulations
* tests/test_command_interpreter.py: adapt to it
* tests/test_symlink.py: same
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: pass the selected ifus to the command
interpreter
* vdat/gui/fplane.py: PEP8
* vdat/config/vdat_commands.yml: add the ``filter_selected`` keyword;
improve match only fits filename starting with number
* tests/test_buttons.py: test ifu selection
2015-10-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: put commands on the queue
* vdat/gui/queue.py: adapt the queue to accept and return CommandInterpreter
instances; create set/get_queue functions
* vdat/gui/background.py: set/get_background functions; adapt the
background object to the above; fix bugs
* vdat/gui/__init__.py: adapt to the above, remove callback
* vdat/gui/relay.py: log also exception
* vdat/gui/gui.py: fix some docstring
* vdat/command_interpreter/core.py: fix a bug with template and exe
substitution
* vdat/command_interpreter/types.py: match the file name at the end of a
string
* vdat/libvdat/loggers.py: setup the loggers for the commands
* vdat/libvdat/vdat.py: use it
* vdat/config/core.py: better error handling when getting configurations
* vdat/config/extra_files/*: added
* vdat/config/entry_point.py: copy also the extra files
* vdat/config/vdat_commands.yml: fix bugs and adjust paths
* vdat/config/vdat_setting.cfg: fix the command logger configuration entries
* tests/conftest.py: force copying the configuration to avoid troubles
* tests/test_buttons.py: finish the testing of the buttons
* tests/test_command_interpreter.py: test alias replacing
* tests/test_config.py: adapt the tests to the changes due to extra
configuration files in subdirectories
2015-10-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: move button to custom class, create
CommandInterpreter instances when pushing the buttons and report problems
with a dialog
* vdat/gui/treeview_model.py: pep8
* vdat/command_interpreter/exceptions.py: fix bug with CIExeError
* vdat/config/vdat_commands.yml: masterarc needs an alias
* vdat/config/vdat_setting.cfg: add comments about redux_dirs
* vdat/database/models.py: PEP8
* vdat/libvdat/vdat.py: inject CUREBIN into the path
* tests/test_buttons.py: add a test clicking the buttons
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: rewrite the creation of the buttons
* vdat/gui/gui.py: use the new button menu
* vdat/gui/treeview_model.py: connect the button menu to switch set of
buttons when changing directory; use a signal to change the central and
button panels
* vdat/config/buttons.yml: configuration file driving the button creation
* vdat/config/vdat_setting.cfg: add it
* vdat/config/core.py: add it to the files to load
* vdat/config/entry_point.py: add it to the files to copy
* vdat/config/vdat_commands.yml: little formatting
* tests/test_buttons.py: test the button widget; for now test that is
correctly created and that the switching happens correctly
* tests/test_command_interpreter.py: make sure to get a file for the ifu 34
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added
* vdat/config/vdat_setting.cfg: add the above file
* vdat/config/core.py: load vdat_commands.yml
* vdat/config/entry_point.py: copy it; don't overwrite existing files by
default
* tests/test_config.py: test the vdat_config command
2015-10-14 Francesco Montesano <montefra@mpe.mpg.de>
Tests run for python 2.7, 3.4 and 3.5
* tests/test_command_interpreter.py: test also part of the run method. Still
to test if exceptions are handled correctly
* vdat/command_interpreter/core.py: fix bugs and improve error handling and
logging
* vdat/command_interpreter/relay.py: fix bugs with progress relay
* vdat/command_interpreter/types.py: fix bugs and don't cover template
functions
* MANIFEST.in: add readme and requirement file to avoid tox building
failures
* requirements.txt: add numpy to avoid scipy building failures
* setup.py: add new_file entry point
2015-10-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Aligned the scale combobox left to make it prettier
* vdat/libvdat/show_fits.py: replaced another call to astropy getdata with
a ``with open(fn, 'rb')`` to avoid the astropy bug
* vdat/gui/ifu_viewer.py: "Send to ds9" menu now generated dynamically when the
"ds9" menu is clicked. Only files from the currently
selected tab are sent to "ds9" when the menu item
is selected.
2015-10-13 Daniel Farrow <dfarrow@mpe.mpg.de>
* requirements.txt: added pyds9 repo
* setup.py: added pyds9 repo
* vdat/gui/ifu_viewer.py: wrapped get_header in with open(f) to avoid the
astropy bug of not closing files.
2015-10-13 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: group together entripoints
* vdat/command_interpreter/core.py: some bug fix, use execute types, some
changes with the exception handling
* vdat/command_interpreter/exceptions.py: rename some exception
* vdat/command_interpreter/types.py: add execute type and implement all the
necessary types
* tests/test_command_interpreter.py: test most of the command interpreter
initialisation
* doc/_source/command_intepreter.rst: extend documentation
* vdat/config/ci_documentation.yml: removed
2015-10-12 Daniel Farrow <dfarrow@mpe.mpg.de>:
* vdat/gui/fplane.py: moved update IFUs from init to
change_focal_plane, to avoid the
thumbnail generator looking for an
uninitialized fplane
* vdat/gui/ifu_viewer.py: Added option to select frames
and send them to a new or existing
ds9 session
* setup.py: Added pyds9 to install requires
2015-10-09 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/database/core.py: added a table to store image brightness scaling parameters
* vdat/database/models.py: as above
* vdat/gui/fplane.py: Added a section to control the brightness scaling of the thumbnails in the
focal plane. User can select scaling per fits file, or a global
scaling (which can be user specified) for the whole focal plane.
The Fplane class in now its own QWidget.
* vdat/gui/gui.py: Added comments
* vdat/gui/ifu_viewer.py: Suppresses warnings from Ginga ;-)
* vdat/gui/ifu_widget.py: IFU viewers are parented to the main window, so
they can persist when the user changes fplane
* vdat/libvdat/show_fits.py: Casts the number of rows to an integer explicitly. Connects
to a database to find, or set, global brightness
scaling parameters when required for the thumbnails. Uses a
file object with astropy getdata in order to avoid an
astropy bug.
2015-10-09 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_command_interpreter.py: first tests added
* vdat/command_interpreter/core.py: better exceptions
* vdat/command_interpreter/exceptions.py: same
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bootstrap setuptools if it's not installed
* ez_setup.py: bootstrap module
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: separate the loading from the getting of the
configurations: allow more homogeneous handling of the configuration files
* vdat/config/vdat_setting.cfg: comment a bit more
* vdat/config/entry_point.py: move here the implementation of the
``vdat_config`` executable; use pkg_resources to get copy the
configuration files
* setup.py: update the entry point
* vdat/gui/fplane.py: use the new configuration interface; PEP8
* vdat/gui/gui.py: same
* vdat/gui/ifu_viewer.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/queue.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* tests/conftest.py: same
* doc/Makefile(livehtm): add vdat/config to the tracked directories
* doc/_source/codedoc/config.rst: add code documentation
* doc/_source/index.rst: same
2015-10-07 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new configuration for the upgraded thumbnail
creation (see below)
* vdat/gui/background.py: Immediate background thread waits for last job to stop
before running the next job. Toggle system
for the isImmRunning flag removed as it depended
on the main thread being available. Now the
immediate background thread controls the isImmRunning
flag is controlled by the Worker in the thread.
* vdat/gui/fplane.py: Waits for jobs on immediate thread to stop, stops
QObjects still in use from being deleted.
* vdat/gui/gui.py: Handles the uses clicking the close button, now waits
for running jobs on the immediate thread to end. This
stops seg faults from a sudden close.
* vdat/gui/ifu_widget.py: Fixes a bug by removing the auto-regeneration
of corrupted thumbnails. Simply dumps them instead.
* vdat/libvdat/show_fits.py: Based on options in tabs.yml, create a grid of
thumbnails for the IFU widget with entries
for the different channels, amps.
2015-10-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/core.py: Added load_yaml
* vdat/config/tabs.yml: Moved tabs subsections to be direcly under
the different node types (on the same level as
the ifu_viewer and main subsections).
* vdat/gui/fplane.py: Added tools to save and generate focal
plane panels. What is displayed as a thumbnail
is decided by the user via a combo box (i.e. the raw fits, fibre-collapsed
images, arcs, flats etc.). Defaults are set in the tabs.yml
* vdat/gui/gui.py: Central panel now generated dynamically
rather than at initialization.
* vdat/gui/ifu_viewer.py: Moved load_yaml to vdat.config
* vdat/gui/relay.py: Added 'change_centralPanel' signal.
* vdat/gui/treeview_model.py: Rather than prompting an update of the IFUs,
selecting a node causes a whole new
central panel to be created
* vdat/libvdat/show_fits.py: Now show_thumbnails takes a config object
with a regex specifying the file type to
display
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add yaml
* vdat/libvdat/loggers.py: reorganize the loggers code to remove repetitions
* vdat/config/vdat_setting.cfg: adapt the configuration to this
* vdat/libvdat/vdat.py: create appropriate ginga logger
* vdat/gui/ifu_viewer.py: PEP8 frenzy; use ginga logger
* doc/_source/codedoc/reduction.rst: add logging documentation
* doc/_source/gui.rst: fix warning
* doc/_source/index.rst: add todo about logging
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter: added
* vdat/command_interpreter/__init__.py: import interface at module level
* vdat/command_interpreter/core.py: implement the interpreter
* vdat/command_interpreter/exceptions.py: define custom exceptions
* vdat/command_interpreter/helpers.py: will contain some helper function
* vdat/command_interpreter/relay.py: relay-like interface for communication
between the interpreter and the world
* vdat/command_interpreter/types.py: define classes to deal with types
* vdat/config/ci_documentation.yml: very wordy yaml file to use for
documentation purposes
* doc/Makefile: add command_interpreter for auto-compilation
* doc/_source/codedoc/command_interpreter.rst: added
* doc/_source/command_interpreter.rst: added
* doc/_source/index.rst: add the above documents
* doc/_source/codedoc/reduction.rst: remove reduction module
* vdat/libvdat/callback.py: get logger in method
2015-09-30 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: configuration file that decides what is
displayed in different panels
* vdat/config/vdat_setting.cfg: Add tabs.yml to config file
* vdat/gui/background.py: Worker now passes **kwargs and *args
* vdat/gui/ifu_viewer.py: Read in tabs.yml, creates tabs in the
viewer based on it.
* vdat/gui/ifu_widget.py: When doduble clicked and no
directory selected, ask the user to select
one
* vdat/gui/treeview_model.py: Passes the type of directory selected
to show_fits
* vdat/libvdat/loggers.py: Added a generic logger class to store
Ginga loggers
* vdat/libvdat/reduction.py: ifuid -> ihmpid when deriving filenames
* vdat/libvdat/show_fits.py: Saves the type of directory selected in the IFU object
this might not be ideal
* doc/_source/gui.rst: Added some GUI documentation
* vdat/config/core.py: Added tabs.yml to CONFIG_FILES
2015-09-23 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore build and .eggs directories
* setup.cfg: same
* setup.py: create setuptools command @tox@ to fetch tox, if necessary, and
run tox
* scripts/symlink_pyqt.sh: don't print error if pyqt4 is not symlinked
* doc/_source/contributions.rst: added; describe testing via tox and py.test
* doc/_source/index.rst: add the above
* doc/_source/install.rst: update dependency list
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: make the gui tests succeed on tox too
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: added
* setup.cfg: ignore .tox when discovering tests
* svn:ignore: add .tox directory
* MANIFEST.in: fix config directory name change
* scripts/symlink_pyqt.{sh,py}: symlink pyqt4 and sip into the tox virtual
enviroments
* vdat/libvdat/symlink.py: do not try to commit if the redux directory is
empty
* tests/conftest.py: initialise the main logger
2015-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .cache directory
* setup.py: minimum pytest-qt version; fix console_scripts module name
* tests/conftest.py: no need to get for fixtures to get the configuration
and to start the database
* tests/test_symlink.py: clean the loggers
* tests/test_tree_view.py: no need to start database;
* vdat/config/vdat_setting.cfg: disable multiprocessing by default; use only
one max delta time for calibration
* vdat/database/base.py: property to get data as dictionary
* vdat/database/core.py: init get directory where the database should go;
fix bug with @connect@
* vdat/database/models.py: new table columns, method to create the path and
merge multiple rows into one
* vdat/libvdat/symlink.py: initialize, fill and update the database when doing the
symlinking
* vdat/gui/treeview_model.py: build the view from the database
* vdat/libvdat/vdat.py: don't initialize the database
* vdat/utilities.py: merge dictionaries function added; modify some errors
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* *py: use the __future__
* vdat/database/__init__.py: split into sub modules and import only the
"public" interface
* vdat/database/base.py: define the database and the base model
* vdat/database/core.py: initialise the database and deal with the
connection
* vdat/database/models.py: custom models are implemented here
* vdat/database/old_database.py: removed
* vdat/gui/treeview_model.py: use floor with datetime.timedelta
* vdat/libvdat/symlink.py: same
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config: renamed from vdat/vdat_config
* vdat/config/__init__.py: import only "public" interface
* vdat/config/core.py: renamed from vdat/libvdat/config.py and adapted
* setup.py: add ginga, adapt ``vdat_config`` entry point to new
directories
* vdat/gui/fplane.py: use new config subpackage
* vdat/gui/ifu_widget.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* vdat/gui/relay.py: instantiate ``SignalClass`` inside a function and save
in a local list to allow for testing
* vdat/gui/__init__.py: use the new implementation
* vdat/gui/ifu_viewer.py: same (plus PEP8)
* vdat/gui/gui.py: same and config subpackage
* vdat/gui/queue.py: same
* vdat/libvdat/fits.py: same
* vdat/utilities.py (config_directory): moved to vdat/config/core.py
* tests/conftest.py: adapt to the above changes, use pyqt4 v2 api, add
fixtures to start the database and to clear lists and dictionaries at the
end of a test to allow reuse
* tests/test_tree_view.py: use new fixtures
2015-09-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: dialog confirming deletion; fix bug with
indexing
2015-09-11 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: corrected
* doc/_source: created; conf.py, the _template and _static directories and
all the rst files has been moved into this directory
* doc/Makefile: adapted to the changes
* doc/_source/*: small improvements
* setup.py: add vdat_config entry point
* vdat/libvdat/config.py: implement ``vdat_config copy`` command
* vdat/utilities.py: returns the configuration directory
* vdat/libvdat/callback.py: make the documentation happy
2015-09-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: add extra fields in preparation for issues #1048
#1049 and #1053
* vdat/gui/treeview_model.py: add context menu and handle clone and remove
actions as per #1048, adapt the building of the tree view to account for
this
* vdat/libvdat/symlink.py: add ``is_clone`` entry to the shot_file and
ignore cloned directories when re-symlinking
* vdat/utilities.py(write_to_shot_file): possible to chose between write
and append mode when writing
* vdat/gui/background.py(Background): rename ``cls`` to ``self`` for
consistency
2015-09-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add peewee dependency
* vdat/libvdat/database.py: moved to vdat/database/__init__.py
* vdat/database/__init__.py: implement the database table associated
with the entries in the tree view
* vdat/database/old_database.py: keep it for reference, it will be
eventually removed
* vdat/gui/treeview_model.py: populate the database
* vdat/utilities.py: move here from libvdat/symlink.py the functions to
read and write the shot files
* vdat/libvdat/symlink.py: modify accordingly
* vdat/libvdat/vdat.py: initialise the database
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py(ModifyableListWidget.keyPressEvent): for keys other than
the selected one, call the parent class implementation; no return
* vdat/gui/gui.py: move the buttons setup to buttons_menu module
* vdat/gui/buttons_menu.py: same, set buttons max size to 400
* vdat/gui/fplane.py: the layout is an attribute, no need for a function
* vdat/gui/treeview_model.py: set max width for the panel to 400
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: save ticked directories into the configuration
* vdat/libvdat/reduction.py: adapt to the new directory structure
* vdat/libvdat/loggers.py: set up the cure task loggers
* vdat/libvdat/cure_interface.py: move the logger setting up to loggers.py
* vdat/vdat_config/vdat_setting.cfg: add cure task loggers options
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/background.py: moved into vdat/gui as it uses all qt stuff
* vdat/gui/background.py(Background): make it a proper class, initialising
the threads with a parent to get rid of qt warnings about objects not
owned by anything
* vdat/gui/background.py(get_background): create and/or return a Background
instance; once created it returns always the same instance
* vdat/gui/__init__.py: use get_background
* vdat/gui/treeview_model.py: same
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: PEP8
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/relay.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/background.py: same
* vdat/libvdat/show_fits.py: same
* vdat/gui/ifu_widget.py: same, plus variable names fixed
* vdat/gui/menu.py: PEP8, move the action for the queue and all connections
to queue.py
* vdat/gui/queue.py: implement here the queue action and connect the signals
properly
2015-08-28 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Added ginga to requires
* vdat/gui/__init__.py: set the QString and QVariant types for ginga compatibility
* vdat/gui/ifu_viewer.py: Tells ginga to use pyqt4
* vdat/libvdat/callback.py: import show_fits instead of create_thumbnails (bug 1037)
* vdat/libvdat/show_fits.py: Checks if any files are found before creating thumbnail
2015-08-25 Francesco Montesano <montefra@mpe.mpg.de>
* doc: ignore build directory
* doc/codedoc/gui.rst: move the treeview model here
* doc/codedoc/reduction.rst: remove the treeview model
* doc/conf.py: set matplotlib backend to agg to avoid pyqt4/5 conflicts
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: A Ginja based panel that
displays a zoomable, pan-able
colourscale-able image of a FITs file,
with an added display for the header
* vdat/gui/ifu_widget.py: Launches and IFUViewer on double-click
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Added yield all IFUs function,
added a flag that when set stops
looping over IFUs (to stop
jobs more cleanly)
* vdat/gui/gui.py: Added import to flag above (for later)
* vdat/gui/ifu_widget.py: Test to see if a thumbnail
image of IFU is corrupted, if yes
try to regenerate
* vdat/gui/relay.py: Added parent argument ot initialisation
* vdat/gui/treeview_model.py: Calls function to show postage
stamps of FITs images when
a directory is selected.
* vdat/libvdat/background.py: Added a run_now function, and an
extra thread for it. This is designed
for important tasks to jump the queue.
* vdat/libvdat/callback.py: Added a comment
* vdat/libvdat/show_fits.py: New module which generates PNG images
of the detector FITs files
2015-08-20 Daniel Farrow <dfarrow@mpe.mpg.de>
* doc/command_line_tool.rst: Draft specifiation for command line tool
* doc/index.rst: Added link to above
* vdat/gui/fplane.py: Moved 'yield_selected_ifus' here, added select all and
select none functions
* vdat/gui/ifu_widget.py: Exists and selected are now properties
* vdat/gui/menu.py: Add a selection menu with 'select all' and 'select none'
* vdat/libvdat/reduction.py: Removed 'yield_selected_ifus' from here
2015-08-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Now sets the parent of the signal relay
* vdat/gui/gui.py: Renamed MainWindow -> mainWindow as it's not a class
* vdat/gui/menu.py: Sets up the new menu bar at the top of the GUI
* vdat/gui/queue.py: Queue window can be hidden and revealed from the new menu bar
* vdat/gui/relay.py: Uses dictionaries to store signals
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: the main frame must be saved in a variable, even if
it's not used, in the qt app to work properly
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
As now it's not possible to run more than one test running the gui at a
time, as it crashes. This is very likely due to the fact that there are qt
objects around without a parent, and this confuses the qtbot
* setup.py: add pytest-qt dependency
* tests/conftest.py: use matplotlib agg backend to avoid pyqt4/5 clashes.
Add fixtures and move some common code away from test_symlink
* tests/test_symlink.py: adapt to the above
* tests/test_tree_view.py: test 93% of the tree view
* vdat/gui/__init__.py: isolate the code making the main and queue window
to allow setting up tests
* vdat/libvdat/handlers.py: add parent widget in the handler
* vdat/gui/gui.py: adapt to the above
* vdat/gui/treeview_model.py: set the ReductionTreeviewModel as child of the
ReductionQTreeView
* vdat/libvdat/background.py: add a todo
2015-08-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: moved to gui
* vdat/libvdat/treeview_model.py: create the tree view from the redux
directory structure, make only directory containing the fits file
selectable, make calibration directories checkable to allow select
specific calibrations during reduction.
* vdat/gui/buttons_menu.py: add temporary button to test the tree view
model. Will be removed once the other buttons will be reimplemented
* vdat/gui/gui.py: move the creation of the tree view to the proper module;
add the above button
* vdat/libvdat/reduction.py: fixed bug with missing configuration section
2015-08-04 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* .: ignore coverage output files and directories
* setup.py: convert to pytest
* setup.cfg: same
* vdat/libvdat/symlink.py: make rerun symlink more robust and write a file
"SHOT_FILE" with all the relevant informations of the symlinked shot as a
json
* vdat/utilities.py: add json serialisation and de-serialisation of datetime
instances
* vdat/vdat_config/vdat_setting.cfg: add max_delta_zro option
* vdat/gui/__init__.py: don't import symlink module
* tests: add tests
* tests/data/raw: add fits files for testing: zro, sci, flt, arc shots, 3
IFUs and 3 exposures each
* tests/conftest.py: add fixtures
* tests/test_symlink.py: test the symlinking (edge cases still missing)
2015-07-30 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* vdat/libvdat/symlink.py: almost completely rewritten; data symlinked at
the shot level; calibration frames divided in subdirectories; flat and arc
collected in the same 'cal' directory
* vdat/libvdat/vdat.py: symlink done before calling the gui; multiprocessing
set up
* vdat/utilities.py: custom exceptions added
* vdat/vdat_config/vdat_setting.cfg: add raw directory, add multiprocessing,
add maximum time delta to use when grouping flat and arc frames
* vdat/libvdat/loggers.py: set logger level to debug
* vdat/gui/__init__.py: don't do the symlink here
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/loggers.py: created moving code out of vdat.py and
reorganizing it
* vdat/libvdat/vdat.py: updated according to the above
* vdat/vdat_config/vdat_setting.cfg: more logging configuration given
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add six dependency
* vdat/gui/__init__.py: PEP8
* vdat/gui/buttons_menu.py: PEP8 and documentation fixes
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/relay.py: same
* vdat/gui/queue.py: same, plus using self instead of parent class method
* vdat/libvdat/background.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/config.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/database.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/handlers.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/treeview_model.py: same
* vdat/libvdat/vdat.py: same
* vdat/utilities.py: same
2015-07-02 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/libvdat/reduction.py: Added routine for creating error files with photon
noise, extracting the data region of the files
and joining the amplifiers
* vdat/vdat_config/vdat_setting.cfg: Added options for the new commands
* vdat/gui/gui.py: Added buttons for the new routines
2015-07-01 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/gui.py: Switched from file browser to a custom model in the treeview widget. Currently
it just gives a hard-coded example of the new custom model's
capabilities.
* vdat/libvdat/treeview_model.py: Added a customisable model for the treeview widget to
use. It can show different reduction steps in a
branching hierachy.
2015-06-16 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Create a queue
* vdat/gui/buttons_menu.py: Added comments
* vdat/gui/fplane.py: Got rid of the unneccessary extra IFU type
now there is just one type defined in
ifu_widget
* vdat/gui/gui.py: Added a button
* vdat/gui/ifu_widget.py: Turned into a pyhetdex IFU type, added
methods to update the picture in the IFU
to reflect whether the IFU has input files
or not.
* vdat/gui/queue.py: A queue window, which keeps track of the
commands a user has requested and runs
them when they reach the head of the queue. The
user can also delete these commands.
* vdat/gui/static/unreduced.png: New image to differentiate
between IFUs with and without input files
* vdat/libvdat/background.py: Uses the queue
* vdat/libvdat/callback.py: Uses the queue
* vdat/libvdat/reduction.py: New function the subtract masterbias and overscan from files
* vdat/libvdat/symlink.py: Tells the IFU object it exists if it finds FITs files from it
Updated documentation and installation files:
* doc/codedoc/gui.rst
* doc/codedoc/reduction.rst
* doc/index.rst
* doc/queue.rst
* requirements.txt
* MANIFEST.in
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
* MANIFEST.in: Added fplane.txt file, so it is also installed!
* doc/install.rst: Tweaked documentation
* doc/launching.rst: As above
* requirements.txt: Added command to install pyhetdex
* vdat/libvdat/vdat.py: Added check to see if config file exists
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
Added Sphinx documentation (under doc/), minor
modifications to comments
* AUTHORS
* LICENSE
* README.md: Added new dependencies
* doc/: Added documentation here
* vdat/gui/gui.py
* vdat/libvdat/reduction.py
2015-06-11 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/buttons_menu.py: Fixed python3 compatibility by using String instead of QString
* vdat/gui/fplane.py: Added a custom IFU class with a variable indicating if the IFU is selected
* vdat/gui/gui.py: Added a create masterbias button
* vdat/gui/ifu_widget.py: Made the widget selectable, add blue frame when not selected
* vdat/libvdat/cure_interface.py: Now tells the worker to clear jobs, so the progress bar is refreshed
* vdat/libvdat/reduction.py: Added create master bias function, subtract overscan now only works on selected IFUs
* vdat/libvdat/symlink.py
* vdat/vdat_config/vdat_setting.cfg: Added a format statement specifying the VIRUS filename structure
2015-06-01 Daniel Farrow <dfarrow@mpe.mpg.de>
Started using the multiprocessing tools
from pyhetdex to run jobs in parallel.
Implemented a progress bar to check how
far a job has gone. Moved logs to a
user specified log directory. A few improvements
in commenting and other minor things.
* setup.py: Added APlpy to list of required Python modules
* vdat/gui/buttons_menu.py: Now supports displaying a tooltip
* vdat/gui/fplane.py: Improved comments
* vdat/gui/gui.py: Got rid of silly buttons like "Make Coffee"
* vdat/gui/relay.py: A module to send signals to the GUI (i.e. update progress bar etc)
* vdat/libvdat/background.py
* vdat/libvdat/cure_interface.py: Functions to wrap around CURE, runs in parallel
* vdat/libvdat/fits.py: Uses multiprocessing
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Uses cure_interface
* vdat/libvdat/symlink.py: Tells the user when symlinking is done
* vdat/libvdat/vdat.py: Set up log directory
* vdat/vdat_config/vdat_setting.cfg: Added log directory and changed wildcards to conform
to pyhetdex:r74
2015-05-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: update ``scan_dirs`` after pyhetdex:r74. PEP8
and numpydoc compliant
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
A few minor modifications to style based on
Francesco's comments. Added a subtract overscan
routine. Switched to using file names rather
than a database when running commands. Added
a module to make it easier for the code
to signal the GUI.
* vdat/gui/buttons_menu.py
* vdat/gui/fplane.py
* vdat/gui/gui.py
* vdat/gui/ifu_widget.py
* vdat/gui/relay.py: Module to relay signals to the GUI
* vdat/libvdat/background.py
* vdat/libvdat/callback.py
* vdat/libvdat/database.py
* vdat/libvdat/fits.py
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Added function to subtract overscans
* vdat/libvdat/symlink.py: Tells GUI to update file browser panel when symlink done
* vdat/vdat_config/vdat_setting.cfg: Added some wildcards to find files
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
Added an internal sqlite3 database to keep track
of what files are available. Created a background
thread with which to run things so they don't lock
up the GUI when they're running. Implemented
a simple code which loops through all fits files
and converts them to PNGs.
* vdat/gui/__init__.py: Moved call to symlink to here
* vdat/gui/gui.py: Added a (currently disabled) progress bar
* vdat/libvdat/background.py: run jobs in a separate thread
* vdat/libvdat/callback.py: Added calls to Background
* vdat/libvdat/database.py: Internal database to keep track of files
* vdat/libvdat/fits.py: Implements a simple fits -> PNG conversion
* vdat/libvdat/handlers.py: Now uses signals to interface with GUI to be thread safe
* vdat/libvdat/symlink.py: Can read rawdir from config file
* vdat/libvdat/vdat.py: Moved symlink from here.
2015-05-18 Daniel Farrow <dfarrow@mpe.mpg.de>
Switched to using PyQt4 and fixed python 2.7
compatibility. Added symlink function as
described by issue #821
* vdat/gui/__init__.py: ... switched to PyQt4
* vdat/gui/buttons_menu.py: PyQt4
* vdat/gui/fplane.py: PyQt4
* vdat/gui/gui.py: PyQt4
* vdat/gui/ifu_widget.py: PyQt4
* vdat/libvdat/callback.py: Function factory to return functions to connect to
button clicks. Currently just returns a function that prints "Not implemented"
* vdat/libvdat/config.py: Read options to do with logging
* vdat/libvdat/handlers.py: PyQt4
* vdat/libvdat/symlink.py: symlinks files from raw to redux directory (issue 821)
* vdat/libvdat/vdat.py: Sets up logging, switched to PyQt4
* vdat/vdat_config/vdat_setting.cfg: Added options to do with logging
2015-05-14 Daniel Farrow <dfarrow@mpe.mpg.de>
Added a new handler for the logger which
prints colour-coded messaged to the text
panel of the VDAT GUI
* libvdat/handler.py: Created a new Handler for logging
* gui/gui.py: Attached the QTextEdit panel to the Handler
* gui/__init__: Prints a welcome message using the new logger
2015-05-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Modified to point to vdat.py:main()
* libvdat/__init__.py: added (empty file)
* libvdat/vdat.py: added, reads in config file, starts GUI
* vdat_config/vdat_settings.cfg: added
* vdat_config/fplane.txt: added
* gui/fplane.py: Reads in fplane.txt and displays it
* gui/ifu_widget.py: Added. Derives QLabel, shows the IFU
* gui/ifu_widget.py: Includes a custom handler for resize events
* gui/resources/empty.png: Copied from Quicklook
* MANINFEST.in: Read by pip to tell it to install the empty.png file
2015-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* gui: moved to vdat/gui
* README.md: some basic installation info added
* setup.py: install vdat package and create ``vdat`` executable
* setup.cfg: setup configuration
* vdat/__init__.py: version number
* vdat/gui/buttons_menu.py: absolute import, some PEP8
* vdat/gui/fplane.py: absolute import, some PEP8
* vdat/gui/gui.py: absolute import, some PEP8
* vdat/gui/__init__.py: same, isolate main function
* svn:ignore: egg dir added
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex requirement to 0.4
* vdat/libvdat/symlink.py: get most of the information for the symlinking
from the file names
* vdat/config/vdat_setting.cfg: put together most of the options needed for
symlinking
* vdat/utilities.py: homogenize exceptions used by symlinking
* doc/_source/dirstruct.rst: update documentation
2016-02-19 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore dist
* setup.py: fix some packages minimum version, fix version number
* tox.ini: fix some packages minimum version
* vdat/command_interpreter/types.py: use Yields in documentation
* vdat/gui/fplane.py: same
* vdat/config/entry_point.py: vdat_config without subcommand behave the same
in py2 and py3
* vdat/gui/buttons_menu.py: add fplane_widget property
* vdat/gui/gui.py: mark two methods for possible delection
* tests/test_buttons.py: monkeypatch CommandButton.fplane_widget to test
without selected IFUs
* tests/test_config.py: fix test of empty vdat_config call
* tests/test_tree_view.py: adapt to the new gui structure
* doc/_source/conf.py: cleanup, PEP8 and try to guess the pyhetdex version
to for intersphinx
* doc/_source/install.rst: change link anchor name
2016-02-17 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: add relevant files to package
* pytest.ini: move pytest specif configurations here
* requirements.txt: removed
* setup.cfg: alias pytest=test command, remove pytest specific options
* setup.py: use pytest-runner, remove tox from setup
* tox.ini: remove all spurious dependences that are now reachable with pip,
add extra pypi url
* vdat/__init__.py: get version from the package configuration
* doc/_source/_templates/version.html: add version
* doc/_source/conf.py: add the above version in the side bar
* doc/_source/index.rst: add version number
* doc/_source/install.rst: update installation info
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: check if the target directory exists, even if
the path is not "."
* tests/test_config.py: add a couple of tests for the new features
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/issue1178
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: temporary disable tox_requires to avoid installation issues
* vdat/config/entry_point.py: fix #1178, improve output info and argument
parser
2016-01-27 Jan Snigula <snigula@mpe.mpg.de>
* tests/test_buttons.py: Adapt do changes made to setup_buttons
2016-01-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/gui.py: isolate the FplaneWidget and buttons; isolate the menu;
add ability to resize widgets; move logger widget into logger_widget.py
module
* vdat/libvdat/handlers.py: moved to vdat/gui/logger_widget.py
* vdat/gui/logger_widget.py: add logger widget
* vdat/gui/treeview_model.py: same
* vdat/gui/buttons_menu.py: remove size constraints
* vdat/gui/background.py: typo fixed
2016-01-19 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed missing X for missing IFUs
* vdat/gui/gui.py: Pass fplane widget along
* vdat/gui/buttons_menu.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Pass basename through
* vdat/gui/ifu_widget.py: Same
* vdat/gui/fplane.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed double click
* vdat/gui/fplane.py: New thumbnails work now, zscaling mostly as
well
2016-01-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add qimage2ndarray dependence
* vdat/libvdat/symlink.py: use directory name into vdat exposure table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/treeview_model.py: Changed a signal
* vdat/gui/menu.py: Moved code to gui
* vdat/database/core.py: Added new database table
* vdat/config/tabs.yml: Updated regexes
* vdat/gui/fplane.py: Restructured
* vdat/gui/ifu_widget.py: Moved to direct fits file loading
* vdat/database/models.py: Added new database table
* vdat/gui/gui.py: Restructured
* vdat/gui/buttons_menu.py: Changed yield behaviour
* vdat/libvdat/symlink.py: Added new database table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/__init__.py: Bumped version to 0.1.0
2015-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: load it also if pyds9 fails to import; add
notification about the import failure; add error box if
pyds9 fails to connect to a ds9 session
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added starextract
* vdat/config/buttons.yml: same
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add is_regex key to primary keywords;
when getting file names match add the full path to the regex/wildcard
* doc/_source/command_intepreter.rst: document is_regex
* vdat/config/vdat_commands.yml: add detection step; fix file names and
regex in various commands; streamline some keyword values
* vdat/config/extra_files/IFUcen_HETDEX.txt: added
* vdat/config/buttons.yml: add
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .coverage files, but no .coveragerc
* .coveragerc: added
* doc/_source/contributions.rst: add more info about tox
* doc/_source/index.rst: add link to coverage report
* requirements.txt: remove numpy
* scripts/remove_empty_coverage.sh: added
* scripts/symlink_pyqt.sh: call the python script with the full path to
``scripts`` directory
* setup.cfg: remove coverage configurations
* tests/test_buttons.py: fix test bug when ``commands`` is a string
* tox.ini: build the documentation and coverage report
2015-11-24 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: aesthetic change
* vdat/command_interpreter/core.py: raise an CIRunError when the return
value is not null
* vdat/command_interpreter/types.py: add possibility to manipulate the
return value of the ``loop`` primary key
* doc/_source/command_intepreter.rst: document it
* vdat/command_interpreter/utils.py: added
* vdat/config/buttons.yml: add the button to create the dither file
* vdat/config/extra_files/dither_positions.txt: added
* vdat/config/vdat_commands.yml: add the instruction to create the dither
files
* vdat/gui/buttons_menu.py: fix documentation typo
2015-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: change master* names to values compatible
with cure's DitherEnvironment, add symlink command to create better file
names for the science frames
* vdat/config/buttons.yml: add command for the symlinking
use ``vdat_config copy`` to update the configuration files
2015-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: set xpa_method in the environment to local by
default
* vdat/config/vdat_setting.cfg: add option to modify the xpa_method and
kdescription
2015-10-23 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new tabs to display the products
of the new reduction buttons
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: more info about the selected IFU given
* tests/data/raw/20120301: replaced with new simulations
* tests/test_command_interpreter.py: adapt to it
* tests/test_symlink.py: same
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: pass the selected ifus to the command
interpreter
* vdat/gui/fplane.py: PEP8
* vdat/config/vdat_commands.yml: add the ``filter_selected`` keyword;
improve match only fits filename starting with number
* tests/test_buttons.py: test ifu selection
2015-10-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: put commands on the queue
* vdat/gui/queue.py: adapt the queue to accept and return CommandInterpreter
instances; create set/get_queue functions
* vdat/gui/background.py: set/get_background functions; adapt the
background object to the above; fix bugs
* vdat/gui/__init__.py: adapt to the above, remove callback
* vdat/gui/relay.py: log also exception
* vdat/gui/gui.py: fix some docstring
* vdat/command_interpreter/core.py: fix a bug with template and exe
substitution
* vdat/command_interpreter/types.py: match the file name at the end of a
string
* vdat/libvdat/loggers.py: setup the loggers for the commands
* vdat/libvdat/vdat.py: use it
* vdat/config/core.py: better error handling when getting configurations
* vdat/config/extra_files/*: added
* vdat/config/entry_point.py: copy also the extra files
* vdat/config/vdat_commands.yml: fix bugs and adjust paths
* vdat/config/vdat_setting.cfg: fix the command logger configuration entries
* tests/conftest.py: force copying the configuration to avoid troubles
* tests/test_buttons.py: finish the testing of the buttons
* tests/test_command_interpreter.py: test alias replacing
* tests/test_config.py: adapt the tests to the changes due to extra
configuration files in subdirectories
2015-10-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: move button to custom class, create
CommandInterpreter instances when pushing the buttons and report problems
with a dialog
* vdat/gui/treeview_model.py: pep8
* vdat/command_interpreter/exceptions.py: fix bug with CIExeError
* vdat/config/vdat_commands.yml: masterarc needs an alias
* vdat/config/vdat_setting.cfg: add comments about redux_dirs
* vdat/database/models.py: PEP8
* vdat/libvdat/vdat.py: inject CUREBIN into the path
* tests/test_buttons.py: add a test clicking the buttons
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: rewrite the creation of the buttons
* vdat/gui/gui.py: use the new button menu
* vdat/gui/treeview_model.py: connect the button menu to switch set of
buttons when changing directory; use a signal to change the central and
button panels
* vdat/config/buttons.yml: configuration file driving the button creation
* vdat/config/vdat_setting.cfg: add it
* vdat/config/core.py: add it to the files to load
* vdat/config/entry_point.py: add it to the files to copy
* vdat/config/vdat_commands.yml: little formatting
* tests/test_buttons.py: test the button widget; for now test that is
correctly created and that the switching happens correctly
* tests/test_command_interpreter.py: make sure to get a file for the ifu 34
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added
* vdat/config/vdat_setting.cfg: add the above file
* vdat/config/core.py: load vdat_commands.yml
* vdat/config/entry_point.py: copy it; don't overwrite existing files by
default
* tests/test_config.py: test the vdat_config command
2015-10-14 Francesco Montesano <montefra@mpe.mpg.de>
Tests run for python 2.7, 3.4 and 3.5
* tests/test_command_interpreter.py: test also part of the run method. Still
to test if exceptions are handled correctly
* vdat/command_interpreter/core.py: fix bugs and improve error handling and
logging
* vdat/command_interpreter/relay.py: fix bugs with progress relay
* vdat/command_interpreter/types.py: fix bugs and don't cover template
functions
* MANIFEST.in: add readme and requirement file to avoid tox building
failures
* requirements.txt: add numpy to avoid scipy building failures
* setup.py: add new_file entry point
2015-10-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Aligned the scale combobox left to make it prettier
* vdat/libvdat/show_fits.py: replaced another call to astropy getdata with
a ``with open(fn, 'rb')`` to avoid the astropy bug
* vdat/gui/ifu_viewer.py: "Send to ds9" menu now generated dynamically when the
"ds9" menu is clicked. Only files from the currently
selected tab are sent to "ds9" when the menu item
is selected.
2015-10-13 Daniel Farrow <dfarrow@mpe.mpg.de>
* requirements.txt: added pyds9 repo
* setup.py: added pyds9 repo
* vdat/gui/ifu_viewer.py: wrapped get_header in with open(f) to avoid the
astropy bug of not closing files.
2015-10-13 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: group together entripoints
* vdat/command_interpreter/core.py: some bug fix, use execute types, some
changes with the exception handling
* vdat/command_interpreter/exceptions.py: rename some exception
* vdat/command_interpreter/types.py: add execute type and implement all the
necessary types
* tests/test_command_interpreter.py: test most of the command interpreter
initialisation
* doc/_source/command_intepreter.rst: extend documentation
* vdat/config/ci_documentation.yml: removed
2015-10-12 Daniel Farrow <dfarrow@mpe.mpg.de>:
* vdat/gui/fplane.py: moved update IFUs from init to
change_focal_plane, to avoid the
thumbnail generator looking for an
uninitialized fplane
* vdat/gui/ifu_viewer.py: Added option to select frames
and send them to a new or existing
ds9 session
* setup.py: Added pyds9 to install requires
2015-10-09 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/database/core.py: added a table to store image brightness scaling parameters
* vdat/database/models.py: as above
* vdat/gui/fplane.py: Added a section to control the brightness scaling of the thumbnails in the
focal plane. User can select scaling per fits file, or a global
scaling (which can be user specified) for the whole focal plane.
The Fplane class in now its own QWidget.
* vdat/gui/gui.py: Added comments
* vdat/gui/ifu_viewer.py: Suppresses warnings from Ginga ;-)
* vdat/gui/ifu_widget.py: IFU viewers are parented to the main window, so
they can persist when the user changes fplane
* vdat/libvdat/show_fits.py: Casts the number of rows to an integer explicitly. Connects
to a database to find, or set, global brightness
scaling parameters when required for the thumbnails. Uses a
file object with astropy getdata in order to avoid an
astropy bug.
2015-10-09 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_command_interpreter.py: first tests added
* vdat/command_interpreter/core.py: better exceptions
* vdat/command_interpreter/exceptions.py: same
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bootstrap setuptools if it's not installed
* ez_setup.py: bootstrap module
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: separate the loading from the getting of the
configurations: allow more homogeneous handling of the configuration files
* vdat/config/vdat_setting.cfg: comment a bit more
* vdat/config/entry_point.py: move here the implementation of the
``vdat_config`` executable; use pkg_resources to get copy the
configuration files
* setup.py: update the entry point
* vdat/gui/fplane.py: use the new configuration interface; PEP8
* vdat/gui/gui.py: same
* vdat/gui/ifu_viewer.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/queue.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* tests/conftest.py: same
* doc/Makefile(livehtm): add vdat/config to the tracked directories
* doc/_source/codedoc/config.rst: add code documentation
* doc/_source/index.rst: same
2015-10-07 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new configuration for the upgraded thumbnail
creation (see below)
* vdat/gui/background.py: Immediate background thread waits for last job to stop
before running the next job. Toggle system
for the isImmRunning flag removed as it depended
on the main thread being available. Now the
immediate background thread controls the isImmRunning
flag is controlled by the Worker in the thread.
* vdat/gui/fplane.py: Waits for jobs on immediate thread to stop, stops
QObjects still in use from being deleted.
* vdat/gui/gui.py: Handles the uses clicking the close button, now waits
for running jobs on the immediate thread to end. This
stops seg faults from a sudden close.
* vdat/gui/ifu_widget.py: Fixes a bug by removing the auto-regeneration
of corrupted thumbnails. Simply dumps them instead.
* vdat/libvdat/show_fits.py: Based on options in tabs.yml, create a grid of
thumbnails for the IFU widget with entries
for the different channels, amps.
2015-10-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/core.py: Added load_yaml
* vdat/config/tabs.yml: Moved tabs subsections to be direcly under
the different node types (on the same level as
the ifu_viewer and main subsections).
* vdat/gui/fplane.py: Added tools to save and generate focal
plane panels. What is displayed as a thumbnail
is decided by the user via a combo box (i.e. the raw fits, fibre-collapsed
images, arcs, flats etc.). Defaults are set in the tabs.yml
* vdat/gui/gui.py: Central panel now generated dynamically
rather than at initialization.
* vdat/gui/ifu_viewer.py: Moved load_yaml to vdat.config
* vdat/gui/relay.py: Added 'change_centralPanel' signal.
* vdat/gui/treeview_model.py: Rather than prompting an update of the IFUs,
selecting a node causes a whole new
central panel to be created
* vdat/libvdat/show_fits.py: Now show_thumbnails takes a config object
with a regex specifying the file type to
display
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add yaml
* vdat/libvdat/loggers.py: reorganize the loggers code to remove repetitions
* vdat/config/vdat_setting.cfg: adapt the configuration to this
* vdat/libvdat/vdat.py: create appropriate ginga logger
* vdat/gui/ifu_viewer.py: PEP8 frenzy; use ginga logger
* doc/_source/codedoc/reduction.rst: add logging documentation
* doc/_source/gui.rst: fix warning
* doc/_source/index.rst: add todo about logging
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter: added
* vdat/command_interpreter/__init__.py: import interface at module level
* vdat/command_interpreter/core.py: implement the interpreter
* vdat/command_interpreter/exceptions.py: define custom exceptions
* vdat/command_interpreter/helpers.py: will contain some helper function
* vdat/command_interpreter/relay.py: relay-like interface for communication
between the interpreter and the world
* vdat/command_interpreter/types.py: define classes to deal with types
* vdat/config/ci_documentation.yml: very wordy yaml file to use for
documentation purposes
* doc/Makefile: add command_interpreter for auto-compilation
* doc/_source/codedoc/command_interpreter.rst: added
* doc/_source/command_interpreter.rst: added
* doc/_source/index.rst: add the above documents
* doc/_source/codedoc/reduction.rst: remove reduction module
* vdat/libvdat/callback.py: get logger in method
2015-09-30 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: configuration file that decides what is
displayed in different panels
* vdat/config/vdat_setting.cfg: Add tabs.yml to config file
* vdat/gui/background.py: Worker now passes **kwargs and *args
* vdat/gui/ifu_viewer.py: Read in tabs.yml, creates tabs in the
viewer based on it.
* vdat/gui/ifu_widget.py: When doduble clicked and no
directory selected, ask the user to select
one
* vdat/gui/treeview_model.py: Passes the type of directory selected
to show_fits
* vdat/libvdat/loggers.py: Added a generic logger class to store
Ginga loggers
* vdat/libvdat/reduction.py: ifuid -> ihmpid when deriving filenames
* vdat/libvdat/show_fits.py: Saves the type of directory selected in the IFU object
this might not be ideal
* doc/_source/gui.rst: Added some GUI documentation
* vdat/config/core.py: Added tabs.yml to CONFIG_FILES
2015-09-23 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore build and .eggs directories
* setup.cfg: same
* setup.py: create setuptools command @tox@ to fetch tox, if necessary, and
run tox
* scripts/symlink_pyqt.sh: don't print error if pyqt4 is not symlinked
* doc/_source/contributions.rst: added; describe testing via tox and py.test
* doc/_source/index.rst: add the above
* doc/_source/install.rst: update dependency list
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: make the gui tests succeed on tox too
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: added
* setup.cfg: ignore .tox when discovering tests
* svn:ignore: add .tox directory
* MANIFEST.in: fix config directory name change
* scripts/symlink_pyqt.{sh,py}: symlink pyqt4 and sip into the tox virtual
enviroments
* vdat/libvdat/symlink.py: do not try to commit if the redux directory is
empty
* tests/conftest.py: initialise the main logger
2015-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .cache directory
* setup.py: minimum pytest-qt version; fix console_scripts module name
* tests/conftest.py: no need to get for fixtures to get the configuration
and to start the database
* tests/test_symlink.py: clean the loggers
* tests/test_tree_view.py: no need to start database;
* vdat/config/vdat_setting.cfg: disable multiprocessing by default; use only
one max delta time for calibration
* vdat/database/base.py: property to get data as dictionary
* vdat/database/core.py: init get directory where the database should go;
fix bug with @connect@
* vdat/database/models.py: new table columns, method to create the path and
merge multiple rows into one
* vdat/libvdat/symlink.py: initialize, fill and update the database when doing the
symlinking
* vdat/gui/treeview_model.py: build the view from the database
* vdat/libvdat/vdat.py: don't initialize the database
* vdat/utilities.py: merge dictionaries function added; modify some errors
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* *py: use the __future__
* vdat/database/__init__.py: split into sub modules and import only the
"public" interface
* vdat/database/base.py: define the database and the base model
* vdat/database/core.py: initialise the database and deal with the
connection
* vdat/database/models.py: custom models are implemented here
* vdat/database/old_database.py: removed
* vdat/gui/treeview_model.py: use floor with datetime.timedelta
* vdat/libvdat/symlink.py: same
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config: renamed from vdat/vdat_config
* vdat/config/__init__.py: import only "public" interface
* vdat/config/core.py: renamed from vdat/libvdat/config.py and adapted
* setup.py: add ginga, adapt ``vdat_config`` entry point to new
directories
* vdat/gui/fplane.py: use new config subpackage
* vdat/gui/ifu_widget.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* vdat/gui/relay.py: instantiate ``SignalClass`` inside a function and save
in a local list to allow for testing
* vdat/gui/__init__.py: use the new implementation
* vdat/gui/ifu_viewer.py: same (plus PEP8)
* vdat/gui/gui.py: same and config subpackage
* vdat/gui/queue.py: same
* vdat/libvdat/fits.py: same
* vdat/utilities.py (config_directory): moved to vdat/config/core.py
* tests/conftest.py: adapt to the above changes, use pyqt4 v2 api, add
fixtures to start the database and to clear lists and dictionaries at the
end of a test to allow reuse
* tests/test_tree_view.py: use new fixtures
2015-09-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: dialog confirming deletion; fix bug with
indexing
2015-09-11 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: corrected
* doc/_source: created; conf.py, the _template and _static directories and
all the rst files has been moved into this directory
* doc/Makefile: adapted to the changes
* doc/_source/*: small improvements
* setup.py: add vdat_config entry point
* vdat/libvdat/config.py: implement ``vdat_config copy`` command
* vdat/utilities.py: returns the configuration directory
* vdat/libvdat/callback.py: make the documentation happy
2015-09-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: add extra fields in preparation for issues #1048
#1049 and #1053
* vdat/gui/treeview_model.py: add context menu and handle clone and remove
actions as per #1048, adapt the building of the tree view to account for
this
* vdat/libvdat/symlink.py: add ``is_clone`` entry to the shot_file and
ignore cloned directories when re-symlinking
* vdat/utilities.py(write_to_shot_file): possible to chose between write
and append mode when writing
* vdat/gui/background.py(Background): rename ``cls`` to ``self`` for
consistency
2015-09-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add peewee dependency
* vdat/libvdat/database.py: moved to vdat/database/__init__.py
* vdat/database/__init__.py: implement the database table associated
with the entries in the tree view
* vdat/database/old_database.py: keep it for reference, it will be
eventually removed
* vdat/gui/treeview_model.py: populate the database
* vdat/utilities.py: move here from libvdat/symlink.py the functions to
read and write the shot files
* vdat/libvdat/symlink.py: modify accordingly
* vdat/libvdat/vdat.py: initialise the database
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py(ModifyableListWidget.keyPressEvent): for keys other than
the selected one, call the parent class implementation; no return
* vdat/gui/gui.py: move the buttons setup to buttons_menu module
* vdat/gui/buttons_menu.py: same, set buttons max size to 400
* vdat/gui/fplane.py: the layout is an attribute, no need for a function
* vdat/gui/treeview_model.py: set max width for the panel to 400
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: save ticked directories into the configuration
* vdat/libvdat/reduction.py: adapt to the new directory structure
* vdat/libvdat/loggers.py: set up the cure task loggers
* vdat/libvdat/cure_interface.py: move the logger setting up to loggers.py
* vdat/vdat_config/vdat_setting.cfg: add cure task loggers options
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/background.py: moved into vdat/gui as it uses all qt stuff
* vdat/gui/background.py(Background): make it a proper class, initialising
the threads with a parent to get rid of qt warnings about objects not
owned by anything
* vdat/gui/background.py(get_background): create and/or return a Background
instance; once created it returns always the same instance
* vdat/gui/__init__.py: use get_background
* vdat/gui/treeview_model.py: same
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: PEP8
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/relay.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/background.py: same
* vdat/libvdat/show_fits.py: same
* vdat/gui/ifu_widget.py: same, plus variable names fixed
* vdat/gui/menu.py: PEP8, move the action for the queue and all connections
to queue.py
* vdat/gui/queue.py: implement here the queue action and connect the signals
properly
2015-08-28 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Added ginga to requires
* vdat/gui/__init__.py: set the QString and QVariant types for ginga compatibility
* vdat/gui/ifu_viewer.py: Tells ginga to use pyqt4
* vdat/libvdat/callback.py: import show_fits instead of create_thumbnails (bug 1037)
* vdat/libvdat/show_fits.py: Checks if any files are found before creating thumbnail
2015-08-25 Francesco Montesano <montefra@mpe.mpg.de>
* doc: ignore build directory
* doc/codedoc/gui.rst: move the treeview model here
* doc/codedoc/reduction.rst: remove the treeview model
* doc/conf.py: set matplotlib backend to agg to avoid pyqt4/5 conflicts
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: A Ginja based panel that
displays a zoomable, pan-able
colourscale-able image of a FITs file,
with an added display for the header
* vdat/gui/ifu_widget.py: Launches and IFUViewer on double-click
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Added yield all IFUs function,
added a flag that when set stops
looping over IFUs (to stop
jobs more cleanly)
* vdat/gui/gui.py: Added import to flag above (for later)
* vdat/gui/ifu_widget.py: Test to see if a thumbnail
image of IFU is corrupted, if yes
try to regenerate
* vdat/gui/relay.py: Added parent argument ot initialisation
* vdat/gui/treeview_model.py: Calls function to show postage
stamps of FITs images when
a directory is selected.
* vdat/libvdat/background.py: Added a run_now function, and an
extra thread for it. This is designed
for important tasks to jump the queue.
* vdat/libvdat/callback.py: Added a comment
* vdat/libvdat/show_fits.py: New module which generates PNG images
of the detector FITs files
2015-08-20 Daniel Farrow <dfarrow@mpe.mpg.de>
* doc/command_line_tool.rst: Draft specifiation for command line tool
* doc/index.rst: Added link to above
* vdat/gui/fplane.py: Moved 'yield_selected_ifus' here, added select all and
select none functions
* vdat/gui/ifu_widget.py: Exists and selected are now properties
* vdat/gui/menu.py: Add a selection menu with 'select all' and 'select none'
* vdat/libvdat/reduction.py: Removed 'yield_selected_ifus' from here
2015-08-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Now sets the parent of the signal relay
* vdat/gui/gui.py: Renamed MainWindow -> mainWindow as it's not a class
* vdat/gui/menu.py: Sets up the new menu bar at the top of the GUI
* vdat/gui/queue.py: Queue window can be hidden and revealed from the new menu bar
* vdat/gui/relay.py: Uses dictionaries to store signals
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: the main frame must be saved in a variable, even if
it's not used, in the qt app to work properly
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
As now it's not possible to run more than one test running the gui at a
time, as it crashes. This is very likely due to the fact that there are qt
objects around without a parent, and this confuses the qtbot
* setup.py: add pytest-qt dependency
* tests/conftest.py: use matplotlib agg backend to avoid pyqt4/5 clashes.
Add fixtures and move some common code away from test_symlink
* tests/test_symlink.py: adapt to the above
* tests/test_tree_view.py: test 93% of the tree view
* vdat/gui/__init__.py: isolate the code making the main and queue window
to allow setting up tests
* vdat/libvdat/handlers.py: add parent widget in the handler
* vdat/gui/gui.py: adapt to the above
* vdat/gui/treeview_model.py: set the ReductionTreeviewModel as child of the
ReductionQTreeView
* vdat/libvdat/background.py: add a todo
2015-08-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: moved to gui
* vdat/libvdat/treeview_model.py: create the tree view from the redux
directory structure, make only directory containing the fits file
selectable, make calibration directories checkable to allow select
specific calibrations during reduction.
* vdat/gui/buttons_menu.py: add temporary button to test the tree view
model. Will be removed once the other buttons will be reimplemented
* vdat/gui/gui.py: move the creation of the tree view to the proper module;
add the above button
* vdat/libvdat/reduction.py: fixed bug with missing configuration section
2015-08-04 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* .: ignore coverage output files and directories
* setup.py: convert to pytest
* setup.cfg: same
* vdat/libvdat/symlink.py: make rerun symlink more robust and write a file
"SHOT_FILE" with all the relevant informations of the symlinked shot as a
json
* vdat/utilities.py: add json serialisation and de-serialisation of datetime
instances
* vdat/vdat_config/vdat_setting.cfg: add max_delta_zro option
* vdat/gui/__init__.py: don't import symlink module
* tests: add tests
* tests/data/raw: add fits files for testing: zro, sci, flt, arc shots, 3
IFUs and 3 exposures each
* tests/conftest.py: add fixtures
* tests/test_symlink.py: test the symlinking (edge cases still missing)
2015-07-30 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* vdat/libvdat/symlink.py: almost completely rewritten; data symlinked at
the shot level; calibration frames divided in subdirectories; flat and arc
collected in the same 'cal' directory
* vdat/libvdat/vdat.py: symlink done before calling the gui; multiprocessing
set up
* vdat/utilities.py: custom exceptions added
* vdat/vdat_config/vdat_setting.cfg: add raw directory, add multiprocessing,
add maximum time delta to use when grouping flat and arc frames
* vdat/libvdat/loggers.py: set logger level to debug
* vdat/gui/__init__.py: don't do the symlink here
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/loggers.py: created moving code out of vdat.py and
reorganizing it
* vdat/libvdat/vdat.py: updated according to the above
* vdat/vdat_config/vdat_setting.cfg: more logging configuration given
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add six dependency
* vdat/gui/__init__.py: PEP8
* vdat/gui/buttons_menu.py: PEP8 and documentation fixes
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/relay.py: same
* vdat/gui/queue.py: same, plus using self instead of parent class method
* vdat/libvdat/background.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/config.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/database.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/handlers.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/treeview_model.py: same
* vdat/libvdat/vdat.py: same
* vdat/utilities.py: same
2015-07-02 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/libvdat/reduction.py: Added routine for creating error files with photon
noise, extracting the data region of the files
and joining the amplifiers
* vdat/vdat_config/vdat_setting.cfg: Added options for the new commands
* vdat/gui/gui.py: Added buttons for the new routines
2015-07-01 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/gui.py: Switched from file browser to a custom model in the treeview widget. Currently
it just gives a hard-coded example of the new custom model's
capabilities.
* vdat/libvdat/treeview_model.py: Added a customisable model for the treeview widget to
use. It can show different reduction steps in a
branching hierachy.
2015-06-16 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Create a queue
* vdat/gui/buttons_menu.py: Added comments
* vdat/gui/fplane.py: Got rid of the unneccessary extra IFU type
now there is just one type defined in
ifu_widget
* vdat/gui/gui.py: Added a button
* vdat/gui/ifu_widget.py: Turned into a pyhetdex IFU type, added
methods to update the picture in the IFU
to reflect whether the IFU has input files
or not.
* vdat/gui/queue.py: A queue window, which keeps track of the
commands a user has requested and runs
them when they reach the head of the queue. The
user can also delete these commands.
* vdat/gui/static/unreduced.png: New image to differentiate
between IFUs with and without input files
* vdat/libvdat/background.py: Uses the queue
* vdat/libvdat/callback.py: Uses the queue
* vdat/libvdat/reduction.py: New function the subtract masterbias and overscan from files
* vdat/libvdat/symlink.py: Tells the IFU object it exists if it finds FITs files from it
Updated documentation and installation files:
* doc/codedoc/gui.rst
* doc/codedoc/reduction.rst
* doc/index.rst
* doc/queue.rst
* requirements.txt
* MANIFEST.in
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
* MANIFEST.in: Added fplane.txt file, so it is also installed!
* doc/install.rst: Tweaked documentation
* doc/launching.rst: As above
* requirements.txt: Added command to install pyhetdex
* vdat/libvdat/vdat.py: Added check to see if config file exists
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
Added Sphinx documentation (under doc/), minor
modifications to comments
* AUTHORS
* LICENSE
* README.md: Added new dependencies
* doc/: Added documentation here
* vdat/gui/gui.py
* vdat/libvdat/reduction.py
2015-06-11 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/buttons_menu.py: Fixed python3 compatibility by using String instead of QString
* vdat/gui/fplane.py: Added a custom IFU class with a variable indicating if the IFU is selected
* vdat/gui/gui.py: Added a create masterbias button
* vdat/gui/ifu_widget.py: Made the widget selectable, add blue frame when not selected
* vdat/libvdat/cure_interface.py: Now tells the worker to clear jobs, so the progress bar is refreshed
* vdat/libvdat/reduction.py: Added create master bias function, subtract overscan now only works on selected IFUs
* vdat/libvdat/symlink.py
* vdat/vdat_config/vdat_setting.cfg: Added a format statement specifying the VIRUS filename structure
2015-06-01 Daniel Farrow <dfarrow@mpe.mpg.de>
Started using the multiprocessing tools
from pyhetdex to run jobs in parallel.
Implemented a progress bar to check how
far a job has gone. Moved logs to a
user specified log directory. A few improvements
in commenting and other minor things.
* setup.py: Added APlpy to list of required Python modules
* vdat/gui/buttons_menu.py: Now supports displaying a tooltip
* vdat/gui/fplane.py: Improved comments
* vdat/gui/gui.py: Got rid of silly buttons like "Make Coffee"
* vdat/gui/relay.py: A module to send signals to the GUI (i.e. update progress bar etc)
* vdat/libvdat/background.py
* vdat/libvdat/cure_interface.py: Functions to wrap around CURE, runs in parallel
* vdat/libvdat/fits.py: Uses multiprocessing
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Uses cure_interface
* vdat/libvdat/symlink.py: Tells the user when symlinking is done
* vdat/libvdat/vdat.py: Set up log directory
* vdat/vdat_config/vdat_setting.cfg: Added log directory and changed wildcards to conform
to pyhetdex:r74
2015-05-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: update ``scan_dirs`` after pyhetdex:r74. PEP8
and numpydoc compliant
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
A few minor modifications to style based on
Francesco's comments. Added a subtract overscan
routine. Switched to using file names rather
than a database when running commands. Added
a module to make it easier for the code
to signal the GUI.
* vdat/gui/buttons_menu.py
* vdat/gui/fplane.py
* vdat/gui/gui.py
* vdat/gui/ifu_widget.py
* vdat/gui/relay.py: Module to relay signals to the GUI
* vdat/libvdat/background.py
* vdat/libvdat/callback.py
* vdat/libvdat/database.py
* vdat/libvdat/fits.py
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Added function to subtract overscans
* vdat/libvdat/symlink.py: Tells GUI to update file browser panel when symlink done
* vdat/vdat_config/vdat_setting.cfg: Added some wildcards to find files
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
Added an internal sqlite3 database to keep track
of what files are available. Created a background
thread with which to run things so they don't lock
up the GUI when they're running. Implemented
a simple code which loops through all fits files
and converts them to PNGs.
* vdat/gui/__init__.py: Moved call to symlink to here
* vdat/gui/gui.py: Added a (currently disabled) progress bar
* vdat/libvdat/background.py: run jobs in a separate thread
* vdat/libvdat/callback.py: Added calls to Background
* vdat/libvdat/database.py: Internal database to keep track of files
* vdat/libvdat/fits.py: Implements a simple fits -> PNG conversion
* vdat/libvdat/handlers.py: Now uses signals to interface with GUI to be thread safe
* vdat/libvdat/symlink.py: Can read rawdir from config file
* vdat/libvdat/vdat.py: Moved symlink from here.
2015-05-18 Daniel Farrow <dfarrow@mpe.mpg.de>
Switched to using PyQt4 and fixed python 2.7
compatibility. Added symlink function as
described by issue #821
* vdat/gui/__init__.py: ... switched to PyQt4
* vdat/gui/buttons_menu.py: PyQt4
* vdat/gui/fplane.py: PyQt4
* vdat/gui/gui.py: PyQt4
* vdat/gui/ifu_widget.py: PyQt4
* vdat/libvdat/callback.py: Function factory to return functions to connect to
button clicks. Currently just returns a function that prints "Not implemented"
* vdat/libvdat/config.py: Read options to do with logging
* vdat/libvdat/handlers.py: PyQt4
* vdat/libvdat/symlink.py: symlinks files from raw to redux directory (issue 821)
* vdat/libvdat/vdat.py: Sets up logging, switched to PyQt4
* vdat/vdat_config/vdat_setting.cfg: Added options to do with logging
2015-05-14 Daniel Farrow <dfarrow@mpe.mpg.de>
Added a new handler for the logger which
prints colour-coded messaged to the text
panel of the VDAT GUI
* libvdat/handler.py: Created a new Handler for logging
* gui/gui.py: Attached the QTextEdit panel to the Handler
* gui/__init__: Prints a welcome message using the new logger
2015-05-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Modified to point to vdat.py:main()
* libvdat/__init__.py: added (empty file)
* libvdat/vdat.py: added, reads in config file, starts GUI
* vdat_config/vdat_settings.cfg: added
* vdat_config/fplane.txt: added
* gui/fplane.py: Reads in fplane.txt and displays it
* gui/ifu_widget.py: Added. Derives QLabel, shows the IFU
* gui/ifu_widget.py: Includes a custom handler for resize events
* gui/resources/empty.png: Copied from Quicklook
* MANINFEST.in: Read by pip to tell it to install the empty.png file
2015-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* gui: moved to vdat/gui
* README.md: some basic installation info added
* setup.py: install vdat package and create ``vdat`` executable
* setup.cfg: setup configuration
* vdat/__init__.py: version number
* vdat/gui/buttons_menu.py: absolute import, some PEP8
* vdat/gui/fplane.py: absolute import, some PEP8
* vdat/gui/gui.py: absolute import, some PEP8
* vdat/gui/__init__.py: same, isolate main function
* svn:ignore: egg dir added
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: make sure that x11 can deal with threads
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: add n_primaries signal to
documentation
* vdat/gui/progress_bar.py: implement the progress bar and connect to
command_interpreter signals
* vdat/gui/mainwidget.py: use the object in progress_bar.py module
* tests/test_ci/conftest.py: move clean_connected to test/conftest.py
* tests/test_gui: created
* tests/test_gui/test_progress_bar.py: added
* tests/test_gui/test_tree_view.py: moved into test_gui
* tests/test_ci/test_signals.py: make sure to clean the signals
2016-05-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: new n_primaries signal
* vdat/command_interpreter/helpers.py: helper function for that
* vdat/command_interpreter/core.py: emit the signal
* tests/test_ci/test_helpers.py: update tests
* tests/test_ci/test_signals.py: same
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui.rst: update the configuration documentation
* vdat/config/tasks.yml: add all the remaining reduction steps
* vdat/config/vdat_setting.cfg: set the default pixel scale to 0.5, to speed
up the GUI startup
* vdat/gui/fplane.py: don't raise an error if there are no tabs for a task
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/mainwidget.py: cleanup old ways of communication
* vdat/gui/mainwindow.py: same
* vdat/gui/relay.py: remove unused signals
* vdat/gui/treeview_model.py: cleanup and mark method a pyqt slot
2016-05-02 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Change default viewer size for
reconstructed images
* vdat/gui/ifu_widget.py: Fix possible memory leak in creation of
binned images
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: remove unused imports
* vdat/gui/menubar.py: same
* vdat/gui/treeview_model.py: same
* vdat/gui/fplane.py: use itertools.product for nested loops
* vdat/gui/gui.py: removed
* vdat/gui/ifu_viewer.py: PEP8
* vdat/gui/ifu_widget.py: same
* vdat/gui/mainwidget.py: same
* vdat/gui/tasks.py: same
* doc/_source/codedoc/gui/index.rst: remove vdat.gui.gui
2016-05-02 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Show reconstructed images
* vdat/gui/central.py: Made pixelscale for reconstructed images configurable
* vdat/gui/ifu_widget.py: Show reconstructed images in ifu viewer
fixes issues 1407 and 1409
* vdat/config/vdat_setting.cfg: Added pixelscale for reconstructed images
2016-04-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: add multiprocessing
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: require pyhetdex 0.7.0
* tests/test_config/test_core.py: adapt tests to the new config files
* doc/_source/codedoc/gui/index.rst: fix typo
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui.rst: document dither tab type
* vdat/config/tasks.yml: add all reduction science steps up to dividing by
pixel flats
* vdat/gui/fplane.py: update dither type implementation
* vdat/gui/ifu_widget.py: fix bug #1405
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: add cal reduction steps
* vdat/gui/fplane.py: fix some bug with typ and fplane_single
* vdat/gui/tasks.py: remove debugging prints
* doc/_source/gui.rst: update documentation
2016-04-30 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.3.0
* ReleaseNotes.md: update
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: implement zro reduction steps
* vdat/config/vdat_commands.yml: update commands to the latest reduction
steps
* vdat/gui/central.py: fix indentation bug when submitting commands to
queue; improve string sent to the queue
* vdat/gui/fplane.py: improve FplaneWidget.change_fplane; add
documentation, fix bug with matching directory names
* vdat/gui/gui.py: make documentation happy
* vdat/gui/tasks.py: accept commands as string or as list
* vdat/gui/treeview_model.py: on selection changed pass the path of the
directory
* doc/_source/codedoc/gui/index.rst: move it from ../gui.rst, add
placeholder table
* doc/_source/codedoc/index.rst: adapt
* doc/_source/codedoc/reduction.rst: fix module name
* doc/_source/gui.rst: begin documentin tasks.yml file
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: remove debug print
* vdat/gui/fplane.py: same
* vdat/gui/ifu_widget.py: fix python3 bug
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: remove tabs.yml and buttons.yml
* vdat/config/core.py: update accordingly
* vdat/config/entry_point.py: same
* vdat/config/buttons.yml: remove
* tests/test_buttons.py: same
* vdat/config/tabs.yml: same
* vdat/gui/buttons_menu.py: same
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: add multiprocessing arguments
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: added
* vdat/config/vdat_setting.cfg: move max_delta_zro into the symlink section
and remove config_dirs
* vdat/config/core.py: add config_dirs section when loading the config file
* vdat/libvdat/symlink.py: adapt to the above; add warning when no shot file
is found in a night
* doc/_source/dirstruct.rst: document max_delta_zro
* tests/test_config/test_core.py: adapt tests
* tests/test_libvdat/test_symlink.py: add test for the above warning
2016-04-26 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/dirstruct.rst: update documentation
* doc/_source/launching.rst: same
* vdat/config/vdat_setting.cfg: rename virus_dir to virus_instrument
* tests/conftest.py: same
* tests/test_libvdat/test_symlink.py: same
* vdat/libvdat/symlink.py: update accordingly
* vdat/libvdat/vdat.py: improve description
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: modify symlinking to comply to #1358
* vdat/config/vdat_setting.cfg: add ``virus_dir`` entry to do the above
* tests/data/raw/20151025/virus: add the virus directory to the test data
* tests/conftest.py: adapt to the new directory structure
* tests/test_ci/test_types.py: same
* tests/test_libvdat/test_symlink.py: same
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: add support for multiple raw or night directories
* tests/test_libvdat/test_symlink.py: adapt the tests
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: adjust docstring
* tests/test_symlink.py: moved to tests/test_libvdat
* tests/test_libvdat/test_vdat.py: added
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_loggers.py: add some more tests
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: fix bug in the command loggers
* vdat/libvdat/loggers.py: clean up and fix few bugs
* tests/test_loggers.py: add testing for the above modules
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: push variables to environment in a function, improve
command line arguments
* vdat/config/vdat_setting.cfg: add is_rawdir_night option
* vdat/config/core.py: skip also empty lists when overriding configuration
* tests/test_config/test_core.py: test it
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: bugfix with ConfigParser file names; use mapping
interface to insert a value
* tests/test_config/test_core.py: test the vdat.config.core module
* tests/conftest.py: adapt to changes in the vdat.config.core module
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: some function moved around, override_conf added
* vdat/libvdat/vdat.py: first draft of the new command line interface
* tests/conftest.py: add fixture to clear the internal configuration
dictionary
* tests/test_config: created
* tests/test_config/test_core.py: added
* tests/test_config.py: moved and renamed tests/test_config/test_entry_point.py
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: I forgot to update the release notes
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: if a 100000 parameters in sql queries are allowed,
returns it, otherwise search for the number
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: remove SQLITE_MAX_COLUMN and add estimate of
SQLITE_MAX_VARIABLE_NUMER
* vdat/libvdat/symlink.py: use the latter when doing a bulk insert
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: estimate SQLITE_MAX_COLUMN
* vdat/libvdat/symlink.py: use the estimate when doing a bulk insert
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: remove all the multiprocessing stuff and improve
log messages
* vdat/libvdat/vdat.py: no multiprocessing things happening here
* tests/test_symlink.py: update tests to the changes
2016-04-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: make the types instance attribute
* vdat/command_interpreter/types.py: fix __getattr__ to play nicely with
pickling
2016-04-20 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_config.py: ignore .svn files
* tests/conftest.py: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_ci/conftest.py: move here some useful fixture
* tests/test_ci/test_signals.py: use the fixture
* tests/test_ci/test_command_interpreter.py: test the core module to 99%
* vdat/command_interpreter/core.py: if no file is collected return; improve
error from subprocess crashing
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: make multiprocessing work
* tests/test_ci/test_command_interpreter.py: add multiprocessing to the
tests
* setup.py: add pytest-xdist dependency for improved coverage
* tox.ini: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/conf.py: use sphinx.ext.todo instead of
pyhetdex.doc.sphinxext.tod
* setup.py: bump sphinx version
* tox.ini: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_symlink.py: make sure that no error is raised when running the
symlink of science frames
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_symlink.py: improve testing the symlink and solve issue #1335
* vdat/config/vdat_setting.cfg: improve regex to match also file names with
decimal seconds
2016-04-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump required pyhetdex version to 0.6.0
* vdat/command_interpreter/core.py: use DeferredResult when running jobs in
single processor mode
* tests/test_ci/test_command_interpreter.py: adapt the tests; test the
filter_section keyword in action; some other little fix
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: move the logging from _run to run
methods
* vdat/command_interpreter/exceptions.py: add CISubprocessError
* tests/test_ci/test_command_interpreter.py: adapt the tests
2016-04-14 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex version to 0.5
* vdat/command_interpreter/core.py: worker created and removed in
CommandInterpreter.run method
* vdat/libvdat/symlink.py: worker created and removed in do_symlink function
* vdat/libvdat/vdat.py: remove workers, as they are handled where they are
used
2016-04-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: get and report exceptions when running
the command
* ReleaseNotes.md: update
* setup.py: bump version to 0.2.4
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.2.3-post
* vdat/command_interpreter/types.py: fix bug that makes file collection
fails when using regex and directory names containing special characters
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: added; track history and help writing the report for the
next release
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_interpreter.rst: renamed, update documentation with
info about multiprocessing
* doc/_source/conf.py: use only pyhetdex latest for intersphinx
* doc/_source/dirstruct.rst: add info about multiprocessing
* doc/_source/executables.rst: expand a bit
* doc/_source/launching.rst: same
* doc/_source/index.rst: reorder some section
* vdat/command_interpreter/core.py: try to enable multiprocessing, fail
miserably
* vdat/gui/buttons_menu.py: pass multiprocessing keywords
* vdat/libvdat/vdat.py: close also command_interpreter worker
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat: rebased on ^/trunk
* setup.py: version 0.2.3-post
* tox.ini: force DISPLAY=:0
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: workaround bug with too many multiple insertions; #1345
* vdat/gui/gui.py: brute force implementation of re-symlink from gui #1333;
works, but needs review
2016-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: negative error codes exists and are
failures; fix the bug
2016-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: don't close the multiprocessing worker to allow
reusing it; set non existing rawdir to empty string; make public two
functions that might be used from further symlinking
* vdat/libvdat/vdat.py: wait and close the symlink worker
* tests/test_symlink.py: update the tests
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* merged: branches/multiple_objects@169
* setup.py: version set to 0.2.2
* vdat/command_interpreter/core.py: log also the target dir then starting a
task
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: properly symlink science frames with empty OBJECT
fields and add counter to repeated OBJECT from different shots
* tests/test_symlink.py: change test function name. The above changes has
been tested only by hand
* doc/_source/dirstruct.rst: add info about this
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version
* vdat/gui/treeview_model.py: add tool tip
* tests/test_tree_view.py: test it
* doc/_source/gui.rst: add some info about tooltip and right-click commands
available on the tree view
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: advance version
* vdat/libvdat/symlink.py: fix multiprocessing while symlinking, now it
works
* vdat/libvdat/vdat.py: little changes because of the above
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/dirstruct.rst: improve
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: add references to zero and cal directories to
every type
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: add version to command line
* vdat/libvdat/vdat.py: same
* vdat/gui/gui.py: add version to "About VDAT" menu; add links to
documentation
* vdat/gui/menu.py: pep8
2016-04-06 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: version 0.2.1-pre
* vdat/command_interpreter/types.py: extend the header type to allow
formatting the values
* tests/test_ci/test_types.py: test it
* doc/_source/command_intepreter.rst: document it
2016-04-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: write info log when a command start
running
* vdat/command_interpreter/types.py: add ``returns`` option to plain primary
type
* tests/test_ci/test_types.py: test it
* doc/_source/command_intepreter.rst: document it
2016-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: create a general section and use it in
every command; fix biassubtract fits matching to skip thumbnail fits
2016-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: different shots with multiple lamps are now
collected in the same cal directory
* vdat/config/vdat_setting.cfg: add config tell the symlinking which header
keyword has the name of the lamps
2016-04-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: improve error message when regex match
does not work; fix bug with header type and multi-word header keyword
parsing
* tests/test_ci/test_types.py: test this
2016-04-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: fix couple of bugs and remove copied files if
cloning fails
* tests/test_tree_view.py: test 97% of the treeview_model.py (I don't think
I can do more)
2016-03-31 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_tree_view.py: test checkboxes also from the tree view
perspective
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* rebase branches/symlink on top of trunk
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* merge branches/cmd_interpreter_update into trunk
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* rebase branches/cmd_interpreter_update on to of trunk
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: connect the global logger to the VDAT main logger
* vdat/command_interpreter/core.py: fix typo
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: Create a global logger signal
* vdat/command_interpreter/helpers.py: move the old default implementation
here
* vdat/command_interpreter/core.py: use the new global logger
* tests/test_ci/test_signals.py: test the global logger
* tests/test_ci/test_helpers.py: same
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: update documentation
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: connect some signal in order to have some execution
feedback
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: select directory also by enter key
* tests/test_tree_view.py: test it (it's a workaround for the fact that
there is a bug about testing clicks on tree view)
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: remove ``row`` from ReductionNode, as it's not
used
* tests/test_tree_view.py: same
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: use pytest-catchlog instead of pytest-capturelog
* tox.ini: same
* tests/test_command_interpreter.py: adapt to the change
* tests/test_tree_view.py: same
* tests/test_symlink.py: same; do the symlinking in the test function, not
setup
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: bugfix
* tests/test_tree_view.py: mark old tests as integration, unit-test 46% of the code
2016-03-17 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/models.py: add ``path`` attribute to the VDATExposures table
* vdat/libvdat/symlink.py: modify accordingly
* vdat/gui/treeview_model.py: correctly propagate VDATExposures information
when cloning and removing directories; fixed bad bug in check/uncheck
* tests/test_tree_view.py: rewrite tests for the tree view, 40% done
2016-03-16 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Renamed Raw to Exp in Tab descriptions
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: add CICommandDone signal
* vdat/command_interpreter/core.py: use it
* vdat/command_interpreter/helpers.py: add a receiver that prints out stuff
* tests/test_ci/test_signals.py: test the new signal
* tests/test_ci/test_helpers.py: test the new helper
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* merged with ^/trunk
* tests/test_ci/test_types.py: update number of files
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add @path@ to the @new_file@ type
* tests/test_ci/test_types.py: add the tests
* doc/_source/command_intepreter.rst: document it
2016-03-16 Jan Snigula <snigula@mpe.mpg.de>
* vdat/libvdat/vdat.py: Moved first import of gui till after the
XPA_METHOD was set based on config
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* merged ^/trunk
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: remove [args] section
* vdat/database/models.py: remove ThumbnailScaling table
* vdat/database/core.py: adapt
* vdat/libvdat/callback.py: removed, as is unused
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/show_fits.py: same
* doc/_source/codedoc/reduction.rst: remove callback
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: save the exposure database on files to be able to
rebuild the database from already symlinked directories
* vdat/utilities.py: add utility function for the exposure database dump
* vdat/database/base.py: use public functions to get the data from the
model; provides 3 properties to get some of the data
* vdat/database/models.py: override the data_clean property to skip the
foreign fields
* tests/test_symlink.py: adjust the tests to the changes, test the new parts
* tests/test_tree_view.py: little adjustment
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: update the new type names
* vdat/libvdat/symlink.py: adapt the vdatexposures names
* vdat/gui/buttons_menu.py: show the empty widget if no button is defined
for the type
* vdat/gui/treeview_model.py: get the type names from the database
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: adjust log messages about the type of the
symlinked shot
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: proper cleanup when the symlinking fails, small
adjustments.
* tests/conftest.py: add virus*** related fixtures
* tests/test_symlink.py: test to 100% the symlinking
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: export the database to the package level
* vdat/libvdat/symlink.py: make the insertion in the database and the
symlinking more robust to failures
* vdat/utilities.py: add new error
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/trunk
* tests/test_symlink.py: adapt the tests
2016-03-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: fix bug in @_find_nearest@, remove optional
argument from @symlink@ function
* pytest.ini: add marker for integration tests
* tests/conftest.py: add night and virus00001 fixtures
* tests/test_symlink.py: add some unit tests
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: allow unknown/nonstandard object type linking
* vdat/config/vdat_setting.cfg: add little explanation about it
* doc/_source/dirstruct.rst: document it
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex requirement to 0.4
* vdat/libvdat/symlink.py: get most of the information for the symlinking
from the file names
* vdat/config/vdat_setting.cfg: put together most of the options needed for
symlinking
* vdat/utilities.py: homogenize exceptions used by symlinking
* doc/_source/dirstruct.rst: update documentation
2016-03-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: first part of the new_file type
implementation
* tests/test_ci/test_types.py: test the new_file type
* vdat/command_interpreter/core.py: adapt to the above
* tests/test_ci/test_command_interpreter.py: same
* doc/_source/command_intepreter.rst: adjust documentation
* vdat/config/vdat_commands.yml: deformer 4 is no more
2016-02-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/__init__.py: import get_signal and
get_signal_names at the module level
* vdat/command_interpreter/types.py: fix documentation
* vdat/command_interpreter/utils.py: fix documentation
* tests/test_ci/test_utils.py: add test of id_
* doc/_source/codedoc/command_interpreter/types.rst: fix documentation
2016-02-29 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: set xpa_method to local to avoid test hanging
* vdat/command_interpreter/helpers.py: remove __all__
* vdat/command_interpreter/signals.py: same
* vdat/command_interpreter/types.py: import numpy
* doc/_source/codedoc/command_interpreter/index.rst: split the command
interpreter documentation
* doc/_source/codedoc/command_interpreter/*.rst: same
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/relay.py: renambed signals
* vdat/command_interpreter/signals.py: rewritten to have an behaviour
similar to qt signals; CILogger not reimplemented; some signal missing
* vdat/command_interpreter/__init__.py: remove the import of the relay
* vdat/command_interpreter/core.py: update according to the above changes
* vdat/command_interpreter/helpers.py: provide some function that can be
plugged in
* tests/test_ci/test_helpers.py: added
* tests/test_ci/test_signals.py: added
* doc/_source/command_intepreter.rst: relays -> signals
* doc/_source/codedoc/command_interpreter.rst: moved to
command_interpreter/index.rst
* doc/_source/codedoc/index.rst: index in the codedoc to allow reshaping of
the documentation
* doc/_source/index.rst: same
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add a method that returns a range to
SliceLike
* vdat/command_interpreter/types.py: use SliceLike in primary_loop; remove
_to_number function
* tests/test_ci/test_utils.py: test the range method
* tests/test_config.py: fixture to fix seed of random for repeatability of
tests
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: adapt types to use the new
keyword_regex and do_split = False
* tests/test_ci/test_types.py: add tests for all the secondary keywords
* doc/_source/command_intepreter.rst: fix the documentation
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add string and format customization to
SliceLike
* tests/test_ci/test_utils.py: test it
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* merge trunk
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: improve the keyword_regex functionality
* vdat/command_interpreter/utils.py: homogenize doc
* vdat/command_interpreter/core.py: move back types to class properties to be
able to run in parallel (this needs investigation)
* vdat/command_interpreter/exceptions.py: fix typo
* tests/test_ci/test_types.py: test the keyword_regex functionality
* doc/_source/command_intepreter.rst: document the new keyword_regex
2016-02-18 Francesco Montesano <montefra@mpe.mpg.de>
* tests/conftest.py: move some fixture to session scope
* vdat/command_interpreter/core.py: move the types initialisation into the
__init__
2016-02-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add SliceLike and copy some utils from
types.py
* vdat/command_interpreter/exceptions.py: import the future and add
CISliceError
* setup.cfg: add doctest
* tests/test_ci/test_utils.py: added
* tests/test_ci/test_command_interpreter.py: moved
* tests/test_ci/test_types.py: added and partially implemented
* doc/_source/codedoc/command_interpreter.rst: add types and utils
documentation
2016-02-19 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore dist
* setup.py: fix some packages minimum version, fix version number
* tox.ini: fix some packages minimum version
* vdat/command_interpreter/types.py: use Yields in documentation
* vdat/gui/fplane.py: same
* vdat/config/entry_point.py: vdat_config without subcommand behave the same
in py2 and py3
* vdat/gui/buttons_menu.py: add fplane_widget property
* vdat/gui/gui.py: mark two methods for possible delection
* tests/test_buttons.py: monkeypatch CommandButton.fplane_widget to test
without selected IFUs
* tests/test_config.py: fix test of empty vdat_config call
* tests/test_tree_view.py: adapt to the new gui structure
* doc/_source/conf.py: cleanup, PEP8 and try to guess the pyhetdex version
to for intersphinx
* doc/_source/install.rst: change link anchor name
2016-02-17 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: add relevant files to package
* pytest.ini: move pytest specif configurations here
* requirements.txt: removed
* setup.cfg: alias pytest=test command, remove pytest specific options
* setup.py: use pytest-runner, remove tox from setup
* tox.ini: remove all spurious dependences that are now reachable with pip,
add extra pypi url
* vdat/__init__.py: get version from the package configuration
* doc/_source/_templates/version.html: add version
* doc/_source/conf.py: add the above version in the side bar
* doc/_source/index.rst: add version number
* doc/_source/install.rst: update installation info
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: check if the target directory exists, even if
the path is not "."
* tests/test_config.py: add a couple of tests for the new features
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/issue1178
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: temporary disable tox_requires to avoid installation issues
* vdat/config/entry_point.py: fix #1178, improve output info and argument
parser
2016-01-27 Jan Snigula <snigula@mpe.mpg.de>
* tests/test_buttons.py: Adapt do changes made to setup_buttons
2016-01-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/gui.py: isolate the FplaneWidget and buttons; isolate the menu;
add ability to resize widgets; move logger widget into logger_widget.py
module
* vdat/libvdat/handlers.py: moved to vdat/gui/logger_widget.py
* vdat/gui/logger_widget.py: add logger widget
* vdat/gui/treeview_model.py: same
* vdat/gui/buttons_menu.py: remove size constraints
* vdat/gui/background.py: typo fixed
2016-01-19 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed missing X for missing IFUs
* vdat/gui/gui.py: Pass fplane widget along
* vdat/gui/buttons_menu.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Pass basename through
* vdat/gui/ifu_widget.py: Same
* vdat/gui/fplane.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed double click
* vdat/gui/fplane.py: New thumbnails work now, zscaling mostly as
well
2016-01-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add qimage2ndarray dependence
* vdat/libvdat/symlink.py: use directory name into vdat exposure table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/treeview_model.py: Changed a signal
* vdat/gui/menu.py: Moved code to gui
* vdat/database/core.py: Added new database table
* vdat/config/tabs.yml: Updated regexes
* vdat/gui/fplane.py: Restructured
* vdat/gui/ifu_widget.py: Moved to direct fits file loading
* vdat/database/models.py: Added new database table
* vdat/gui/gui.py: Restructured
* vdat/gui/buttons_menu.py: Changed yield behaviour
* vdat/libvdat/symlink.py: Added new database table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/__init__.py: Bumped version to 0.1.0
2015-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: load it also if pyds9 fails to import; add
notification about the import failure; add error box if
pyds9 fails to connect to a ds9 session
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added starextract
* vdat/config/buttons.yml: same
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add is_regex key to primary keywords;
when getting file names match add the full path to the regex/wildcard
* doc/_source/command_intepreter.rst: document is_regex
* vdat/config/vdat_commands.yml: add detection step; fix file names and
regex in various commands; streamline some keyword values
* vdat/config/extra_files/IFUcen_HETDEX.txt: added
* vdat/config/buttons.yml: add
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .coverage files, but no .coveragerc
* .coveragerc: added
* doc/_source/contributions.rst: add more info about tox
* doc/_source/index.rst: add link to coverage report
* requirements.txt: remove numpy
* scripts/remove_empty_coverage.sh: added
* scripts/symlink_pyqt.sh: call the python script with the full path to
``scripts`` directory
* setup.cfg: remove coverage configurations
* tests/test_buttons.py: fix test bug when ``commands`` is a string
* tox.ini: build the documentation and coverage report
2015-11-24 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: aesthetic change
* vdat/command_interpreter/core.py: raise an CIRunError when the return
value is not null
* vdat/command_interpreter/types.py: add possibility to manipulate the
return value of the ``loop`` primary key
* doc/_source/command_intepreter.rst: document it
* vdat/command_interpreter/utils.py: added
* vdat/config/buttons.yml: add the button to create the dither file
* vdat/config/extra_files/dither_positions.txt: added
* vdat/config/vdat_commands.yml: add the instruction to create the dither
files
* vdat/gui/buttons_menu.py: fix documentation typo
2015-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: change master* names to values compatible
with cure's DitherEnvironment, add symlink command to create better file
names for the science frames
* vdat/config/buttons.yml: add command for the symlinking
use ``vdat_config copy`` to update the configuration files
2015-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: set xpa_method in the environment to local by
default
* vdat/config/vdat_setting.cfg: add option to modify the xpa_method and
kdescription
2015-10-23 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new tabs to display the products
of the new reduction buttons
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: more info about the selected IFU given
* tests/data/raw/20120301: replaced with new simulations
* tests/test_command_interpreter.py: adapt to it
* tests/test_symlink.py: same
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: pass the selected ifus to the command
interpreter
* vdat/gui/fplane.py: PEP8
* vdat/config/vdat_commands.yml: add the ``filter_selected`` keyword;
improve match only fits filename starting with number
* tests/test_buttons.py: test ifu selection
2015-10-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: put commands on the queue
* vdat/gui/queue.py: adapt the queue to accept and return CommandInterpreter
instances; create set/get_queue functions
* vdat/gui/background.py: set/get_background functions; adapt the
background object to the above; fix bugs
* vdat/gui/__init__.py: adapt to the above, remove callback
* vdat/gui/relay.py: log also exception
* vdat/gui/gui.py: fix some docstring
* vdat/command_interpreter/core.py: fix a bug with template and exe
substitution
* vdat/command_interpreter/types.py: match the file name at the end of a
string
* vdat/libvdat/loggers.py: setup the loggers for the commands
* vdat/libvdat/vdat.py: use it
* vdat/config/core.py: better error handling when getting configurations
* vdat/config/extra_files/*: added
* vdat/config/entry_point.py: copy also the extra files
* vdat/config/vdat_commands.yml: fix bugs and adjust paths
* vdat/config/vdat_setting.cfg: fix the command logger configuration entries
* tests/conftest.py: force copying the configuration to avoid troubles
* tests/test_buttons.py: finish the testing of the buttons
* tests/test_command_interpreter.py: test alias replacing
* tests/test_config.py: adapt the tests to the changes due to extra
configuration files in subdirectories
2015-10-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: move button to custom class, create
CommandInterpreter instances when pushing the buttons and report problems
with a dialog
* vdat/gui/treeview_model.py: pep8
* vdat/command_interpreter/exceptions.py: fix bug with CIExeError
* vdat/config/vdat_commands.yml: masterarc needs an alias
* vdat/config/vdat_setting.cfg: add comments about redux_dirs
* vdat/database/models.py: PEP8
* vdat/libvdat/vdat.py: inject CUREBIN into the path
* tests/test_buttons.py: add a test clicking the buttons
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: rewrite the creation of the buttons
* vdat/gui/gui.py: use the new button menu
* vdat/gui/treeview_model.py: connect the button menu to switch set of
buttons when changing directory; use a signal to change the central and
button panels
* vdat/config/buttons.yml: configuration file driving the button creation
* vdat/config/vdat_setting.cfg: add it
* vdat/config/core.py: add it to the files to load
* vdat/config/entry_point.py: add it to the files to copy
* vdat/config/vdat_commands.yml: little formatting
* tests/test_buttons.py: test the button widget; for now test that is
correctly created and that the switching happens correctly
* tests/test_command_interpreter.py: make sure to get a file for the ifu 34
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added
* vdat/config/vdat_setting.cfg: add the above file
* vdat/config/core.py: load vdat_commands.yml
* vdat/config/entry_point.py: copy it; don't overwrite existing files by
default
* tests/test_config.py: test the vdat_config command
2015-10-14 Francesco Montesano <montefra@mpe.mpg.de>
Tests run for python 2.7, 3.4 and 3.5
* tests/test_command_interpreter.py: test also part of the run method. Still
to test if exceptions are handled correctly
* vdat/command_interpreter/core.py: fix bugs and improve error handling and
logging
* vdat/command_interpreter/relay.py: fix bugs with progress relay
* vdat/command_interpreter/types.py: fix bugs and don't cover template
functions
* MANIFEST.in: add readme and requirement file to avoid tox building
failures
* requirements.txt: add numpy to avoid scipy building failures
* setup.py: add new_file entry point
2015-10-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Aligned the scale combobox left to make it prettier
* vdat/libvdat/show_fits.py: replaced another call to astropy getdata with
a ``with open(fn, 'rb')`` to avoid the astropy bug
* vdat/gui/ifu_viewer.py: "Send to ds9" menu now generated dynamically when the
"ds9" menu is clicked. Only files from the currently
selected tab are sent to "ds9" when the menu item
is selected.
2015-10-13 Daniel Farrow <dfarrow@mpe.mpg.de>
* requirements.txt: added pyds9 repo
* setup.py: added pyds9 repo
* vdat/gui/ifu_viewer.py: wrapped get_header in with open(f) to avoid the
astropy bug of not closing files.
2015-10-13 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: group together entripoints
* vdat/command_interpreter/core.py: some bug fix, use execute types, some
changes with the exception handling
* vdat/command_interpreter/exceptions.py: rename some exception
* vdat/command_interpreter/types.py: add execute type and implement all the
necessary types
* tests/test_command_interpreter.py: test most of the command interpreter
initialisation
* doc/_source/command_intepreter.rst: extend documentation
* vdat/config/ci_documentation.yml: removed
2015-10-12 Daniel Farrow <dfarrow@mpe.mpg.de>:
* vdat/gui/fplane.py: moved update IFUs from init to
change_focal_plane, to avoid the
thumbnail generator looking for an
uninitialized fplane
* vdat/gui/ifu_viewer.py: Added option to select frames
and send them to a new or existing
ds9 session
* setup.py: Added pyds9 to install requires
2015-10-09 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/database/core.py: added a table to store image brightness scaling parameters
* vdat/database/models.py: as above
* vdat/gui/fplane.py: Added a section to control the brightness scaling of the thumbnails in the
focal plane. User can select scaling per fits file, or a global
scaling (which can be user specified) for the whole focal plane.
The Fplane class in now its own QWidget.
* vdat/gui/gui.py: Added comments
* vdat/gui/ifu_viewer.py: Suppresses warnings from Ginga ;-)
* vdat/gui/ifu_widget.py: IFU viewers are parented to the main window, so
they can persist when the user changes fplane
* vdat/libvdat/show_fits.py: Casts the number of rows to an integer explicitly. Connects
to a database to find, or set, global brightness
scaling parameters when required for the thumbnails. Uses a
file object with astropy getdata in order to avoid an
astropy bug.
2015-10-09 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_command_interpreter.py: first tests added
* vdat/command_interpreter/core.py: better exceptions
* vdat/command_interpreter/exceptions.py: same
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bootstrap setuptools if it's not installed
* ez_setup.py: bootstrap module
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: separate the loading from the getting of the
configurations: allow more homogeneous handling of the configuration files
* vdat/config/vdat_setting.cfg: comment a bit more
* vdat/config/entry_point.py: move here the implementation of the
``vdat_config`` executable; use pkg_resources to get copy the
configuration files
* setup.py: update the entry point
* vdat/gui/fplane.py: use the new configuration interface; PEP8
* vdat/gui/gui.py: same
* vdat/gui/ifu_viewer.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/queue.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* tests/conftest.py: same
* doc/Makefile(livehtm): add vdat/config to the tracked directories
* doc/_source/codedoc/config.rst: add code documentation
* doc/_source/index.rst: same
2015-10-07 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new configuration for the upgraded thumbnail
creation (see below)
* vdat/gui/background.py: Immediate background thread waits for last job to stop
before running the next job. Toggle system
for the isImmRunning flag removed as it depended
on the main thread being available. Now the
immediate background thread controls the isImmRunning
flag is controlled by the Worker in the thread.
* vdat/gui/fplane.py: Waits for jobs on immediate thread to stop, stops
QObjects still in use from being deleted.
* vdat/gui/gui.py: Handles the uses clicking the close button, now waits
for running jobs on the immediate thread to end. This
stops seg faults from a sudden close.
* vdat/gui/ifu_widget.py: Fixes a bug by removing the auto-regeneration
of corrupted thumbnails. Simply dumps them instead.
* vdat/libvdat/show_fits.py: Based on options in tabs.yml, create a grid of
thumbnails for the IFU widget with entries
for the different channels, amps.
2015-10-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/core.py: Added load_yaml
* vdat/config/tabs.yml: Moved tabs subsections to be direcly under
the different node types (on the same level as
the ifu_viewer and main subsections).
* vdat/gui/fplane.py: Added tools to save and generate focal
plane panels. What is displayed as a thumbnail
is decided by the user via a combo box (i.e. the raw fits, fibre-collapsed
images, arcs, flats etc.). Defaults are set in the tabs.yml
* vdat/gui/gui.py: Central panel now generated dynamically
rather than at initialization.
* vdat/gui/ifu_viewer.py: Moved load_yaml to vdat.config
* vdat/gui/relay.py: Added 'change_centralPanel' signal.
* vdat/gui/treeview_model.py: Rather than prompting an update of the IFUs,
selecting a node causes a whole new
central panel to be created
* vdat/libvdat/show_fits.py: Now show_thumbnails takes a config object
with a regex specifying the file type to
display
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add yaml
* vdat/libvdat/loggers.py: reorganize the loggers code to remove repetitions
* vdat/config/vdat_setting.cfg: adapt the configuration to this
* vdat/libvdat/vdat.py: create appropriate ginga logger
* vdat/gui/ifu_viewer.py: PEP8 frenzy; use ginga logger
* doc/_source/codedoc/reduction.rst: add logging documentation
* doc/_source/gui.rst: fix warning
* doc/_source/index.rst: add todo about logging
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter: added
* vdat/command_interpreter/__init__.py: import interface at module level
* vdat/command_interpreter/core.py: implement the interpreter
* vdat/command_interpreter/exceptions.py: define custom exceptions
* vdat/command_interpreter/helpers.py: will contain some helper function
* vdat/command_interpreter/relay.py: relay-like interface for communication
between the interpreter and the world
* vdat/command_interpreter/types.py: define classes to deal with types
* vdat/config/ci_documentation.yml: very wordy yaml file to use for
documentation purposes
* doc/Makefile: add command_interpreter for auto-compilation
* doc/_source/codedoc/command_interpreter.rst: added
* doc/_source/command_interpreter.rst: added
* doc/_source/index.rst: add the above documents
* doc/_source/codedoc/reduction.rst: remove reduction module
* vdat/libvdat/callback.py: get logger in method
2015-09-30 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: configuration file that decides what is
displayed in different panels
* vdat/config/vdat_setting.cfg: Add tabs.yml to config file
* vdat/gui/background.py: Worker now passes **kwargs and *args
* vdat/gui/ifu_viewer.py: Read in tabs.yml, creates tabs in the
viewer based on it.
* vdat/gui/ifu_widget.py: When doduble clicked and no
directory selected, ask the user to select
one
* vdat/gui/treeview_model.py: Passes the type of directory selected
to show_fits
* vdat/libvdat/loggers.py: Added a generic logger class to store
Ginga loggers
* vdat/libvdat/reduction.py: ifuid -> ihmpid when deriving filenames
* vdat/libvdat/show_fits.py: Saves the type of directory selected in the IFU object
this might not be ideal
* doc/_source/gui.rst: Added some GUI documentation
* vdat/config/core.py: Added tabs.yml to CONFIG_FILES
2015-09-23 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore build and .eggs directories
* setup.cfg: same
* setup.py: create setuptools command @tox@ to fetch tox, if necessary, and
run tox
* scripts/symlink_pyqt.sh: don't print error if pyqt4 is not symlinked
* doc/_source/contributions.rst: added; describe testing via tox and py.test
* doc/_source/index.rst: add the above
* doc/_source/install.rst: update dependency list
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: make the gui tests succeed on tox too
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: added
* setup.cfg: ignore .tox when discovering tests
* svn:ignore: add .tox directory
* MANIFEST.in: fix config directory name change
* scripts/symlink_pyqt.{sh,py}: symlink pyqt4 and sip into the tox virtual
enviroments
* vdat/libvdat/symlink.py: do not try to commit if the redux directory is
empty
* tests/conftest.py: initialise the main logger
2015-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .cache directory
* setup.py: minimum pytest-qt version; fix console_scripts module name
* tests/conftest.py: no need to get for fixtures to get the configuration
and to start the database
* tests/test_symlink.py: clean the loggers
* tests/test_tree_view.py: no need to start database;
* vdat/config/vdat_setting.cfg: disable multiprocessing by default; use only
one max delta time for calibration
* vdat/database/base.py: property to get data as dictionary
* vdat/database/core.py: init get directory where the database should go;
fix bug with @connect@
* vdat/database/models.py: new table columns, method to create the path and
merge multiple rows into one
* vdat/libvdat/symlink.py: initialize, fill and update the database when doing the
symlinking
* vdat/gui/treeview_model.py: build the view from the database
* vdat/libvdat/vdat.py: don't initialize the database
* vdat/utilities.py: merge dictionaries function added; modify some errors
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* *py: use the __future__
* vdat/database/__init__.py: split into sub modules and import only the
"public" interface
* vdat/database/base.py: define the database and the base model
* vdat/database/core.py: initialise the database and deal with the
connection
* vdat/database/models.py: custom models are implemented here
* vdat/database/old_database.py: removed
* vdat/gui/treeview_model.py: use floor with datetime.timedelta
* vdat/libvdat/symlink.py: same
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config: renamed from vdat/vdat_config
* vdat/config/__init__.py: import only "public" interface
* vdat/config/core.py: renamed from vdat/libvdat/config.py and adapted
* setup.py: add ginga, adapt ``vdat_config`` entry point to new
directories
* vdat/gui/fplane.py: use new config subpackage
* vdat/gui/ifu_widget.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* vdat/gui/relay.py: instantiate ``SignalClass`` inside a function and save
in a local list to allow for testing
* vdat/gui/__init__.py: use the new implementation
* vdat/gui/ifu_viewer.py: same (plus PEP8)
* vdat/gui/gui.py: same and config subpackage
* vdat/gui/queue.py: same
* vdat/libvdat/fits.py: same
* vdat/utilities.py (config_directory): moved to vdat/config/core.py
* tests/conftest.py: adapt to the above changes, use pyqt4 v2 api, add
fixtures to start the database and to clear lists and dictionaries at the
end of a test to allow reuse
* tests/test_tree_view.py: use new fixtures
2015-09-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: dialog confirming deletion; fix bug with
indexing
2015-09-11 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: corrected
* doc/_source: created; conf.py, the _template and _static directories and
all the rst files has been moved into this directory
* doc/Makefile: adapted to the changes
* doc/_source/*: small improvements
* setup.py: add vdat_config entry point
* vdat/libvdat/config.py: implement ``vdat_config copy`` command
* vdat/utilities.py: returns the configuration directory
* vdat/libvdat/callback.py: make the documentation happy
2015-09-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: add extra fields in preparation for issues #1048
#1049 and #1053
* vdat/gui/treeview_model.py: add context menu and handle clone and remove
actions as per #1048, adapt the building of the tree view to account for
this
* vdat/libvdat/symlink.py: add ``is_clone`` entry to the shot_file and
ignore cloned directories when re-symlinking
* vdat/utilities.py(write_to_shot_file): possible to chose between write
and append mode when writing
* vdat/gui/background.py(Background): rename ``cls`` to ``self`` for
consistency
2015-09-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add peewee dependency
* vdat/libvdat/database.py: moved to vdat/database/__init__.py
* vdat/database/__init__.py: implement the database table associated
with the entries in the tree view
* vdat/database/old_database.py: keep it for reference, it will be
eventually removed
* vdat/gui/treeview_model.py: populate the database
* vdat/utilities.py: move here from libvdat/symlink.py the functions to
read and write the shot files
* vdat/libvdat/symlink.py: modify accordingly
* vdat/libvdat/vdat.py: initialise the database
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py(ModifyableListWidget.keyPressEvent): for keys other than
the selected one, call the parent class implementation; no return
* vdat/gui/gui.py: move the buttons setup to buttons_menu module
* vdat/gui/buttons_menu.py: same, set buttons max size to 400
* vdat/gui/fplane.py: the layout is an attribute, no need for a function
* vdat/gui/treeview_model.py: set max width for the panel to 400
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: save ticked directories into the configuration
* vdat/libvdat/reduction.py: adapt to the new directory structure
* vdat/libvdat/loggers.py: set up the cure task loggers
* vdat/libvdat/cure_interface.py: move the logger setting up to loggers.py
* vdat/vdat_config/vdat_setting.cfg: add cure task loggers options
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/background.py: moved into vdat/gui as it uses all qt stuff
* vdat/gui/background.py(Background): make it a proper class, initialising
the threads with a parent to get rid of qt warnings about objects not
owned by anything
* vdat/gui/background.py(get_background): create and/or return a Background
instance; once created it returns always the same instance
* vdat/gui/__init__.py: use get_background
* vdat/gui/treeview_model.py: same
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: PEP8
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/relay.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/background.py: same
* vdat/libvdat/show_fits.py: same
* vdat/gui/ifu_widget.py: same, plus variable names fixed
* vdat/gui/menu.py: PEP8, move the action for the queue and all connections
to queue.py
* vdat/gui/queue.py: implement here the queue action and connect the signals
properly
2015-08-28 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Added ginga to requires
* vdat/gui/__init__.py: set the QString and QVariant types for ginga compatibility
* vdat/gui/ifu_viewer.py: Tells ginga to use pyqt4
* vdat/libvdat/callback.py: import show_fits instead of create_thumbnails (bug 1037)
* vdat/libvdat/show_fits.py: Checks if any files are found before creating thumbnail
2015-08-25 Francesco Montesano <montefra@mpe.mpg.de>
* doc: ignore build directory
* doc/codedoc/gui.rst: move the treeview model here
* doc/codedoc/reduction.rst: remove the treeview model
* doc/conf.py: set matplotlib backend to agg to avoid pyqt4/5 conflicts
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: A Ginja based panel that
displays a zoomable, pan-able
colourscale-able image of a FITs file,
with an added display for the header
* vdat/gui/ifu_widget.py: Launches and IFUViewer on double-click
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Added yield all IFUs function,
added a flag that when set stops
looping over IFUs (to stop
jobs more cleanly)
* vdat/gui/gui.py: Added import to flag above (for later)
* vdat/gui/ifu_widget.py: Test to see if a thumbnail
image of IFU is corrupted, if yes
try to regenerate
* vdat/gui/relay.py: Added parent argument ot initialisation
* vdat/gui/treeview_model.py: Calls function to show postage
stamps of FITs images when
a directory is selected.
* vdat/libvdat/background.py: Added a run_now function, and an
extra thread for it. This is designed
for important tasks to jump the queue.
* vdat/libvdat/callback.py: Added a comment
* vdat/libvdat/show_fits.py: New module which generates PNG images
of the detector FITs files
2015-08-20 Daniel Farrow <dfarrow@mpe.mpg.de>
* doc/command_line_tool.rst: Draft specifiation for command line tool
* doc/index.rst: Added link to above
* vdat/gui/fplane.py: Moved 'yield_selected_ifus' here, added select all and
select none functions
* vdat/gui/ifu_widget.py: Exists and selected are now properties
* vdat/gui/menu.py: Add a selection menu with 'select all' and 'select none'
* vdat/libvdat/reduction.py: Removed 'yield_selected_ifus' from here
2015-08-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Now sets the parent of the signal relay
* vdat/gui/gui.py: Renamed MainWindow -> mainWindow as it's not a class
* vdat/gui/menu.py: Sets up the new menu bar at the top of the GUI
* vdat/gui/queue.py: Queue window can be hidden and revealed from the new menu bar
* vdat/gui/relay.py: Uses dictionaries to store signals
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: the main frame must be saved in a variable, even if
it's not used, in the qt app to work properly
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
As now it's not possible to run more than one test running the gui at a
time, as it crashes. This is very likely due to the fact that there are qt
objects around without a parent, and this confuses the qtbot
* setup.py: add pytest-qt dependency
* tests/conftest.py: use matplotlib agg backend to avoid pyqt4/5 clashes.
Add fixtures and move some common code away from test_symlink
* tests/test_symlink.py: adapt to the above
* tests/test_tree_view.py: test 93% of the tree view
* vdat/gui/__init__.py: isolate the code making the main and queue window
to allow setting up tests
* vdat/libvdat/handlers.py: add parent widget in the handler
* vdat/gui/gui.py: adapt to the above
* vdat/gui/treeview_model.py: set the ReductionTreeviewModel as child of the
ReductionQTreeView
* vdat/libvdat/background.py: add a todo
2015-08-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: moved to gui
* vdat/libvdat/treeview_model.py: create the tree view from the redux
directory structure, make only directory containing the fits file
selectable, make calibration directories checkable to allow select
specific calibrations during reduction.
* vdat/gui/buttons_menu.py: add temporary button to test the tree view
model. Will be removed once the other buttons will be reimplemented
* vdat/gui/gui.py: move the creation of the tree view to the proper module;
add the above button
* vdat/libvdat/reduction.py: fixed bug with missing configuration section
2015-08-04 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* .: ignore coverage output files and directories
* setup.py: convert to pytest
* setup.cfg: same
* vdat/libvdat/symlink.py: make rerun symlink more robust and write a file
"SHOT_FILE" with all the relevant informations of the symlinked shot as a
json
* vdat/utilities.py: add json serialisation and de-serialisation of datetime
instances
* vdat/vdat_config/vdat_setting.cfg: add max_delta_zro option
* vdat/gui/__init__.py: don't import symlink module
* tests: add tests
* tests/data/raw: add fits files for testing: zro, sci, flt, arc shots, 3
IFUs and 3 exposures each
* tests/conftest.py: add fixtures
* tests/test_symlink.py: test the symlinking (edge cases still missing)
2015-07-30 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* vdat/libvdat/symlink.py: almost completely rewritten; data symlinked at
the shot level; calibration frames divided in subdirectories; flat and arc
collected in the same 'cal' directory
* vdat/libvdat/vdat.py: symlink done before calling the gui; multiprocessing
set up
* vdat/utilities.py: custom exceptions added
* vdat/vdat_config/vdat_setting.cfg: add raw directory, add multiprocessing,
add maximum time delta to use when grouping flat and arc frames
* vdat/libvdat/loggers.py: set logger level to debug
* vdat/gui/__init__.py: don't do the symlink here
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/loggers.py: created moving code out of vdat.py and
reorganizing it
* vdat/libvdat/vdat.py: updated according to the above
* vdat/vdat_config/vdat_setting.cfg: more logging configuration given
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add six dependency
* vdat/gui/__init__.py: PEP8
* vdat/gui/buttons_menu.py: PEP8 and documentation fixes
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/relay.py: same
* vdat/gui/queue.py: same, plus using self instead of parent class method
* vdat/libvdat/background.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/config.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/database.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/handlers.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/treeview_model.py: same
* vdat/libvdat/vdat.py: same
* vdat/utilities.py: same
2015-07-02 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/libvdat/reduction.py: Added routine for creating error files with photon
noise, extracting the data region of the files
and joining the amplifiers
* vdat/vdat_config/vdat_setting.cfg: Added options for the new commands
* vdat/gui/gui.py: Added buttons for the new routines
2015-07-01 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/gui.py: Switched from file browser to a custom model in the treeview widget. Currently
it just gives a hard-coded example of the new custom model's
capabilities.
* vdat/libvdat/treeview_model.py: Added a customisable model for the treeview widget to
use. It can show different reduction steps in a
branching hierachy.
2015-06-16 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Create a queue
* vdat/gui/buttons_menu.py: Added comments
* vdat/gui/fplane.py: Got rid of the unneccessary extra IFU type
now there is just one type defined in
ifu_widget
* vdat/gui/gui.py: Added a button
* vdat/gui/ifu_widget.py: Turned into a pyhetdex IFU type, added
methods to update the picture in the IFU
to reflect whether the IFU has input files
or not.
* vdat/gui/queue.py: A queue window, which keeps track of the
commands a user has requested and runs
them when they reach the head of the queue. The
user can also delete these commands.
* vdat/gui/static/unreduced.png: New image to differentiate
between IFUs with and without input files
* vdat/libvdat/background.py: Uses the queue
* vdat/libvdat/callback.py: Uses the queue
* vdat/libvdat/reduction.py: New function the subtract masterbias and overscan from files
* vdat/libvdat/symlink.py: Tells the IFU object it exists if it finds FITs files from it
Updated documentation and installation files:
* doc/codedoc/gui.rst
* doc/codedoc/reduction.rst
* doc/index.rst
* doc/queue.rst
* requirements.txt
* MANIFEST.in
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
* MANIFEST.in: Added fplane.txt file, so it is also installed!
* doc/install.rst: Tweaked documentation
* doc/launching.rst: As above
* requirements.txt: Added command to install pyhetdex
* vdat/libvdat/vdat.py: Added check to see if config file exists
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
Added Sphinx documentation (under doc/), minor
modifications to comments
* AUTHORS
* LICENSE
* README.md: Added new dependencies
* doc/: Added documentation here
* vdat/gui/gui.py
* vdat/libvdat/reduction.py
2015-06-11 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/buttons_menu.py: Fixed python3 compatibility by using String instead of QString
* vdat/gui/fplane.py: Added a custom IFU class with a variable indicating if the IFU is selected
* vdat/gui/gui.py: Added a create masterbias button
* vdat/gui/ifu_widget.py: Made the widget selectable, add blue frame when not selected
* vdat/libvdat/cure_interface.py: Now tells the worker to clear jobs, so the progress bar is refreshed
* vdat/libvdat/reduction.py: Added create master bias function, subtract overscan now only works on selected IFUs
* vdat/libvdat/symlink.py
* vdat/vdat_config/vdat_setting.cfg: Added a format statement specifying the VIRUS filename structure
2015-06-01 Daniel Farrow <dfarrow@mpe.mpg.de>
Started using the multiprocessing tools
from pyhetdex to run jobs in parallel.
Implemented a progress bar to check how
far a job has gone. Moved logs to a
user specified log directory. A few improvements
in commenting and other minor things.
* setup.py: Added APlpy to list of required Python modules
* vdat/gui/buttons_menu.py: Now supports displaying a tooltip
* vdat/gui/fplane.py: Improved comments
* vdat/gui/gui.py: Got rid of silly buttons like "Make Coffee"
* vdat/gui/relay.py: A module to send signals to the GUI (i.e. update progress bar etc)
* vdat/libvdat/background.py
* vdat/libvdat/cure_interface.py: Functions to wrap around CURE, runs in parallel
* vdat/libvdat/fits.py: Uses multiprocessing
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Uses cure_interface
* vdat/libvdat/symlink.py: Tells the user when symlinking is done
* vdat/libvdat/vdat.py: Set up log directory
* vdat/vdat_config/vdat_setting.cfg: Added log directory and changed wildcards to conform
to pyhetdex:r74
2015-05-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: update ``scan_dirs`` after pyhetdex:r74. PEP8
and numpydoc compliant
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
A few minor modifications to style based on
Francesco's comments. Added a subtract overscan
routine. Switched to using file names rather
than a database when running commands. Added
a module to make it easier for the code
to signal the GUI.
* vdat/gui/buttons_menu.py
* vdat/gui/fplane.py
* vdat/gui/gui.py
* vdat/gui/ifu_widget.py
* vdat/gui/relay.py: Module to relay signals to the GUI
* vdat/libvdat/background.py
* vdat/libvdat/callback.py
* vdat/libvdat/database.py
* vdat/libvdat/fits.py
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Added function to subtract overscans
* vdat/libvdat/symlink.py: Tells GUI to update file browser panel when symlink done
* vdat/vdat_config/vdat_setting.cfg: Added some wildcards to find files
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
Added an internal sqlite3 database to keep track
of what files are available. Created a background
thread with which to run things so they don't lock
up the GUI when they're running. Implemented
a simple code which loops through all fits files
and converts them to PNGs.
* vdat/gui/__init__.py: Moved call to symlink to here
* vdat/gui/gui.py: Added a (currently disabled) progress bar
* vdat/libvdat/background.py: run jobs in a separate thread
* vdat/libvdat/callback.py: Added calls to Background
* vdat/libvdat/database.py: Internal database to keep track of files
* vdat/libvdat/fits.py: Implements a simple fits -> PNG conversion
* vdat/libvdat/handlers.py: Now uses signals to interface with GUI to be thread safe
* vdat/libvdat/symlink.py: Can read rawdir from config file
* vdat/libvdat/vdat.py: Moved symlink from here.
2015-05-18 Daniel Farrow <dfarrow@mpe.mpg.de>
Switched to using PyQt4 and fixed python 2.7
compatibility. Added symlink function as
described by issue #821
* vdat/gui/__init__.py: ... switched to PyQt4
* vdat/gui/buttons_menu.py: PyQt4
* vdat/gui/fplane.py: PyQt4
* vdat/gui/gui.py: PyQt4
* vdat/gui/ifu_widget.py: PyQt4
* vdat/libvdat/callback.py: Function factory to return functions to connect to
button clicks. Currently just returns a function that prints "Not implemented"
* vdat/libvdat/config.py: Read options to do with logging
* vdat/libvdat/handlers.py: PyQt4
* vdat/libvdat/symlink.py: symlinks files from raw to redux directory (issue 821)
* vdat/libvdat/vdat.py: Sets up logging, switched to PyQt4
* vdat/vdat_config/vdat_setting.cfg: Added options to do with logging
2015-05-14 Daniel Farrow <dfarrow@mpe.mpg.de>
Added a new handler for the logger which
prints colour-coded messaged to the text
panel of the VDAT GUI
* libvdat/handler.py: Created a new Handler for logging
* gui/gui.py: Attached the QTextEdit panel to the Handler
* gui/__init__: Prints a welcome message using the new logger
2015-05-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Modified to point to vdat.py:main()
* libvdat/__init__.py: added (empty file)
* libvdat/vdat.py: added, reads in config file, starts GUI
* vdat_config/vdat_settings.cfg: added
* vdat_config/fplane.txt: added
* gui/fplane.py: Reads in fplane.txt and displays it
* gui/ifu_widget.py: Added. Derives QLabel, shows the IFU
* gui/ifu_widget.py: Includes a custom handler for resize events
* gui/resources/empty.png: Copied from Quicklook
* MANINFEST.in: Read by pip to tell it to install the empty.png file
2015-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* gui: moved to vdat/gui
* README.md: some basic installation info added
* setup.py: install vdat package and create ``vdat`` executable
* setup.cfg: setup configuration
* vdat/__init__.py: version number
* vdat/gui/buttons_menu.py: absolute import, some PEP8
* vdat/gui/fplane.py: absolute import, some PEP8
* vdat/gui/gui.py: absolute import, some PEP8
* vdat/gui/__init__.py: same, isolate main function
* svn:ignore: egg dir added
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex requirement to 0.4
* vdat/libvdat/symlink.py: get most of the information for the symlinking
from the file names
* vdat/config/vdat_setting.cfg: put together most of the options needed for
symlinking
* vdat/utilities.py: homogenize exceptions used by symlinking
* doc/_source/dirstruct.rst: update documentation
2016-02-19 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore dist
* setup.py: fix some packages minimum version, fix version number
* tox.ini: fix some packages minimum version
* vdat/command_interpreter/types.py: use Yields in documentation
* vdat/gui/fplane.py: same
* vdat/config/entry_point.py: vdat_config without subcommand behave the same
in py2 and py3
* vdat/gui/buttons_menu.py: add fplane_widget property
* vdat/gui/gui.py: mark two methods for possible delection
* tests/test_buttons.py: monkeypatch CommandButton.fplane_widget to test
without selected IFUs
* tests/test_config.py: fix test of empty vdat_config call
* tests/test_tree_view.py: adapt to the new gui structure
* doc/_source/conf.py: cleanup, PEP8 and try to guess the pyhetdex version
to for intersphinx
* doc/_source/install.rst: change link anchor name
2016-02-17 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: add relevant files to package
* pytest.ini: move pytest specif configurations here
* requirements.txt: removed
* setup.cfg: alias pytest=test command, remove pytest specific options
* setup.py: use pytest-runner, remove tox from setup
* tox.ini: remove all spurious dependences that are now reachable with pip,
add extra pypi url
* vdat/__init__.py: get version from the package configuration
* doc/_source/_templates/version.html: add version
* doc/_source/conf.py: add the above version in the side bar
* doc/_source/index.rst: add version number
* doc/_source/install.rst: update installation info
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: check if the target directory exists, even if
the path is not "."
* tests/test_config.py: add a couple of tests for the new features
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/issue1178
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: temporary disable tox_requires to avoid installation issues
* vdat/config/entry_point.py: fix #1178, improve output info and argument
parser
2016-01-27 Jan Snigula <snigula@mpe.mpg.de>
* tests/test_buttons.py: Adapt do changes made to setup_buttons
2016-01-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/gui.py: isolate the FplaneWidget and buttons; isolate the menu;
add ability to resize widgets; move logger widget into logger_widget.py
module
* vdat/libvdat/handlers.py: moved to vdat/gui/logger_widget.py
* vdat/gui/logger_widget.py: add logger widget
* vdat/gui/treeview_model.py: same
* vdat/gui/buttons_menu.py: remove size constraints
* vdat/gui/background.py: typo fixed
2016-01-19 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed missing X for missing IFUs
* vdat/gui/gui.py: Pass fplane widget along
* vdat/gui/buttons_menu.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Pass basename through
* vdat/gui/ifu_widget.py: Same
* vdat/gui/fplane.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed double click
* vdat/gui/fplane.py: New thumbnails work now, zscaling mostly as
well
2016-01-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add qimage2ndarray dependence
* vdat/libvdat/symlink.py: use directory name into vdat exposure table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/treeview_model.py: Changed a signal
* vdat/gui/menu.py: Moved code to gui
* vdat/database/core.py: Added new database table
* vdat/config/tabs.yml: Updated regexes
* vdat/gui/fplane.py: Restructured
* vdat/gui/ifu_widget.py: Moved to direct fits file loading
* vdat/database/models.py: Added new database table
* vdat/gui/gui.py: Restructured
* vdat/gui/buttons_menu.py: Changed yield behaviour
* vdat/libvdat/symlink.py: Added new database table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/__init__.py: Bumped version to 0.1.0
2015-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: load it also if pyds9 fails to import; add
notification about the import failure; add error box if
pyds9 fails to connect to a ds9 session
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added starextract
* vdat/config/buttons.yml: same
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add is_regex key to primary keywords;
when getting file names match add the full path to the regex/wildcard
* doc/_source/command_intepreter.rst: document is_regex
* vdat/config/vdat_commands.yml: add detection step; fix file names and
regex in various commands; streamline some keyword values
* vdat/config/extra_files/IFUcen_HETDEX.txt: added
* vdat/config/buttons.yml: add
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .coverage files, but no .coveragerc
* .coveragerc: added
* doc/_source/contributions.rst: add more info about tox
* doc/_source/index.rst: add link to coverage report
* requirements.txt: remove numpy
* scripts/remove_empty_coverage.sh: added
* scripts/symlink_pyqt.sh: call the python script with the full path to
``scripts`` directory
* setup.cfg: remove coverage configurations
* tests/test_buttons.py: fix test bug when ``commands`` is a string
* tox.ini: build the documentation and coverage report
2015-11-24 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: aesthetic change
* vdat/command_interpreter/core.py: raise an CIRunError when the return
value is not null
* vdat/command_interpreter/types.py: add possibility to manipulate the
return value of the ``loop`` primary key
* doc/_source/command_intepreter.rst: document it
* vdat/command_interpreter/utils.py: added
* vdat/config/buttons.yml: add the button to create the dither file
* vdat/config/extra_files/dither_positions.txt: added
* vdat/config/vdat_commands.yml: add the instruction to create the dither
files
* vdat/gui/buttons_menu.py: fix documentation typo
2015-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: change master* names to values compatible
with cure's DitherEnvironment, add symlink command to create better file
names for the science frames
* vdat/config/buttons.yml: add command for the symlinking
use ``vdat_config copy`` to update the configuration files
2015-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: set xpa_method in the environment to local by
default
* vdat/config/vdat_setting.cfg: add option to modify the xpa_method and
kdescription
2015-10-23 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new tabs to display the products
of the new reduction buttons
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: more info about the selected IFU given
* tests/data/raw/20120301: replaced with new simulations
* tests/test_command_interpreter.py: adapt to it
* tests/test_symlink.py: same
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: pass the selected ifus to the command
interpreter
* vdat/gui/fplane.py: PEP8
* vdat/config/vdat_commands.yml: add the ``filter_selected`` keyword;
improve match only fits filename starting with number
* tests/test_buttons.py: test ifu selection
2015-10-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: put commands on the queue
* vdat/gui/queue.py: adapt the queue to accept and return CommandInterpreter
instances; create set/get_queue functions
* vdat/gui/background.py: set/get_background functions; adapt the
background object to the above; fix bugs
* vdat/gui/__init__.py: adapt to the above, remove callback
* vdat/gui/relay.py: log also exception
* vdat/gui/gui.py: fix some docstring
* vdat/command_interpreter/core.py: fix a bug with template and exe
substitution
* vdat/command_interpreter/types.py: match the file name at the end of a
string
* vdat/libvdat/loggers.py: setup the loggers for the commands
* vdat/libvdat/vdat.py: use it
* vdat/config/core.py: better error handling when getting configurations
* vdat/config/extra_files/*: added
* vdat/config/entry_point.py: copy also the extra files
* vdat/config/vdat_commands.yml: fix bugs and adjust paths
* vdat/config/vdat_setting.cfg: fix the command logger configuration entries
* tests/conftest.py: force copying the configuration to avoid troubles
* tests/test_buttons.py: finish the testing of the buttons
* tests/test_command_interpreter.py: test alias replacing
* tests/test_config.py: adapt the tests to the changes due to extra
configuration files in subdirectories
2015-10-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: move button to custom class, create
CommandInterpreter instances when pushing the buttons and report problems
with a dialog
* vdat/gui/treeview_model.py: pep8
* vdat/command_interpreter/exceptions.py: fix bug with CIExeError
* vdat/config/vdat_commands.yml: masterarc needs an alias
* vdat/config/vdat_setting.cfg: add comments about redux_dirs
* vdat/database/models.py: PEP8
* vdat/libvdat/vdat.py: inject CUREBIN into the path
* tests/test_buttons.py: add a test clicking the buttons
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: rewrite the creation of the buttons
* vdat/gui/gui.py: use the new button menu
* vdat/gui/treeview_model.py: connect the button menu to switch set of
buttons when changing directory; use a signal to change the central and
button panels
* vdat/config/buttons.yml: configuration file driving the button creation
* vdat/config/vdat_setting.cfg: add it
* vdat/config/core.py: add it to the files to load
* vdat/config/entry_point.py: add it to the files to copy
* vdat/config/vdat_commands.yml: little formatting
* tests/test_buttons.py: test the button widget; for now test that is
correctly created and that the switching happens correctly
* tests/test_command_interpreter.py: make sure to get a file for the ifu 34
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added
* vdat/config/vdat_setting.cfg: add the above file
* vdat/config/core.py: load vdat_commands.yml
* vdat/config/entry_point.py: copy it; don't overwrite existing files by
default
* tests/test_config.py: test the vdat_config command
2015-10-14 Francesco Montesano <montefra@mpe.mpg.de>
Tests run for python 2.7, 3.4 and 3.5
* tests/test_command_interpreter.py: test also part of the run method. Still
to test if exceptions are handled correctly
* vdat/command_interpreter/core.py: fix bugs and improve error handling and
logging
* vdat/command_interpreter/relay.py: fix bugs with progress relay
* vdat/command_interpreter/types.py: fix bugs and don't cover template
functions
* MANIFEST.in: add readme and requirement file to avoid tox building
failures
* requirements.txt: add numpy to avoid scipy building failures
* setup.py: add new_file entry point
2015-10-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Aligned the scale combobox left to make it prettier
* vdat/libvdat/show_fits.py: replaced another call to astropy getdata with
a ``with open(fn, 'rb')`` to avoid the astropy bug
* vdat/gui/ifu_viewer.py: "Send to ds9" menu now generated dynamically when the
"ds9" menu is clicked. Only files from the currently
selected tab are sent to "ds9" when the menu item
is selected.
2015-10-13 Daniel Farrow <dfarrow@mpe.mpg.de>
* requirements.txt: added pyds9 repo
* setup.py: added pyds9 repo
* vdat/gui/ifu_viewer.py: wrapped get_header in with open(f) to avoid the
astropy bug of not closing files.
2015-10-13 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: group together entripoints
* vdat/command_interpreter/core.py: some bug fix, use execute types, some
changes with the exception handling
* vdat/command_interpreter/exceptions.py: rename some exception
* vdat/command_interpreter/types.py: add execute type and implement all the
necessary types
* tests/test_command_interpreter.py: test most of the command interpreter
initialisation
* doc/_source/command_intepreter.rst: extend documentation
* vdat/config/ci_documentation.yml: removed
2015-10-12 Daniel Farrow <dfarrow@mpe.mpg.de>:
* vdat/gui/fplane.py: moved update IFUs from init to
change_focal_plane, to avoid the
thumbnail generator looking for an
uninitialized fplane
* vdat/gui/ifu_viewer.py: Added option to select frames
and send them to a new or existing
ds9 session
* setup.py: Added pyds9 to install requires
2015-10-09 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/database/core.py: added a table to store image brightness scaling parameters
* vdat/database/models.py: as above
* vdat/gui/fplane.py: Added a section to control the brightness scaling of the thumbnails in the
focal plane. User can select scaling per fits file, or a global
scaling (which can be user specified) for the whole focal plane.
The Fplane class in now its own QWidget.
* vdat/gui/gui.py: Added comments
* vdat/gui/ifu_viewer.py: Suppresses warnings from Ginga ;-)
* vdat/gui/ifu_widget.py: IFU viewers are parented to the main window, so
they can persist when the user changes fplane
* vdat/libvdat/show_fits.py: Casts the number of rows to an integer explicitly. Connects
to a database to find, or set, global brightness
scaling parameters when required for the thumbnails. Uses a
file object with astropy getdata in order to avoid an
astropy bug.
2015-10-09 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_command_interpreter.py: first tests added
* vdat/command_interpreter/core.py: better exceptions
* vdat/command_interpreter/exceptions.py: same
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bootstrap setuptools if it's not installed
* ez_setup.py: bootstrap module
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: separate the loading from the getting of the
configurations: allow more homogeneous handling of the configuration files
* vdat/config/vdat_setting.cfg: comment a bit more
* vdat/config/entry_point.py: move here the implementation of the
``vdat_config`` executable; use pkg_resources to get copy the
configuration files
* setup.py: update the entry point
* vdat/gui/fplane.py: use the new configuration interface; PEP8
* vdat/gui/gui.py: same
* vdat/gui/ifu_viewer.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/queue.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* tests/conftest.py: same
* doc/Makefile(livehtm): add vdat/config to the tracked directories
* doc/_source/codedoc/config.rst: add code documentation
* doc/_source/index.rst: same
2015-10-07 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new configuration for the upgraded thumbnail
creation (see below)
* vdat/gui/background.py: Immediate background thread waits for last job to stop
before running the next job. Toggle system
for the isImmRunning flag removed as it depended
on the main thread being available. Now the
immediate background thread controls the isImmRunning
flag is controlled by the Worker in the thread.
* vdat/gui/fplane.py: Waits for jobs on immediate thread to stop, stops
QObjects still in use from being deleted.
* vdat/gui/gui.py: Handles the uses clicking the close button, now waits
for running jobs on the immediate thread to end. This
stops seg faults from a sudden close.
* vdat/gui/ifu_widget.py: Fixes a bug by removing the auto-regeneration
of corrupted thumbnails. Simply dumps them instead.
* vdat/libvdat/show_fits.py: Based on options in tabs.yml, create a grid of
thumbnails for the IFU widget with entries
for the different channels, amps.
2015-10-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/core.py: Added load_yaml
* vdat/config/tabs.yml: Moved tabs subsections to be direcly under
the different node types (on the same level as
the ifu_viewer and main subsections).
* vdat/gui/fplane.py: Added tools to save and generate focal
plane panels. What is displayed as a thumbnail
is decided by the user via a combo box (i.e. the raw fits, fibre-collapsed
images, arcs, flats etc.). Defaults are set in the tabs.yml
* vdat/gui/gui.py: Central panel now generated dynamically
rather than at initialization.
* vdat/gui/ifu_viewer.py: Moved load_yaml to vdat.config
* vdat/gui/relay.py: Added 'change_centralPanel' signal.
* vdat/gui/treeview_model.py: Rather than prompting an update of the IFUs,
selecting a node causes a whole new
central panel to be created
* vdat/libvdat/show_fits.py: Now show_thumbnails takes a config object
with a regex specifying the file type to
display
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add yaml
* vdat/libvdat/loggers.py: reorganize the loggers code to remove repetitions
* vdat/config/vdat_setting.cfg: adapt the configuration to this
* vdat/libvdat/vdat.py: create appropriate ginga logger
* vdat/gui/ifu_viewer.py: PEP8 frenzy; use ginga logger
* doc/_source/codedoc/reduction.rst: add logging documentation
* doc/_source/gui.rst: fix warning
* doc/_source/index.rst: add todo about logging
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter: added
* vdat/command_interpreter/__init__.py: import interface at module level
* vdat/command_interpreter/core.py: implement the interpreter
* vdat/command_interpreter/exceptions.py: define custom exceptions
* vdat/command_interpreter/helpers.py: will contain some helper function
* vdat/command_interpreter/relay.py: relay-like interface for communication
between the interpreter and the world
* vdat/command_interpreter/types.py: define classes to deal with types
* vdat/config/ci_documentation.yml: very wordy yaml file to use for
documentation purposes
* doc/Makefile: add command_interpreter for auto-compilation
* doc/_source/codedoc/command_interpreter.rst: added
* doc/_source/command_interpreter.rst: added
* doc/_source/index.rst: add the above documents
* doc/_source/codedoc/reduction.rst: remove reduction module
* vdat/libvdat/callback.py: get logger in method
2015-09-30 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: configuration file that decides what is
displayed in different panels
* vdat/config/vdat_setting.cfg: Add tabs.yml to config file
* vdat/gui/background.py: Worker now passes **kwargs and *args
* vdat/gui/ifu_viewer.py: Read in tabs.yml, creates tabs in the
viewer based on it.
* vdat/gui/ifu_widget.py: When doduble clicked and no
directory selected, ask the user to select
one
* vdat/gui/treeview_model.py: Passes the type of directory selected
to show_fits
* vdat/libvdat/loggers.py: Added a generic logger class to store
Ginga loggers
* vdat/libvdat/reduction.py: ifuid -> ihmpid when deriving filenames
* vdat/libvdat/show_fits.py: Saves the type of directory selected in the IFU object
this might not be ideal
* doc/_source/gui.rst: Added some GUI documentation
* vdat/config/core.py: Added tabs.yml to CONFIG_FILES
2015-09-23 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore build and .eggs directories
* setup.cfg: same
* setup.py: create setuptools command @tox@ to fetch tox, if necessary, and
run tox
* scripts/symlink_pyqt.sh: don't print error if pyqt4 is not symlinked
* doc/_source/contributions.rst: added; describe testing via tox and py.test
* doc/_source/index.rst: add the above
* doc/_source/install.rst: update dependency list
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: make the gui tests succeed on tox too
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: added
* setup.cfg: ignore .tox when discovering tests
* svn:ignore: add .tox directory
* MANIFEST.in: fix config directory name change
* scripts/symlink_pyqt.{sh,py}: symlink pyqt4 and sip into the tox virtual
enviroments
* vdat/libvdat/symlink.py: do not try to commit if the redux directory is
empty
* tests/conftest.py: initialise the main logger
2015-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .cache directory
* setup.py: minimum pytest-qt version; fix console_scripts module name
* tests/conftest.py: no need to get for fixtures to get the configuration
and to start the database
* tests/test_symlink.py: clean the loggers
* tests/test_tree_view.py: no need to start database;
* vdat/config/vdat_setting.cfg: disable multiprocessing by default; use only
one max delta time for calibration
* vdat/database/base.py: property to get data as dictionary
* vdat/database/core.py: init get directory where the database should go;
fix bug with @connect@
* vdat/database/models.py: new table columns, method to create the path and
merge multiple rows into one
* vdat/libvdat/symlink.py: initialize, fill and update the database when doing the
symlinking
* vdat/gui/treeview_model.py: build the view from the database
* vdat/libvdat/vdat.py: don't initialize the database
* vdat/utilities.py: merge dictionaries function added; modify some errors
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* *py: use the __future__
* vdat/database/__init__.py: split into sub modules and import only the
"public" interface
* vdat/database/base.py: define the database and the base model
* vdat/database/core.py: initialise the database and deal with the
connection
* vdat/database/models.py: custom models are implemented here
* vdat/database/old_database.py: removed
* vdat/gui/treeview_model.py: use floor with datetime.timedelta
* vdat/libvdat/symlink.py: same
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config: renamed from vdat/vdat_config
* vdat/config/__init__.py: import only "public" interface
* vdat/config/core.py: renamed from vdat/libvdat/config.py and adapted
* setup.py: add ginga, adapt ``vdat_config`` entry point to new
directories
* vdat/gui/fplane.py: use new config subpackage
* vdat/gui/ifu_widget.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* vdat/gui/relay.py: instantiate ``SignalClass`` inside a function and save
in a local list to allow for testing
* vdat/gui/__init__.py: use the new implementation
* vdat/gui/ifu_viewer.py: same (plus PEP8)
* vdat/gui/gui.py: same and config subpackage
* vdat/gui/queue.py: same
* vdat/libvdat/fits.py: same
* vdat/utilities.py (config_directory): moved to vdat/config/core.py
* tests/conftest.py: adapt to the above changes, use pyqt4 v2 api, add
fixtures to start the database and to clear lists and dictionaries at the
end of a test to allow reuse
* tests/test_tree_view.py: use new fixtures
2015-09-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: dialog confirming deletion; fix bug with
indexing
2015-09-11 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: corrected
* doc/_source: created; conf.py, the _template and _static directories and
all the rst files has been moved into this directory
* doc/Makefile: adapted to the changes
* doc/_source/*: small improvements
* setup.py: add vdat_config entry point
* vdat/libvdat/config.py: implement ``vdat_config copy`` command
* vdat/utilities.py: returns the configuration directory
* vdat/libvdat/callback.py: make the documentation happy
2015-09-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: add extra fields in preparation for issues #1048
#1049 and #1053
* vdat/gui/treeview_model.py: add context menu and handle clone and remove
actions as per #1048, adapt the building of the tree view to account for
this
* vdat/libvdat/symlink.py: add ``is_clone`` entry to the shot_file and
ignore cloned directories when re-symlinking
* vdat/utilities.py(write_to_shot_file): possible to chose between write
and append mode when writing
* vdat/gui/background.py(Background): rename ``cls`` to ``self`` for
consistency
2015-09-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add peewee dependency
* vdat/libvdat/database.py: moved to vdat/database/__init__.py
* vdat/database/__init__.py: implement the database table associated
with the entries in the tree view
* vdat/database/old_database.py: keep it for reference, it will be
eventually removed
* vdat/gui/treeview_model.py: populate the database
* vdat/utilities.py: move here from libvdat/symlink.py the functions to
read and write the shot files
* vdat/libvdat/symlink.py: modify accordingly
* vdat/libvdat/vdat.py: initialise the database
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py(ModifyableListWidget.keyPressEvent): for keys other than
the selected one, call the parent class implementation; no return
* vdat/gui/gui.py: move the buttons setup to buttons_menu module
* vdat/gui/buttons_menu.py: same, set buttons max size to 400
* vdat/gui/fplane.py: the layout is an attribute, no need for a function
* vdat/gui/treeview_model.py: set max width for the panel to 400
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: save ticked directories into the configuration
* vdat/libvdat/reduction.py: adapt to the new directory structure
* vdat/libvdat/loggers.py: set up the cure task loggers
* vdat/libvdat/cure_interface.py: move the logger setting up to loggers.py
* vdat/vdat_config/vdat_setting.cfg: add cure task loggers options
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/background.py: moved into vdat/gui as it uses all qt stuff
* vdat/gui/background.py(Background): make it a proper class, initialising
the threads with a parent to get rid of qt warnings about objects not
owned by anything
* vdat/gui/background.py(get_background): create and/or return a Background
instance; once created it returns always the same instance
* vdat/gui/__init__.py: use get_background
* vdat/gui/treeview_model.py: same
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: PEP8
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/relay.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/background.py: same
* vdat/libvdat/show_fits.py: same
* vdat/gui/ifu_widget.py: same, plus variable names fixed
* vdat/gui/menu.py: PEP8, move the action for the queue and all connections
to queue.py
* vdat/gui/queue.py: implement here the queue action and connect the signals
properly
2015-08-28 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Added ginga to requires
* vdat/gui/__init__.py: set the QString and QVariant types for ginga compatibility
* vdat/gui/ifu_viewer.py: Tells ginga to use pyqt4
* vdat/libvdat/callback.py: import show_fits instead of create_thumbnails (bug 1037)
* vdat/libvdat/show_fits.py: Checks if any files are found before creating thumbnail
2015-08-25 Francesco Montesano <montefra@mpe.mpg.de>
* doc: ignore build directory
* doc/codedoc/gui.rst: move the treeview model here
* doc/codedoc/reduction.rst: remove the treeview model
* doc/conf.py: set matplotlib backend to agg to avoid pyqt4/5 conflicts
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: A Ginja based panel that
displays a zoomable, pan-able
colourscale-able image of a FITs file,
with an added display for the header
* vdat/gui/ifu_widget.py: Launches and IFUViewer on double-click
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Added yield all IFUs function,
added a flag that when set stops
looping over IFUs (to stop
jobs more cleanly)
* vdat/gui/gui.py: Added import to flag above (for later)
* vdat/gui/ifu_widget.py: Test to see if a thumbnail
image of IFU is corrupted, if yes
try to regenerate
* vdat/gui/relay.py: Added parent argument ot initialisation
* vdat/gui/treeview_model.py: Calls function to show postage
stamps of FITs images when
a directory is selected.
* vdat/libvdat/background.py: Added a run_now function, and an
extra thread for it. This is designed
for important tasks to jump the queue.
* vdat/libvdat/callback.py: Added a comment
* vdat/libvdat/show_fits.py: New module which generates PNG images
of the detector FITs files
2015-08-20 Daniel Farrow <dfarrow@mpe.mpg.de>
* doc/command_line_tool.rst: Draft specifiation for command line tool
* doc/index.rst: Added link to above
* vdat/gui/fplane.py: Moved 'yield_selected_ifus' here, added select all and
select none functions
* vdat/gui/ifu_widget.py: Exists and selected are now properties
* vdat/gui/menu.py: Add a selection menu with 'select all' and 'select none'
* vdat/libvdat/reduction.py: Removed 'yield_selected_ifus' from here
2015-08-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Now sets the parent of the signal relay
* vdat/gui/gui.py: Renamed MainWindow -> mainWindow as it's not a class
* vdat/gui/menu.py: Sets up the new menu bar at the top of the GUI
* vdat/gui/queue.py: Queue window can be hidden and revealed from the new menu bar
* vdat/gui/relay.py: Uses dictionaries to store signals
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: the main frame must be saved in a variable, even if
it's not used, in the qt app to work properly
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
As now it's not possible to run more than one test running the gui at a
time, as it crashes. This is very likely due to the fact that there are qt
objects around without a parent, and this confuses the qtbot
* setup.py: add pytest-qt dependency
* tests/conftest.py: use matplotlib agg backend to avoid pyqt4/5 clashes.
Add fixtures and move some common code away from test_symlink
* tests/test_symlink.py: adapt to the above
* tests/test_tree_view.py: test 93% of the tree view
* vdat/gui/__init__.py: isolate the code making the main and queue window
to allow setting up tests
* vdat/libvdat/handlers.py: add parent widget in the handler
* vdat/gui/gui.py: adapt to the above
* vdat/gui/treeview_model.py: set the ReductionTreeviewModel as child of the
ReductionQTreeView
* vdat/libvdat/background.py: add a todo
2015-08-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: moved to gui
* vdat/libvdat/treeview_model.py: create the tree view from the redux
directory structure, make only directory containing the fits file
selectable, make calibration directories checkable to allow select
specific calibrations during reduction.
* vdat/gui/buttons_menu.py: add temporary button to test the tree view
model. Will be removed once the other buttons will be reimplemented
* vdat/gui/gui.py: move the creation of the tree view to the proper module;
add the above button
* vdat/libvdat/reduction.py: fixed bug with missing configuration section
2015-08-04 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* .: ignore coverage output files and directories
* setup.py: convert to pytest
* setup.cfg: same
* vdat/libvdat/symlink.py: make rerun symlink more robust and write a file
"SHOT_FILE" with all the relevant informations of the symlinked shot as a
json
* vdat/utilities.py: add json serialisation and de-serialisation of datetime
instances
* vdat/vdat_config/vdat_setting.cfg: add max_delta_zro option
* vdat/gui/__init__.py: don't import symlink module
* tests: add tests
* tests/data/raw: add fits files for testing: zro, sci, flt, arc shots, 3
IFUs and 3 exposures each
* tests/conftest.py: add fixtures
* tests/test_symlink.py: test the symlinking (edge cases still missing)
2015-07-30 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* vdat/libvdat/symlink.py: almost completely rewritten; data symlinked at
the shot level; calibration frames divided in subdirectories; flat and arc
collected in the same 'cal' directory
* vdat/libvdat/vdat.py: symlink done before calling the gui; multiprocessing
set up
* vdat/utilities.py: custom exceptions added
* vdat/vdat_config/vdat_setting.cfg: add raw directory, add multiprocessing,
add maximum time delta to use when grouping flat and arc frames
* vdat/libvdat/loggers.py: set logger level to debug
* vdat/gui/__init__.py: don't do the symlink here
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/loggers.py: created moving code out of vdat.py and
reorganizing it
* vdat/libvdat/vdat.py: updated according to the above
* vdat/vdat_config/vdat_setting.cfg: more logging configuration given
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add six dependency
* vdat/gui/__init__.py: PEP8
* vdat/gui/buttons_menu.py: PEP8 and documentation fixes
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/relay.py: same
* vdat/gui/queue.py: same, plus using self instead of parent class method
* vdat/libvdat/background.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/config.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/database.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/handlers.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/treeview_model.py: same
* vdat/libvdat/vdat.py: same
* vdat/utilities.py: same
2015-07-02 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/libvdat/reduction.py: Added routine for creating error files with photon
noise, extracting the data region of the files
and joining the amplifiers
* vdat/vdat_config/vdat_setting.cfg: Added options for the new commands
* vdat/gui/gui.py: Added buttons for the new routines
2015-07-01 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/gui.py: Switched from file browser to a custom model in the treeview widget. Currently
it just gives a hard-coded example of the new custom model's
capabilities.
* vdat/libvdat/treeview_model.py: Added a customisable model for the treeview widget to
use. It can show different reduction steps in a
branching hierachy.
2015-06-16 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Create a queue
* vdat/gui/buttons_menu.py: Added comments
* vdat/gui/fplane.py: Got rid of the unneccessary extra IFU type
now there is just one type defined in
ifu_widget
* vdat/gui/gui.py: Added a button
* vdat/gui/ifu_widget.py: Turned into a pyhetdex IFU type, added
methods to update the picture in the IFU
to reflect whether the IFU has input files
or not.
* vdat/gui/queue.py: A queue window, which keeps track of the
commands a user has requested and runs
them when they reach the head of the queue. The
user can also delete these commands.
* vdat/gui/static/unreduced.png: New image to differentiate
between IFUs with and without input files
* vdat/libvdat/background.py: Uses the queue
* vdat/libvdat/callback.py: Uses the queue
* vdat/libvdat/reduction.py: New function the subtract masterbias and overscan from files
* vdat/libvdat/symlink.py: Tells the IFU object it exists if it finds FITs files from it
Updated documentation and installation files:
* doc/codedoc/gui.rst
* doc/codedoc/reduction.rst
* doc/index.rst
* doc/queue.rst
* requirements.txt
* MANIFEST.in
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
* MANIFEST.in: Added fplane.txt file, so it is also installed!
* doc/install.rst: Tweaked documentation
* doc/launching.rst: As above
* requirements.txt: Added command to install pyhetdex
* vdat/libvdat/vdat.py: Added check to see if config file exists
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
Added Sphinx documentation (under doc/), minor
modifications to comments
* AUTHORS
* LICENSE
* README.md: Added new dependencies
* doc/: Added documentation here
* vdat/gui/gui.py
* vdat/libvdat/reduction.py
2015-06-11 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/buttons_menu.py: Fixed python3 compatibility by using String instead of QString
* vdat/gui/fplane.py: Added a custom IFU class with a variable indicating if the IFU is selected
* vdat/gui/gui.py: Added a create masterbias button
* vdat/gui/ifu_widget.py: Made the widget selectable, add blue frame when not selected
* vdat/libvdat/cure_interface.py: Now tells the worker to clear jobs, so the progress bar is refreshed
* vdat/libvdat/reduction.py: Added create master bias function, subtract overscan now only works on selected IFUs
* vdat/libvdat/symlink.py
* vdat/vdat_config/vdat_setting.cfg: Added a format statement specifying the VIRUS filename structure
2015-06-01 Daniel Farrow <dfarrow@mpe.mpg.de>
Started using the multiprocessing tools
from pyhetdex to run jobs in parallel.
Implemented a progress bar to check how
far a job has gone. Moved logs to a
user specified log directory. A few improvements
in commenting and other minor things.
* setup.py: Added APlpy to list of required Python modules
* vdat/gui/buttons_menu.py: Now supports displaying a tooltip
* vdat/gui/fplane.py: Improved comments
* vdat/gui/gui.py: Got rid of silly buttons like "Make Coffee"
* vdat/gui/relay.py: A module to send signals to the GUI (i.e. update progress bar etc)
* vdat/libvdat/background.py
* vdat/libvdat/cure_interface.py: Functions to wrap around CURE, runs in parallel
* vdat/libvdat/fits.py: Uses multiprocessing
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Uses cure_interface
* vdat/libvdat/symlink.py: Tells the user when symlinking is done
* vdat/libvdat/vdat.py: Set up log directory
* vdat/vdat_config/vdat_setting.cfg: Added log directory and changed wildcards to conform
to pyhetdex:r74
2015-05-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: update ``scan_dirs`` after pyhetdex:r74. PEP8
and numpydoc compliant
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
A few minor modifications to style based on
Francesco's comments. Added a subtract overscan
routine. Switched to using file names rather
than a database when running commands. Added
a module to make it easier for the code
to signal the GUI.
* vdat/gui/buttons_menu.py
* vdat/gui/fplane.py
* vdat/gui/gui.py
* vdat/gui/ifu_widget.py
* vdat/gui/relay.py: Module to relay signals to the GUI
* vdat/libvdat/background.py
* vdat/libvdat/callback.py
* vdat/libvdat/database.py
* vdat/libvdat/fits.py
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Added function to subtract overscans
* vdat/libvdat/symlink.py: Tells GUI to update file browser panel when symlink done
* vdat/vdat_config/vdat_setting.cfg: Added some wildcards to find files
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
Added an internal sqlite3 database to keep track
of what files are available. Created a background
thread with which to run things so they don't lock
up the GUI when they're running. Implemented
a simple code which loops through all fits files
and converts them to PNGs.
* vdat/gui/__init__.py: Moved call to symlink to here
* vdat/gui/gui.py: Added a (currently disabled) progress bar
* vdat/libvdat/background.py: run jobs in a separate thread
* vdat/libvdat/callback.py: Added calls to Background
* vdat/libvdat/database.py: Internal database to keep track of files
* vdat/libvdat/fits.py: Implements a simple fits -> PNG conversion
* vdat/libvdat/handlers.py: Now uses signals to interface with GUI to be thread safe
* vdat/libvdat/symlink.py: Can read rawdir from config file
* vdat/libvdat/vdat.py: Moved symlink from here.
2015-05-18 Daniel Farrow <dfarrow@mpe.mpg.de>
Switched to using PyQt4 and fixed python 2.7
compatibility. Added symlink function as
described by issue #821
* vdat/gui/__init__.py: ... switched to PyQt4
* vdat/gui/buttons_menu.py: PyQt4
* vdat/gui/fplane.py: PyQt4
* vdat/gui/gui.py: PyQt4
* vdat/gui/ifu_widget.py: PyQt4
* vdat/libvdat/callback.py: Function factory to return functions to connect to
button clicks. Currently just returns a function that prints "Not implemented"
* vdat/libvdat/config.py: Read options to do with logging
* vdat/libvdat/handlers.py: PyQt4
* vdat/libvdat/symlink.py: symlinks files from raw to redux directory (issue 821)
* vdat/libvdat/vdat.py: Sets up logging, switched to PyQt4
* vdat/vdat_config/vdat_setting.cfg: Added options to do with logging
2015-05-14 Daniel Farrow <dfarrow@mpe.mpg.de>
Added a new handler for the logger which
prints colour-coded messaged to the text
panel of the VDAT GUI
* libvdat/handler.py: Created a new Handler for logging
* gui/gui.py: Attached the QTextEdit panel to the Handler
* gui/__init__: Prints a welcome message using the new logger
2015-05-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Modified to point to vdat.py:main()
* libvdat/__init__.py: added (empty file)
* libvdat/vdat.py: added, reads in config file, starts GUI
* vdat_config/vdat_settings.cfg: added
* vdat_config/fplane.txt: added
* gui/fplane.py: Reads in fplane.txt and displays it
* gui/ifu_widget.py: Added. Derives QLabel, shows the IFU
* gui/ifu_widget.py: Includes a custom handler for resize events
* gui/resources/empty.png: Copied from Quicklook
* MANINFEST.in: Read by pip to tell it to install the empty.png file
2015-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* gui: moved to vdat/gui
* README.md: some basic installation info added
* setup.py: install vdat package and create ``vdat`` executable
* setup.cfg: setup configuration
* vdat/__init__.py: version number
* vdat/gui/buttons_menu.py: absolute import, some PEP8
* vdat/gui/fplane.py: absolute import, some PEP8
* vdat/gui/gui.py: absolute import, some PEP8
* vdat/gui/__init__.py: same, isolate main function
* svn:ignore: egg dir added
2017-10-18 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk in ^/branches/text_file_tab
2017-10-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: add text_file tab for the dither file
2017-10-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/static/icons: add a subset of the "macOS Icons" icons
https://store.kde.org/p/1102582/
* vdat/gui/__init__.py: if the theme name is not set, set it to the above
name. Resolves issue #2133
2017-09-27 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/conftest.py: update fixture
* tests/test_gui/test_tabs/test_ifu_viewer.py: 100% coverage of the
ifu_viewer module
* vdat/gui/tabs/ifu_viewer.py: make some little change to allow testing
2017-09-26 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/_static/fits_viewer.png: update screenshot
* doc/_source/_static/text_file_viewer.png: same
2017-09-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add the quit and help menu to the ifu viewer
windows
2017-09-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menubar.py: plug the Help menu and get rid of the unnecessary
signals
* vdat/gui/mainwindow.py: remove slots and connection incorporated into the
Help menu. Second part of issue #2135
* vdat/gui/help_window.py: set reasonable size for the help window
* tests/test_gui/test_mainwindow.py: remove tests
2017-09-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: isolate the help menu for better reusability.
First part of issue #2135
* tests/test_gui/test_menus_actions.py: test it
2017-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/ifu_viewer.rst: describe the new text file window
* doc/_source/gui/main_panel.rst: finish documentation of the text file tab
* doc/_source/_static/fplane_text_file.png: add screenshot
* doc/_source/_static/text_file_viewer.png: same
2017-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: if the file exists, open it in the file
editor
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
2017-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add basic text editor
* tests/test_gui/test_tabs/test_ifu_viewer.py: test it
2017-09-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: create QuitAction
* vdat/gui/menubar.py: use it
* tests/test_gui/test_menus_actions.py: test it
2017-09-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: prepare al image with the number of lines
* vdat/gui/tabs/tab_widget.py: no need to add the cleanup method
* tests/test_gui/test_tabs/test_ifu_widget.py: test the changes
* tests/test_gui/test_tabs/test_tab_widget.py: the fake IFU are not needed
2017-09-13 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add text_file tab plugin. First part of issue #2108
* vdat/gui/tabs/entry_points.py: implement the entry point for text_file
* vdat/gui/tabs/tab_widget.py: implement the tab type (I think that it's
everything that we need)
* vdat/gui/tabs/ifu_widget.py: implement the setup method of the ifu widget.
It still doesn't display anything
* doc/_source/gui/main_panel.rst: begin documenting the changes
* tests/test_gui/test_fplane.py: test the new plugin
* tests/test_gui/test_tabs/test_ifu_widget.py: test the initialisation and
setup of the new ifu widget
* tests/test_gui/test_tabs/test_tab_widget.py: test the new tab widget
* tests/test_list_plugins.py: update the number of plugins
2017-10-11 Niv Drory <drory@astro.as.utexas.edu>
* config/vdat_commands.yml (subtract_os): remove deceptively evil -s flag.
2017-10-04 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/exclude_ifus into ^/trunk
2017-10-04 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/main_panel.rst: add some info about the fplane file
2017-09-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: add option to respect empty columns and rows
when displaying the focal plane. Resolves issue #2139
* vdat/gui/tabs/tab_widget.py: use it
* vdat/gui/central.py: exclude the IFUs also in the main part of the gui
* tests/test_gui/conftest.py: adapt the tests
* tests/test_gui/test_tabs/test_tab_widget.py: same
2017-09-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: add option to ignore IFUSLOT. Resolves
issue #2138
* vdat/config/versions.py: bump the vdat_setting.cfg version to 1.1.0
* vdat/gui/tabs/tab_widget.py: propagate the above option to the focal plane
in the GUI
* tests/test_config/test_versions.py: update the versions
2017-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/fplane.txt: forgot to copy the updated fplane file (updated
from fplane20170202.txt in the virus_config repo)
2017-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/fplane_map into ^/trunk
* vdat/gui/static/VirusDataAnalysisTool.qch: update
* vdat/gui/static/VirusDataAnalysisTool.qhc: same
2017-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: use the fplane_map type
* vdat/config/tasks.yml: update the commands to use it
* vdat/config/versions.py: update the version
2017-09-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add the fplane_map type. Resolves issue
#2115
* doc/_source/command_interpreter.rst: document it
* setup.py: advertise it
* tests/test_ci/test_types.py: test it
2017-09-09 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tasks.yml: Fixed mistake which caused some
tabs to be repeated
2017-09-07 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/vdat_commands.yml: Fixed fiberextract mandatories
2017-09-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: correct the dither_file executable call
* vdat/config/vdat_commands.yml: same
2017-09-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: fix typo in variable name (modelbalse ->
modelbase in the mkdither command)
* vdat/config/tasks.yml: fix the above type, fix error in Fiber extracted
tab title
2017-08-22 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/vdat_commands.yml: Update filename prefixes and
pixelflat filenames.
deformer step creates dists/fmods for flat and twilight.
flatnorm runs for flat and twilight models.
* vdat/config/tasks.yml: Moved pixelflat step before ccdcombine
Added buttons to use twilight dist/fmod for skysubtraction and
fiberextract
2017-08-21 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/vdat_commands.yml: pixflat_lib dir defaults to ./pixel_lib
* vdat/config/tasks.yml: Use pixelflats by default
2017-08-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/tasks.yml: Use master twilight frames for deformer
2017-08-16 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.7.0-post
2017-08-16 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: require pyhetdex 0.12.0, bump version to 0.7.0
* ReleaseNotes.md: update
* tox.ini: remove devel pyhetdex version dependency
* vdat/gui/static/VirusDataAnalysisTool.qch: update
* vdat/gui/static/VirusDataAnalysisTool.qhc: same
2017-08-16 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/next_pyhetdex/ into ^/trunk
2017-08-11 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_libvdat/test_loggers.py: fix number of log files created
2017-08-11 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/versions.py: Bumped version numbers
* vdat/config/tasks.yml: More pipeline updates
* vdat/config/vdat_commands.yml: Same
2017-08-09 Jan Snigula <snigula@mpe.mpg.de>
* vdat/config/vdat_commands.yml: Use library bias and dark frames
* vdat/config/tasks.yml: Same
* vdat/libvdat/vdat.py: Fixed multiprocessing on OS X
2017-04-20 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_gui_utils.py: get rid of warnings
* tests/test_libvdat/test_symlink.py: same
* vdat/gui/utils.py: same
* tests/test_gui/test_tabs/test_ifu_widget.py: improve float comparison
2017-08-16 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: re-add cov-init, use devel version of pyhetdex everywhere
2017-07-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: use new pyhetdex.tools.db_helpers module
* vdat/libvdat/symlink.py: same
* tests/test_database.py: remove unnecessary tests
* vdat/database/__init__.py: remove unnecessary imports
2017-06-28 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: add python 3.6
* vdat/config/entry_point.py: use pyhetdex functions. Resolves issue #1964
* tests/test_config/test_entry_point.py: update the tests
2017-06-26 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: depends on configparser on python 2
* tox.ini: use devel pyhetdex
* vdat/config/core.py: use configparser; resolves #1983
* vdat/config/versions.py: same
* vdat/gui/menubar.py: same
* vdat/gui/utils.py: same
* vdat/libvdat/vdat.py: same
* tests/test_gui/test_gui_utils.py: same, get rid of warnings
* tests/test_gui/test_mainwindow.py: same
* tests/test_gui/test_tree_view.py: same
* tests/test_libvdat/test_loggers.py: same
* tests/test_libvdat/test_symlink.py: same
* tests/test_libvdat/test_vdat.py: same
2017-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to v0.6.1-post
2017-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: prepare for v0.6.1 release
* ReleaseNotes.md: same
2017-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: use pyhetdex override_conf instead of its own
implementation. Resolves issue #1850
* tests/test_config/test_core.py: update tests
2017-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/peewee_connect into ^/trunk
2017-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_mainwidget.py: wrap every database query/modification
within a connection. Solved issue #1897
* tests/test_gui/test_menubar.py: same
* tests/test_gui/test_menus_actions.py: same
* tests/test_gui/test_tree_view.py: same
* tests/test_libvdat/test_symlink.py: same
* vdat/gui/central.py: same
* vdat/gui/menubar.py: same
* vdat/gui/menus_actions.py: same
* vdat/gui/tabs/entry_points.py: same
* vdat/gui/tabs/tab_widget.py: same
* vdat/gui/treeview_model.py: same
* vdat/database/core.py: open and close the database only if it's not on
memory
2017-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version
* tox.ini: ignore little-deploy failures
* vdat/database/core.py: connect only if the database is closed. Fixes issue
#1895.
* vdat/libvdat/symlink.py: wrap some query into db.connect()
2017-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* scripts/symlink_pyqt.sh: fix bug
2017-02-03 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: prepare v0.6.0 release
* ReleaseNotes.md: same
2017-02-03 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/branches/debug_logs into ^/trunk
2017-02-03 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/trunk into ^/branches/debug_logs
2017-01-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: add option to process events while the thread is
running
* tests/test_gui/test_gui_utils.py: test it
* vdat/gui/mainwidget.py: use it to update the GUI as the symlinking is
running (fixes #1765)
2017-01-31 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_mainwidget.py: add tests
* vdat/gui/mainwidget.py: do only the symlink in the thread
2017-02-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: workaround to fix issue #1782
2017-02-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: resolves issue #1782
* tests/test_gui/test_tabs/test_ifu_widget.py: adapt mocking in tests
2017-02-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: improve documentation, resolves issue #1779
* vdat/gui/static/VirusDataAnalysisTool.qch: add the new documenation
* vdat/gui/static/VirusDataAnalysisTool.qhc: same
2017-02-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: uses astropy's zscale. Fixes Issue #1777
2017-01-30 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/trunk into ^/branches/debug_logs
2017-01-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: add function to run the FuncQThread with the waiting
cursor.
* vdat/gui/mainwindow.py: use it
* vdat/gui/treeview_model.py: use it
* vdat/gui/mainwidget.py: use it when running the symlink from the GUI.
Solves issue #1765
* tests/test_gui/test_gui_utils.py: add tests
* tests/test_gui/test_mainwidget.py: added. Need to finish testing the
widget, but I first need to merge the other branch as it has some fixture
I need
2017-01-27 Francesco Montesano <montefra@mpe.mpg.de>
* tests/conftest.py: tmp_dir is now a of tmpdir with the possibility to
remove the directory; add fixtures
* tests/test_gui/test_init.py: move fixture to conftest
* tests/test_integration_vdat.py: add regression/integration test for the
bug in #1317
* vdat/gui/__init__.py: partial refactoring to help testing
* vdat/libvdat/vdat.py: add argv option to main for testing purposes
2017-01-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: don't set the logger level
* vdat/gui/logger_widget.py: set the handler level to INFO
* tests/conftest.py: fix sip.setapi to v2 for all the types
2017-01-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/static/VirusDataAnalysisTool.*: update documentation with the
latest changes
2017-01-30 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/branches/plug_tabs_1533 into ^/trunk
2017-01-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/list_plugins.py: add functionality to list entry points. Solves issue
#1613
* vdat/gui/fplane.py: move entry point group name to variable
* tests/test_list_plugins.py: test the new functionality
* doc/_source/gui/main_panel.rst: add some documentation
* doc/_source/codedoc/index.rst: same
* doc/_source/codedoc/list_plugins.rst: same
* setup.py: add the entry point
2017-01-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: make "Individual" radio button react to
button release to allow repainting the GUI. Resolved issue #1679
* doc/_source/gui/main_panel.rst: add some hint about this
2017-01-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: reset individual selection when dropping fits
tabs
* tests/test_gui/test_tabs/test_tab_widget.py: update the tests
2017-01-10 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/main_panel.rst: move the new plugin implementation away.
* doc/_source/codedoc/gui/tabs/new_type_example.rst: move it here and update
the rest
2017-01-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: port all the tasks to the new tab types. Resolves
#1724
2017-01-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: make sure that the user is not spammed with
reconstruction error if the reconstruction object is not present. Resolved
#1725
2016-12-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/interface.py: add the enabled property
* vdat/gui/fplane.py: set the tab enabled or not
* tests/test_gui/conftest.py: move fixture here
* tests/test_gui/test_central.py: from here
* tests/test_gui/test_fplane.py: test tab enabled
2016-12-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: add overlay if no tab displayed; fixes issue #1603
* tests/test_gui/test_fplane.py: test it and fix other tests accordingly
2016-12-15 Francesco Montesano <montefra@mpe.mpg.de>
fixes issue #1720
* doc/_source/conf.py: add ginga intersphinx
* vdat/gui/tabs/entry_points.py: remove unused entry points
* vdat/gui/tabs/ifu_viewer.py: fix documentation and remove unused code
* vdat/gui/tabs/ifu_widget.py: same
2016-12-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: fix documentation
* vdat/gui/tabs/interface.py: same
* vdat/gui/tabs/tab_widget.py: same and remove old code
2016-12-14 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/_static/send_to_ds9.png: added
* doc/_source/gui/ifu_viewer.rst: add some documentation about the fits
viewer
2016-12-14 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/ifu_viewer.rst: add screenshot
* doc/_source/gui/main_panel.rst: add information about the header_keys
keyword
* doc/_source/_static/fits_viewer.png: added
* vdat/config/tasks.yml: add the header_keys keyword
* vdat/gui/tabs/ifu_viewer.py: remove line with file name
016-12-14 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/main_panel.rst: finish the tabs documentation
* doc/_source/gui/ifu_viewer.rst: add basic info
* doc/_source/gui/menu_bar.rst: add references
* doc/_source/_static/vdat_main_panel.png: add
* doc/_source/_static/vdat_screenshot.png: update
2016-12-13 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/main_panel.rst: document the reconstruct tab type
* doc/_source/_static/fplane_reconstruct.png: add screenshot
2016-12-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: create unique file names using md5 hash.
Fixes issue #1714
2016-12-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: pass title and tooltip to fits window; fixes
issue #1715
* tests/test_gui/test_tabs/test_ifu_widget.py: test the changes
2016-12-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add ability to pass custom tab titles and
tooltip
* tests/test_gui/test_tabs/test_ifu_viewer.py: test it
2016-12-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: unset basenames
* vdat/gui/tabs/tab_widget.py: pass basenames to the ifus
* vdat/gui/tabs/entry_points.py: add the "reconstruct" tab type
* setup.py: add the entry point
* vdat/config/tasks.yml: use it
* doc/_source/gui/main_panel.rst: add the entry point in the documentation
* tests/test_gui/test_fplane.py: test the new entrypoint
* tests/test_gui/test_tabs/test_tab_widget.py: test the changes
2016-12-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: add basenames property to allow loop over
them to combine multiple exposures
* tests/test_gui/test_tabs/test_ifu_widget.py: test the changes
2016-12-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: rename combined to fits_combined
* setup.py: same
* tests/test_gui/test_fplane.py: same
* doc/_source/gui/main_panel.rst: add the fits_combined documentation
* doc/_source/_static/fplane_fits_combined.png: add image
* vdat/config/tasks.yml: re-add all the cal steps
2016-12-06 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_central.py: re-enable the empty fplane tab type for
testing only
* tests/test_gui/conftest.py: move some fixture here
* tests/test_gui/test_fplane.py: modify accordingly
* vdat/gui/fplane.py: change pkg_resources import to allow mocking
* vdat/gui/tabs/entry_points.py: make the empty_fplane private
2016-12-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: implement the combined tab type
* setup.py: add its entry point, remove old tab entry points
* tests/test_gui/test_fplane.py: test the new entry points, remove old entry
point tests
* doc/_source/gui/main_panel.rst: add the entry point docstring
2016-12-06 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_queue.py: disable some more test for python2
* vdat/config/tasks.yml: add the first three steps of the zro reduction with
the new tab system
2016-12-05 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/main_panel.rst: add documentation of the exp_combined tab
type
* doc/_source/_static/fplane_exp_combined.png: added
2016-12-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: add exp_combined entry point implementation
* vdat/gui/tabs/ifu_widget.py: extend the number of ids that is possible to
use the fits file name; fix bug with cleanup in the base class
* vdat/gui/tabs/interface.py: fix documentation
* vdat/gui/tabs/tab_widget.py: create the title and, if given, the tool tip;
remove the tooltip on cleanup
* doc/_source/gui/main_panel.rst: begin the documentation
* setup.py: add the exp_combined entry point
* tests/test_gui/test_fplane.py: test the new entry point
* tests/test_gui/test_tabs/test_tab_widget.py: fix the tests for the title
and tooltip
2016-12-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: the base class cleanup method set the empty
image and paint it (issue #1688)
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
2016-12-01 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* vdat/gui/tabs/tab_widget.py: add the widgets in the setup method only
* tests/test_gui/test_tabs/test_tab_widget.py: update tests
2016-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: remove the widgets from the layout when doing
the cleanup and readd them on setup as a workaround for the non-showing
problem when readded into the fplane
* tests/test_gui/test_tabs/test_tab_widget.py: update tests
* tests/test_gui/test_fplane.py: make sure the first widget is selected
2016-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add temporary entry point for the stacked widget
* vdat/gui/tabs/entry_points.py: add the entry point function for the
stacked widget
* vdat/gui/tabs/tab_widget.py: work on the aspect of the stacked widget. Use
a check box in the bar at the bottom of the focal plane
* vdat/gui/utils.py: move the vertical spacer here
* tests/test_gui/test_fplane.py: add an integration test
* tests/test_gui/test_tabs/test_tab_widget.py: test the changes
2016-11-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: disable the switch button if no
reconstruction object present
* tests/test_gui/test_tabs/test_tab_widget.py: test it
2016-11-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: fix bug
* tests/test_gui/test_tabs/test_tab_widget.py: according to tests the widget
works
2016-11-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: a first implementation of issue #1669 is done
* tests/test_gui/test_tabs/test_tab_widget.py: start testing (still all to
do, though)
2016-11-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: extend clean/update cached thumbnails to the
quick reconstruction widget
* tests/test_gui/test_tabs/test_ifu_widget.py: test the changes
* tests/test_gui/test_queue.py: disable some test for python2
2016-11-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: clean/update cached thumbnails if needed
(issue #1660)
* vdat/gui/utils.py: update function
* tests/test_gui/test_gui_utils.py: update tests
* tests/test_gui/test_tabs/test_ifu_widget.py: test the new implementation
2016-11-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: make sure that the header keywords are
correctly reordered (issue #1675)
* tests/test_gui/test_tabs/test_ifu_viewer.py: add regression test
* tox.ini: raise the bar for success of the coverage
2016-11-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: show the reconstructed image in the fits
viewer window
* tests/test_gui/test_tabs/test_ifu_widget.py: test some of it
2016-11-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add possibility to show header keywords at
the beginning
* vdat/gui/tabs/ifu_widget.py: pass the tab configuration dictionary
* vdat/gui/tabs/entry_points.py: document
* tests/test_gui/test_tabs/test_ifu_viewer.py: test the header keyword
reordering
* tests/test_gui/test_tabs/test_ifu_widget.py: update tests
2016-11-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: open the fits viewer on double click
* vdat/gui/tabs/ifu_viewer.py: zoom to fit on first show
* tests/test_gui/test_tabs/test_ifu_widget.py: add tests
2016-11-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py: fix bug introduced with fixing #1646
* tests/test_gui/test_queue.py: re-enabled some test that would have avoided
this bug
2016-11-17 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: make sure selections are correctly propagated to all
tabs (#1671)
* vdat/gui/tabs/ifu_widget.py: same
* vdat/gui/tabs/tab_widget.py: same
* tests/test_gui/conftest.py: fix fixtures
* tests/test_gui/test_central.py: test the changes
* tests/test_gui/test_fplane.py: same
2016-11-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: add the reconstructed IFU pluging
(issue #1633)
* vdat/gui/tabs/ifu_widget.py: implement the IFU widget for it
* vdat/gui/tabs/tab_widget.py: implement the tab widget for it
* vdat/gui/utils.py: add the prefix for the reconstructed files
* setup.py: add the entry point
* ReleaseNotes.md: update
* tests/test_gui/conftest.py: new fixture of the reconstructed object
* tests/test_gui/test_fplane.py: test the new plugin
* tests/test_gui/test_tabs/test_ifu_widget.py: test the new widget
* tests/test_gui/test_tabs/test_tab_widget.py: same
2016-11-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: remove all the reconstruction hints from the
FitsFplanePanel class
* vdat/gui/tabs/ifu_widget.py: store some more info, remove old pieces of
code
* vdat/gui/tabs/entry_points.py: cleanup the plugin
* tests/test_gui/test_tabs/test_tab_widget.py: fix tests accordingly
* ReleaseNotes.md: updated
2016-11-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: react to changing the scale
* vdat/gui/tabs/ifu_widget.py: add attributes storing the global scaling and
use them, if available, to paint the fits files
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* tests/test_gui/test_tabs/test_tab_widget.py: test it
2016-11-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: add zmin/zmax property
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* vdat/gui/tabs/tab_widget.py: get the global zscale for the IFUs and store
it; add needed functionality for this; add cleanup
* tests/test_gui/test_tabs/test_tab_widget.py: test it
2016-11-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add header information
* vdat/gui/tabs/ifu_widget.py: ifu_viewer classes name changed
* ReleaseNotes.md: udpated with issue #1631
2016-11-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: start rewriting the fits viewer. Show the
files in independent tabs.
* tests/test_gui/test_tabs/test_ifu_viewer.py: test most of the new
implementation
* tests/test_gui/test_central.py: move fixtures from here ...
* tests/test_gui/conftest.py: ... to here
2016-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: recreate thumbnail if it's older than the
fits file; clear cached thumbnail if the fits file does not exist.
* tests/test_gui/test_tabs/test_ifu_widget.py: test this
2016-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: move the thumbnailing code here
* tests/test_gui/test_gui_utils.py: test it
* vdat/gui/tabs/ifu_widget.py: implement prepare_image to produce thumbnails
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* tests/test_gui/conftest.py: add fixture
2016-11-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_viewer.py: add base class for the IFU viewers
* doc/_source/codedoc/gui/tabs/ifu_viewer.rst: add inheritance tree
2016-11-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: update documentation; get type from
database
* vdat/gui/tabs/tab_widget.py: add setup method
* vdat/gui/tabs/ifu_widget.py: add and implement setup method
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* tests/test_gui/test_fplane.py: add fits_fplane integration test
2016-11-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: improve error messages at plugin loading time (issue
#1655)
* tests/test_gui/test_fplane.py: update tests
2016-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: add extra "step_name" parameter to pass to the plugins
* vdat/gui/tabs/entry_points.py: same
* vdat/gui/tabs/interface.py: same
* vdat/gui/tabs/tab_widget.py: begin implementing the setup
* vdat/gui/tabs/ifu_widget.py: same
2016-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: create fits_fplane entry point
* setup.py: same
* vdat/gui/tabs/tab_widget.py: add scale buttons to the GUI
* vdat/gui/tabs/ifu_widget.py: remove unused method
* tests/test_gui/test_tabs/test_tab_widget.py: test new class init
2016-10-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/ifu_widget.py: don't trigger single clicks on double click
(issue #1639)
* tests/test_gui/test_tabs/test_ifu_widget.py: test it
* doc/_source/codedoc/gui/tabs/new_type_example.rst: add some info about
this
* ReleaseNotes.md: updated with the issue reference
2016-10-25 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: updated
* vdat/gui/queue.py: remove the command and thread when the command finishes
to run
* vdat/gui/tabs/tab_widget.py: set parent in the thread
2016-10-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: don't draw the tab
* vdat/gui/tabs/ifu_widget.py: fix hw_size, cleanup code
* vdat/gui/tabs/tab_widget.py: use showEvent, properly select/unselect IFU
to make it reply back
* tests/test_gui/test_fplane.py: add regression test to make sure that
selecting/deselecting all IFUs work as expected
* tests/test_gui/test_tabs/test_ifu_widget.py: update tests
* tests/test_gui/test_tabs/test_tab_widget.py: same
* tests/test_gui/test_mainwindow.py: fix weird interaction with other tests
* doc/_source/codedoc/gui/tabs/new_type_example.rst: update with the
showEvent info
* doc/_source/gui/main_panel.rst: add link to the above document
2016-10-21 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/codedoc/gui/tabs/entry_points.rst: added
* doc/_source/codedoc/gui/tabs/new_type_example.rst: add an example on how
to use and extend the code
* doc/_source/codedoc/gui/index.rst: add them to index
* vdat/gui/tabs/entry_points.py: set parent explicitly
* vdat/gui/tabs/ifu_widget.py: fix documentation
2016-10-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/entry_points.py: add empty_fplane tab type using
BaseFplanePanel
* vdat/gui/tabs/interface.py: fix bug with error message
* doc/_source/gui/main_panel.rst: add empty_fplane documentation
* setup.py: add empty_fplane entry points
* tests/test_gui/test_fplane.py: test that the new entry point behave as
expected
2016-10-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: fix bugs
* vdat/gui/tabs/ifu_widget.py: fix cleanup documentation
* tests/test_gui/conftest.py: update fixture for better use
* tests/test_gui/test_central.py: use the new fixtures
* tests/test_gui/test_tabs/test_tab_widget.py: test BaseFplanePanel
2016-10-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: implement the BaseFplanePanel widget, rename
some of the UpdateIFUTask parts
* vdat/gui/tabs/ifu_widget.py: add TODO on a slot
* vdat/gui/tabs/interface.py: update documentation
* doc/_source/codedoc/gui/tabs/tab_widget.rst: show full inheritance
* tests/test_gui/test_tabs/test_tab_widget.py: update the UpdateIFUTask
names
2016-10-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/tab_widget.py: update the UpdateIFUTask to run
* tests/test_gui/test_tabs/test_tab_widget.py: test it
* vdat/gui/tabs/ifu_widget.py: update documentation
2016-10-18 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_central.py: move a fixture to the conftest
* tests/test_gui/conftest.py: update above fixture
* tests/test_gui/test_tabs/test_ifu_widget.py: added, test the BaseIFUWidget
* vdat/gui/tabs/ifu_widget.py: fix renaming bugs
2016-10-17 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/codedoc/gui/tabs/ifu_widget.rst: add inheritance map
* vdat/gui/tabs/ifu_widget.py: first iteration of the IFU widget base class
* vdat/gui/tabs/tab_widget.py: fix names according to the above changes
2016-10-14 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/codedoc/gui/index.rst: use the new tabs/* files
* doc/_source/codedoc/gui/tabs: created
* doc/_source/codedoc/gui/tabs/ifu_viewer.rst: same
* doc/_source/codedoc/gui/tabs/ifu_widget.rst: renamed from
../ifu_widget.rst
* doc/_source/codedoc/gui/tabs/interface.rst: renambed from tabs_plugins
* doc/_source/codedoc/gui/tabs/tab_widget.rst: created
* doc/_source/conf.py: add inheritance diagram
* vdat/gui/fplane.py: remove all the fplane panel implementation
* vdat/gui/tabs/tab_widget.py: move here the fplane panel code
* vdat/gui/ifu_viewer.py: move to tabs/ifu_viewer.py
* vdat/gui/ifu_widget.py: move to tabs/ifu_widget.py
2016-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/index.rst: fix typo
* doc/_source/gui/main_panel.rst: update the documentation
* vdat/gui/tasks.py: PEP8 fix
* doc/_source/conf.py: fix intersphinx link
* ReleaseNotes.md: update
2016-09-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: remove yield_*_ifu methods and get rid of the
VDATRunControl object
* vdat/gui/treeview_model.py: don't use it
2016-09-30 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_fplane.py: test the FplaneWidget
* vdat/gui/fplane.py: fix some bug and adjust edge cases
2016-09-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: Implement the plugin system for the tabs
* vdat/gui/tabs/interface.py: adjust interfaces
* doc/_source/codedoc/gui/fplane.rst: add the FplaneWidget to the docs
* tox.ini: don't run the doc-qt if the qt* executables do not exist
2016-09-27 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* vdat/gui/tabs/interface.py: add the interface for the function
implementing the plugin
* doc/_source/gui/main_panel.rst: add a bit of documentation
2016-09-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/tabs/__init__.py: added
* vdat/gui/tabs/interface.py: added; implement the FplaneTabTemplate class
(issue #1601)
* doc/_source/codedoc/gui/tabs_plugins.rst: added
* doc/_source/codedoc/gui/index.rst: add tabs_plugins to the index
* doc/_source/gui/main_panel.rst: add the FplaneTabTemplate to the
documentation
2016-09-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: reimplement the FplaneCache as a pure cache without
much intelligence
* tests/test_gui/test_fplane.py: test it
* doc/_source/gui/main_panel.rst: begin documenting the plugin system
* doc/_source/codedoc/gui/fplane.rst: change the documentation to better
separate parts
2016-09-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: create here cache and call the reconstruction object
in the appropriate place; fix super calls
* vdat/gui/central.py: move the cache creation in the fplane module
* tests/test_gui/test_central.py
2016-08-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: don't pass a reconstruct object to the FplaneCache
object. Add property that returns it using the function create in r440
* vdat/gui/central.py: remove the reconstruction object creation and adapt
the code
* tests/test_gui/test_central.py: remove tests about the reconstruction
object
* ReleaseNotes.md: update
2016-08-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: add function that creates the QuickReconstruct object
only once and returns it
* tests/test_gui/test_gui_utils.py: test it
* tests/conftest.py: add fixture to deal with it
* tests/test_gui/conftest.py: move around some fixture
* tests/test_gui/test_central.py: same and adapt
2016-08-18 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/trunk into ^/branches/plug_tabs_1533
2016-08-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menubar.py: emit a signal instead of closing the VDAT (issue
#1568)
* vdat/gui/mainwindow.py: connect the above signal with the mainwindow close
slot; isolate connections with the menu bar into a method
* tests/test_gui/test_mainwindow.py: test closing via the above signal
* ReleaseNotes.md: update
2016-08-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/help_window.py: add support for mailto (issue #1579)
* tests/test_gui/test_help_window.py: test it
* setup.py: update dependencies to coverage>=4.2
* tox.ini: same, remove obsolete cov-init environment
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/splash_screen_1562 into ^/trunk
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/splash_screen_1562
* vdat/gui/static/VirusDataAnalysisTool*: updated and renamed
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: remove always on top flag, make surer that the
splashscreen is shown
* tests/test_gui/test_init.py: update the tests
2016-08-01 Francesco Montesano <montefra@mpe.mpg.de>
* AUTHORS: Majo added
* ReleaseNotes.md: updated
* doc/_source/_static/vdat_icon.ico: added
* doc/_source/_static/vdat_name.jpg: added
* doc/_source/_static/vdat_screenshot.png: updated
* doc/_source/command_interpreter.rst: fix typo
* doc/_source/conf.py: add the VDAT logo and name
* setup.py: fix ginga and pytest-qt to older version
* tox.ini: same
* tests/test_gui/test_init.py: added
* vdat/gui/__init__.py: work around splash screen not showing
2016-08-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: do all the splash screen things here
* vdat/gui/mainwindow.py: add window icon
* vdat/gui/static/HETDEX_*.jpg: new images and renamed to VDAT_*.jpg
* vdat/gui/static/vdat_icon.jpg: added and used as icon
* vdat/libvdat/vdat.py: just create and show the splash screen
2016-07-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: add splash screen functionality
* vdat/gui/static/HETDEX_black.jpg: added
* vdat/gui/static/HETDEX_white.jpg: same
* vdat/libvdat/vdat.py: show the splash screen
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/qt_help_1454/ into ^/trunk
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* vdat/gui/menubar.py: add about Qt button
* doc/_source/_static/menubar_help.png: update accordingly
* doc/_source/gui/menu_bar.rst: same
* tests/test_gui/test_menubar.py: same
* vdat/gui/static/VDATVirusDataAnalysisTool.*: add updated documentation
2016-08-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/mainwindow.py: remove the logging gui handlers when closing down
* vdat/database/core.py: fix connect context manager for in memory database
* tests/test_database.py: test it
* tests/test_gui/test_mainwindow.py: add and test the whole mainwindow
* tests/test_gui/test_help_window.py: make the monkeypatch of static method
work on py2
* tests/test_gui/test_queue.py: temporarily skip some of the offending tests
2016-08-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/help_window.py: don't run setup in the __init__ for better test.
Setup the data only after connecting the slot to setup the content widget
* vdat/gui/menubar.py: set help menu object name for easier testing
* vdat/gui/utils.py: don't cover run method
* tests/test_gui/test_gui_utils.py: add test for static directory and qthelp
file
* tests/test_gui/test_help_window.py: added
* tests/test_gui/test_menubar.py: add test for when no documentation is
found
2016-08-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/help_window.py: added to address issue #1454
* vdat/gui/mainwindow.py: add slot to open the help window
* vdat/gui/menubar.py: add menu item to open the help window
* vdat/gui/static/VDATVirusDataAnalysisTool.qch: add documentation
* vdat/gui/static/VDATVirusDataAnalysisTool.qhc: same
* vdat/gui/utils.py: add functions to get the documentation file
* doc/Makefile: make qthelp now also creates the qch and qhc files
* doc/_source/codedoc/gui/help_window.rst: added
* doc/_source/codedoc/gui/index.rst: add
* doc/_source/contributions.rst: add information about the qt documentation
* tox.ini: add you environment to create the qt documentation
2016-08-02 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/contributions.rst: update information (issue #1529)
2016-08-02 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/db_version_cleanup into ^/trunk
2016-07-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/ifu_widget.py: convert property to pyqtProperty (issue #1532)
* vdat/gui/menus_actions.py: same
* vdat/gui/treeview_model.py: same
* tests/test_libvdat/test_symlink.py: add more randomization to decrease the
possible file name clashes
2016-08-02 Francesco Montesano <montefra@mpe.mpg.de>
* pytest.ini: set qt_api=pyqt4
* setup.py: set pytest-qt>=0.2, skip broken version of ginga
* tests/test_database.py: fix test
* tests/test_gui/test_progress.py: same
* tox.ini: fix pytest-qt version and remove qt_api
2016-07-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/models.py: update VDATExposures according to issue #1530
* vdat/database/check.py: update the conversion function
* vdat/libvdat/symlink.py: update the creation of the exposures entries
* tests/conftest.py: update the current exps dictionary
* tests/test_database.py: adapt tests
* tests/test_gui/test_menus_actions.py: same
* tests/test_gui/test_tree_view.py: same
* tests/test_libvdat/test_symlink.py: same
* ReleaseNotes.md: update with info about the issue
2016-07-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/models.py: remove virtual and ifus fields as per issue #1339
* vdat/database/check.py: update the conversion function
* tests/conftest.py: update the current shot, move here db initialization
routines
* tests/test_database.py: adapt the tests
* tests/test_gui/test_central.py: same
* ReleaseNotes.md: update with info about the issue
2016-07-01 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/db_version_cleanup
2016-07-01 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* tests/test_database.py: make sure that metadata are moved
2016-07-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/check.py: when updating the meta data, remove superfluous
entries
* vdat/libvdat/symlink.py: improve error messages when inserting existing
meta data
* tests/test_database.py: test the changes
* tests/test_libvdat/test_symlink.py: same
* tests/conftest.py: shuffle fixtures around
2016-06-29 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/launching.rst: add some info about vdat_db command
* vdat/database/check.py: after updating the metadata try to add it to the
database
* tests/test_database.py: test it
* doc/_source/codedoc/utilities.rst: added
* doc/_source/codedoc/index.rst: added to the index
2016-06-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/check.py: add possibility to repair the database
* tests/test_database.py: test it
2016-06-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/check.py: make vdat_db check subcommand
* tests/test_database.py: test the changes
2016-06-20 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add enum34 for python < 3.4 and colorama; add vdat_db entry point
* vdat/database/check.py: added, implement db checks
* vdat/database/core.py: allow to create db in memory (and don't close it)
* vdat/utilities.py: function that reads the shot and exps files can also
return the dir containing the files
* tests/test_database.py: test the new check module
* tests/test_utilities.py: update tests
2016-06-17 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: move the function to scan for metadata files to
vdat/utilities.py and adapt
* vdat/utilities.py: update the above function implementation
* tests/test_libvdat/test_symlink.py: adapt the tests
* tests/test_utilities.py: same
2016-06-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/base.py: add database exception class
* vdat/database/models.py:
* vdat/database/__init__.py: make merge_entries more robust against type
mismatches
* tests/test_database.py: test the database subpackage
* tests/test_database: removed
2016-06-30 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/config_version into ^/trunk
2016-06-30 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/config_version
2016-06-30 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: fix typo
* vdat/config/entry_point.py: don't add common parser to the parent one
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/codedoc/database.rst: show class inheritance
* vdat/database/models.py: add version as a table column with a check
* vdat/database/__init__.py: explicitly import stuff at the package level
* vdat/database/core.py: remove __all__
* vdat/libvdat/symlink.py: add the table versions
* tests/test_gui/test_menubar.py: same
* tests/test_gui/test_menus_actions.py: same
* tests/test_gui/test_tree_view.py: same
* tests/test_libvdat/test_symlink.py: same
* tests/test_database: added for the future
* ReleaseNotes.md: updated
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update with info about issue #1501
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: disable the reconstruction checkbox and tab if the
reconstruction object does not exist
* vdat/gui/central.py: remove unnecessary method
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_central.py: finish testing the central module
* vdat/gui/mainwindow.py: fix documentation typo
2016-06-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: modify imports to allow monkeypatching for the tests;
* tests/test_gui/test_central.py: add first part of the central module tests
2016-06-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: don't fail if the quick reconstruction object
creation fails; add documentation
* vdat/config/entry_point.py: fix typo
* doc/_source/codedoc/gui/central.rst: added
* doc/_source/codedoc/gui/tasks.rst: added
* doc/_source/codedoc/gui/index.rst: add them to the index
2016-06-14 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md
* vdat/config/entry_point.py: add backup option to the vdat_config copy
command
* doc/_source/launching.rst: document it
* tests/test_config/test_entry_point.py: test it
2016-06-13 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/launching.rst: add the compare command to the doc
* vdat/config/entry_point.py: fix one of the info messages
2016-06-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/versions.py: add the remaining loaders
* tests/test_config/test_versions.py: test them
2016-06-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/versions.py: add some loader to check if files are reasonable
* vdat/config/entry_point.py: add ``-l/--load`` option
* tests/test_config/test_entry_point.py: test the above
* tests/test_config/test_versions.py: same
2016-06-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: some improvement on the messages
* tests/test_config/test_entry_point.py: update the tests
2016-06-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: add diff of files
* tests/test_config/test_entry_point.py: test it
2016-06-09 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add colorama for nice coloured output
* vdat/config/entry_point.py: add a compare subcommand and check if files
exist and have the correct version
* vdat/config/versions.py: add helper functions
* tests/test_config/test_entry_point.py: test it
* tests/test_config/test_versions.py: test it
2016-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/__init__.py: explicitly import attributes
* vdat/config/core.py: remove __all__
* vdat/config/versions.py: explicit file names to copy and file versions
* vdat/config/entry_point.py: rewrite the copy function to use the list of
names and to replace version numbers
* vdat/config/tasks.yml: add version
* vdat/config/vdat_commands.yml: add version
* vdat/config/vdat_setting.cfg: add version
* tests/test_config/test_entry_point.py: update the tests
* tests/test_config/test_versions.py: add
* doc/_source/codedoc/config.rst: add the versions module
2016-06-20 Daniel Farrow <dfarrow@mpe.mpg.de>
* doc/_source/command_interpreter.rst: improved the documentation (hopefully)
* vdat/gui/ifu_viewer.py: Fixed a small bug created by a previous rename
of the ihmp attribute in the IFU object to ifuslot.
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/log_sig_1492 into ^/trunk
2016-06-15 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/log_sig_1492
2016-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py: use the command_intepreter command_logger into the
QCommandInterpreter, connecting/disconnecting the default helper slot in
the ``run`` method
* tests/test_gui/test_queue.py: PEP8
* tests/test_libvdat/test_symlink.py: remove unused import
* ReleaseNotes.md: update release notes
2016-06-14 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/branches/clone_remove into ^/trunk
* ReleaseNotes.md: update
2016-06-14 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/clone_remove
* ReleaseNotes.md: update
2016-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: re-emit the sig_exposure_removed signal in the
ReductionQTreeView; return the menu created at right-click
* tests/test_gui/test_tree_view.py: properly test the menu and that the
signal is re-emitted
2016-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: add sig_exposure_removed signal to address
issue #1498
* tests/test_gui/test_menus_actions.py: test the emission
2016-06-08 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui/tree_view.rst: add Remove exposure description
* doc/_source/_static/tree_view_clone_remove.png: update screenshot
2016-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: clear the menu before adding new actions
* tests/test_gui/test_menus_actions.py: test the menus_actions module
* doc/_source/codedoc/gui/menus_actions.rst: added
* doc/_source/codedoc/gui/index.rst: add to the index
2016-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menus_actions.py: implement a dynamic menu to remove exposures
* vdat/gui/treeview_model.py: use it
2016-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: clone in a thread and wait for it to finish;
set the cursor to wait cursor when cloning or removing a directory
* tests/test_gui/test_tree_view.py: adapt to the changes and test that
cloning within or without the thread leads to the same result
2016-06-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: explicitly create actions to clone/remove and
connect them to slots
* tests/test_gui/test_tree_view.py: update the tests
* doc/_source/_static/tree_view_clone_remove.png: update image
2016-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: create signal to perform the command
logger
* vdat/command_interpreter/core.py: use it to communicate the
success/failure of the single sub-commands
* vdat/command_interpreter/helpers.py: add default implementation for a slot
for the above signal
* tests/test_ci/conftest.py: adapt the tests to the changes
* tests/test_ci/test_command_interpreter.py: same
* tests/test_ci/test_helpers.py: same
* tests/test_ci/test_signals.py: same
2016-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/changelog.rst: include changelog verbatim
* setup.cfg: move coverage configuration here
* .coveragerc: remove
2016-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump the version and the required pyhetdex version
* ReleaseNotes.md: update
2016-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_gui/test_progress.py: fix failing test
2016-06-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/fplane.txt: updated to the newest format and values
2016-06-02 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Updated to new fplane format
* vdat/gui/ifu_widget.py: Same
* vdat/gui/central.py: Same
2016-06-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/menubar.py: add possibility to specialize removal with the type
* vdat/config/vdat_setting.cfg: add documentation and example on how to do
this
* doc/_source/gui/menu_bar.rst: document it
* tests/test_gui/test_menubar.py: test it
2016-06-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: fix typo
* vdat/gui/utils.py: add function to remove files
* vdat/gui/menubar.py: sig_remove_files are emitted with the error and thumb
files
* vdat/gui/mainwindow.py: connect the new menu bar signal with a slot and
document the class
* tests/test_gui/test_gui_utils.py: test the removal
* tests/test_gui/test_menubar.py: adapt the tests
* doc/_source/codedoc/gui/fplane.rst: added
* doc/_source/codedoc/gui/ifu_widget.rst: added
* doc/_source/codedoc/gui/index.rst: added
* doc/_source/codedoc/gui/mainwidget.rst: added
* doc/_source/codedoc/gui/mainwindow.rst: added
* doc/_source/gui/menu_bar.rst: update the documentation
2016-06-03 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/install.rst: fix documentation warning
* tests/test_ci/test_ci_utils.py: renamed from test_utils.py to avoid pytest
error
* tests/test_gui/test_gui_utils.py: renamed from test_utils.py to avoid
pytest error
2016-06-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/utils.py: add a custom QThread that executes one function
* tests/test_gui/test_utils.py: test the utilities
* doc/_source/codedoc/gui/index.rst: add the utilities to the documentation
* doc/_source/codedoc/gui/utils.rst: same
2016-06-03 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/_static/menubar_file.png: added
* doc/_source/_static/menubar_help.png: added
* doc/_source/_static/menubar_select.png: added
* doc/_source/_static/menubar_view.png: added
* doc/_source/codedoc/gui/menubar.rst: added
* doc/_source/codedoc/gui/index.rst: add the above
* doc/_source/gui/menu_bar.rst: document behaviour with links
* doc/_source/install.rst: fix link
* setup.py: bump version
* tests/test_gui/test_menubar.py: test the menubar module
* vdat/config/vdat_setting.cfg: add option with name of the files to remove
* vdat/gui/menubar.py: add the delete file actions
* vdat/gui/utils.py: add the thumbnails directory name
2016-06-03 Danuel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/progress.py: Changed "Running" to "Finished" in the status bar,
to better reflect the actual state of the job.
Also changed the wording in some of the documentation:
* doc/_source/command_interpreter.rst
* doc/_source/dirstruct.rst
* doc/_source/gui/index.rst
* doc/_source/gui/main_panel.rst
* source/gui/menu_bar.rst
* doc/_source/gui/progress.rst
* doc/_source/gui/queue.rst
* doc/_source/gui/tree_view.rst
* doc/_source/install.rst
* doc/_source/launching.rst
2016-06-01 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.4.0
2016-06-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: add hints to use virus_config files
* vdat/config/tasks.yml: update the commands
2016-06-01 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/fplane.txt: updated with the latest values
2016-06-01 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/faq.rst: added
* doc/_source/index.rst: add it to the index
* vdat/libvdat/symlink.py: fix typos in error messages
2016-05-31 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* doc/_source/install.rst: solve #1452
* doc/_source/contributions.rst: update
2016-05-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: add creation of mastertwi or masterflat
from twilight frames; remove fake pixel flat
* vdat/config/tasks.yml: add the above commands
* vdat/libvdat/symlink.py: improve error message
* vdat/config/entry_point.py: add space when asking to the user
* tests/test_libvdat/test_loggers.py: adapt the tests to the removal of the
fake pixel flat
2016-05-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: add customisation of the types to use for
calibration
* vdat/config/vdat_setting.cfg: add/modify the configuration options to
support the changes above
* vdat/libvdat/vdat.py: add command line overrides for the above changes
* tests/test_libvdat/test_symlink.py: test combination of calibration types;
get rid of virus00001 fixture
* doc/_source/dirstruct.rst: document the changes
2016-05-30 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/launching.rst: update
* doc/_source/dirstruct.rst: update
* vdat/libvdat/vdat.py: update command line option name
2016-05-25 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/executables.rst: removed
* doc/_source/index.rst: adapted
* doc/_source/launching.rst: start improving the use information
2016-05-25 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Fix global cutlevel estimation fixing issue1482
* vdat/gui/ifu_widget.py: Fix bad levels in thumbnails
2016-05-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: don't emit the number of primaries if
it's zero
* vdat/gui/queue.py: properly emit finished when CommandInterpreter.run
returns
* tests/test_ci/test_command_interpreter.py: adapt test
2016-05-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: skip interpolation error when setting CUREBIN in the
environment
* tests/test_libvdat/test_vdat.py: add tests for this
2016-05-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/progress.py: renamed from vdat/gui/progress_bar.py; move
custom status bar here
* vdat/gui/mainwidget.py: adapt
* vdat/gui/mainwindow.py: adapt
* tests/test_gui/test_progress.py: renamed from test_progress_bar.py; adapt
to new name; add status bar tests
* doc/_source/_static/progress_done.png: added
* doc/_source/_static/progress_going.png: added
* doc/_source/codedoc/gui/progress.rst: added
* doc/_source/codedoc/gui/index.rst: adapt and cleaup
* doc/_source/gui/progress.rst: add progress and status bar info
* doc/_source/gui/progress_bar.rst: renamed progress.rst
* doc/_source/gui/index.rst: adapted
2016-05-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py: fix the documentation; make all slots public
* vdat/gui/treeview_model.py: fixed typos
* doc/_source/gui/queue.rst: user documentation added
* doc/_source/_static/queue_screenshot.png: add screenshot
* doc/_source/_static/queue_tooltip.png: same
* doc/_source/codedoc/gui/queue.rst: added
* doc/_source/codedoc/gui/index.rst: add queue to the index
* doc/_source/codedoc/gui/tree_view.rst: fix title
2016-05-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/progress_bar.py: remove command interpreter signals and mark
functions as slots
* vdat/gui/mainwidget.py: re-enable progress bar
* vdat/gui/mainwindow.py: connect the queue signals to the progress bars
and the status bar; the isolate the status bar in its own class
* tests/test_gui/test_progress_bar.py: rewrite the tests
2016-05-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: move CommandInterpreter._run into a
standalone function to avoid pickling the instance when running in
multiprocessor mode; get all the signals and attach them to attributes,
then use the attributes in the CommandInterpreter.run method
* tests/test_ci/test_command_interpreter.py: adapt the tests
* vdat/gui/queue.py: replace the VDATCommandWoker with a QCommandInterpreter
class, that create a QObject out of the command_interpreter and implement
the signals as pyqtSignals; adapt other parts of the code to those changes
* tests/test_gui/test_queue.py: adapt the tests
* vdat/gui/__init__.py: don't connect to CommandInterpreter signals
* vdat/gui/central.py: use QCommandInterpreter
* vdat/gui/mainwindow.py: add a function to connect the signals emitted by
the queue
* vdat/libvdat/vdat.py: don't connect to the CommandInterpreter signals
2016-05-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: move all the signal emissions to the
main process
* vdat/gui/queue.py: re-emit worker signals in the Queue class; mark old
worker and thread for deletion on the next command execution
* tests/test_gui/test_queue.py: adapt the tests
2016-05-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py: connect command interpreter signals with pyqt ones
* vdat/gui/__init__.py: cleanup imports
* vdat/command_interpreter/signals.py: fix documentation bugs
* tests/test_gui/test_queue.py: test the new signals
2016-05-17 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/relay.py: removed
* vdat/gui/mainwindow.py: set the queue here, so that it can be used when
creating the queue action; remove all relay.py references
* vdat/gui/__init__.py: remove the setting of the queue
* vdat/gui/queue.py: remove relay and use already existing signals
* tests/conftest.py: remove relays; normalize clear_* fixtures
* tests/test_ci/conftest.py: use clear_* fixtures
* tests/test_ci/test_signals.py: use clear_* fixtures
* tests/test_gui/test_progress_bar.py: use clear_* fixtures
* tests/test_gui/test_queue.py: finish testing the queue module
2016-05-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py: use a thread-worker approach
* tests/test_gui/test_queue.py: test 89% of the queue module
* doc/_source/codedoc/gui/index.rst: remove the background
2016-05-24 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: improve documentation and rename _pressed slot
to on_press
* doc/_source/codedoc/database.rst: added
* doc/_source/codedoc/gui/index.rst: modified
* doc/_source/codedoc/gui/tree_view.rst: added
* doc/_source/codedoc/index.rst: add database
* doc/_source/conf.py: add pyqt4 intersphinx (but it apparently doesn't
work)
* doc/_source/launching.rst: fix link
2016-05-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: add cal_dir and zero_dir to the tooltip
* tests/test_gui/test_tree_view.py: add it to the test
* doc/_source/_static/tree_view_tooltip.png: update the screenshot
* doc/_source/gui/tree_view.rst: finish the documentation
2016-05-21 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/_static/tree_view_clone_dialog.png: add screenshot
* doc/_source/_static/tree_view_clone_remove.png: add screenshot
* doc/_source/_static/tree_view_remove_dialog.png: add screenshot
* doc/_source/_static/tree_view_screenshot.png: add screenshot
* doc/_source/_static/tree_view_tooltip.png: add screenshot
* doc/_source/dirstruct.rst: added todo
* doc/_source/gui/index.rst: add information
* doc/_source/gui/menu_bar.rst: little change
* doc/_source/gui/tree_view.rst: begin improving the documentation
2016-05-19 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/_static/vdat_screenshot.png: added
* doc/_source/gui: all the gui related documentation moved here
* doc/_source/gui/index.rst: short description and link to more detailed
ones
* doc/_source/gui/ifu_viewer.rst: added
* doc/_source/gui/log_panel.rst: added
* doc/_source/gui/main_panel.rst: added, all info about the main panel moved
here
* doc/_source/gui/menu_bar.rst: added
* doc/_source/gui/progress_bar.rst: added
* doc/_source/gui/queue.rst: moved here
* doc/_source/gui/tree_view.rst: added, all info about the tree view moved
here
* doc/_source/index.rst: updated to point to gui/index
2016-05-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: show the right menu entry only when clicking
on a valid item; resolves #1465
* tests/test_gui/test_tree_view.py: test ReductionQTreeView.option_menu slot
2016-05-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: if no night found, return a model with only
the root directory
* tests/test_gui/test_tree_view.py: adapt tests and test the above case
2016-05-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: move the creation of the model and the
initialization of the view into the ReductionQTreeView class
* vdat/gui/mainwidget.py: use the ``ReductionQTreeView.set_model`` method to
redo the symlink
* tests/test_gui/test_tree_view.py: adapt the tests
2016-05-20 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/menubar.py: Added Quit menu, renamed symlink to file menu
2016-05-12 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: fix #1448
2016-05-11 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Reuse the updateTask, removing one of the
fast click crash bugs
2016-05-11 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed bug occuring when switching
fplanes fast
2016-05-11 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version
* vdat/gui/background.py: remove
* tests/conftest.py: adapt
* vdat/gui/__init__.py: same
* vdat/gui/queue.py: cleanup
* tests/test_gui/test_queue.py: added
2016-05-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: don't use background
* vdat/gui/background.py: start phasing this out
* vdat/gui/queue.py: add a run method and a first implementation of the
thread to run the command
2016-05-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/background.py: remove unused immediate thread
* vdat/gui/mainwindow.py: same
2016-05-11 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.4.0rc3
* vdat/libvdat/vdat.py: fix command line interface
* doc/_source/launching.rst: fix documentation of the above
2016-05-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/fplane.txt: update the fplane file with the 9 IFUs
* vdat/config/tasks.yml: update
* vdat/config/vdat_commands.yml: update
* vdat/gui/ifu_widget.py: add SPECID to the tooltip
2016-05-09 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/mainwidget.py: fix symlinking in gui
* vdat/gui/utils.py: add wait cursor context manager
2016-05-09 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Made updates more robust
* vdat/gui/ifu_viewer.py: Add warning if no images selected to
send to ds9
* vdat/gui/ifu_widget.py: Make updates more robust
2016-05-09 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Only update ifus during cleanup, if they
were initialized before
2016-05-06 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: update
* vdat/config/vdat_commands.yml: add arguments to subtract sky
* vdat/config/tasks.yml: same
* vdat/gui/__init__.py: read progress report to console
* vdat/gui/mainwidget.py: disable progress bar
2016-05-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: add virus instrument to the argument parser
2016-05-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: remove all astropy loggers
* vdat/libvdat/loggers.py: explicitly pass configuration objects
* vdat/libvdat/vdat.py: adapt
* tests/test_libvdat/test_loggers.py: moved into test_libvdat;
vdat.libvdat.loggers tested at 100%
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: disconnect the indicator printing progress to console
* vdat/gui/progress_bar.py: set value to zero when setting it up
* tests/test_gui/test_progress_bar.py: test the latter
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: make sure that x11 can deal with threads
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: add n_primaries signal to
documentation
* vdat/gui/progress_bar.py: implement the progress bar and connect to
command_interpreter signals
* vdat/gui/mainwidget.py: use the object in progress_bar.py module
* tests/test_ci/conftest.py: move clean_connected to test/conftest.py
* tests/test_gui: created
* tests/test_gui/test_progress_bar.py: added
* tests/test_gui/test_tree_view.py: moved into test_gui
* tests/test_ci/test_signals.py: make sure to clean the signals
2016-05-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: new n_primaries signal
* vdat/command_interpreter/helpers.py: helper function for that
* vdat/command_interpreter/core.py: emit the signal
* tests/test_ci/test_helpers.py: update tests
* tests/test_ci/test_signals.py: same
2016-05-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/extra_files/lines_000[LR].dat: removed
* vdat/config/extra_files/lines_[LR].par: copied from cure
* vdat/config/vdat_commands.yml: use combinearcs to create masterarcs; use
the new line files in deformer, fix option
* vdat/config/tasks.yml: adapt to the above changes; now I can run deformer
on most IFUs
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui.rst: update the configuration documentation
* vdat/config/tasks.yml: add all the remaining reduction steps
* vdat/config/vdat_setting.cfg: set the default pixel scale to 0.5, to speed
up the GUI startup
* vdat/gui/fplane.py: don't raise an error if there are no tabs for a task
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/mainwidget.py: cleanup old ways of communication
* vdat/gui/mainwindow.py: same
* vdat/gui/relay.py: remove unused signals
* vdat/gui/treeview_model.py: cleanup and mark method a pyqt slot
2016-05-02 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Change default viewer size for
reconstructed images
* vdat/gui/ifu_widget.py: Fix possible memory leak in creation of
binned images
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: remove unused imports
* vdat/gui/menubar.py: same
* vdat/gui/treeview_model.py: same
* vdat/gui/fplane.py: use itertools.product for nested loops
* vdat/gui/gui.py: removed
* vdat/gui/ifu_viewer.py: PEP8
* vdat/gui/ifu_widget.py: same
* vdat/gui/mainwidget.py: same
* vdat/gui/tasks.py: same
* doc/_source/codedoc/gui/index.rst: remove vdat.gui.gui
2016-05-02 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Show reconstructed images
* vdat/gui/central.py: Made pixelscale for reconstructed images configurable
* vdat/gui/ifu_widget.py: Show reconstructed images in ifu viewer
fixes issues 1407 and 1409
* vdat/config/vdat_setting.cfg: Added pixelscale for reconstructed images
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/conf.py: don't check pyhetdex version and use pyhetdex/latest
for intersphinx
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* README.md: update
* ReleaseNotes.md: add info about matplotlib removal
* doc/_source/conf.py: remove matplotlib
* doc/_source/install.rst: same
* tests/conftest.py: same
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: get rid of APlpy and matplotlib
* vdat/libvdat/vdat.py: same
2016-04-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: add multiprocessing
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: require pyhetdex 0.7.0
* tests/test_config/test_core.py: adapt tests to the new config files
* doc/_source/codedoc/gui/index.rst: fix typo
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui.rst: document dither tab type
* vdat/config/tasks.yml: add all reduction science steps up to dividing by
pixel flats
* vdat/gui/fplane.py: update dither type implementation
* vdat/gui/ifu_widget.py: fix bug #1405
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: add cal reduction steps
* vdat/gui/fplane.py: fix some bug with typ and fplane_single
* vdat/gui/tasks.py: remove debugging prints
* doc/_source/gui.rst: update documentation
2016-04-30 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.3.0
* ReleaseNotes.md: update
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: implement zro reduction steps
* vdat/config/vdat_commands.yml: update commands to the latest reduction
steps
* vdat/gui/central.py: fix indentation bug when submitting commands to
queue; improve string sent to the queue
* vdat/gui/fplane.py: improve FplaneWidget.change_fplane; add
documentation, fix bug with matching directory names
* vdat/gui/gui.py: make documentation happy
* vdat/gui/tasks.py: accept commands as string or as list
* vdat/gui/treeview_model.py: on selection changed pass the path of the
directory
* doc/_source/codedoc/gui/index.rst: move it from ../gui.rst, add
placeholder table
* doc/_source/codedoc/index.rst: adapt
* doc/_source/codedoc/reduction.rst: fix module name
* doc/_source/gui.rst: begin documentin tasks.yml file
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: remove debug print
* vdat/gui/fplane.py: same
* vdat/gui/ifu_widget.py: fix python3 bug
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: remove tabs.yml and buttons.yml
* vdat/config/core.py: update accordingly
* vdat/config/entry_point.py: same
* vdat/config/buttons.yml: remove
* tests/test_buttons.py: same
* vdat/config/tabs.yml: same
* vdat/gui/buttons_menu.py: same
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: add multiprocessing arguments
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: added
* vdat/config/vdat_setting.cfg: move max_delta_zro into the symlink section
and remove config_dirs
* vdat/config/core.py: add config_dirs section when loading the config file
* vdat/libvdat/symlink.py: adapt to the above; add warning when no shot file
is found in a night
* doc/_source/dirstruct.rst: document max_delta_zro
* tests/test_config/test_core.py: adapt tests
* tests/test_libvdat/test_symlink.py: add test for the above warning
2016-04-26 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/dirstruct.rst: update documentation
* doc/_source/launching.rst: same
* vdat/config/vdat_setting.cfg: rename virus_dir to virus_instrument
* tests/conftest.py: same
* tests/test_libvdat/test_symlink.py: same
* vdat/libvdat/symlink.py: update accordingly
* vdat/libvdat/vdat.py: improve description
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: modify symlinking to comply to #1358
* vdat/config/vdat_setting.cfg: add ``virus_dir`` entry to do the above
* tests/data/raw/20151025/virus: add the virus directory to the test data
* tests/conftest.py: adapt to the new directory structure
* tests/test_ci/test_types.py: same
* tests/test_libvdat/test_symlink.py: same
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: add support for multiple raw or night directories
* tests/test_libvdat/test_symlink.py: adapt the tests
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: adjust docstring
* tests/test_symlink.py: moved to tests/test_libvdat
* tests/test_libvdat/test_vdat.py: added
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_loggers.py: add some more tests
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: fix bug in the command loggers
* vdat/libvdat/loggers.py: clean up and fix few bugs
* tests/test_loggers.py: add testing for the above modules
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: push variables to environment in a function, improve
command line arguments
* vdat/config/vdat_setting.cfg: add is_rawdir_night option
* vdat/config/core.py: skip also empty lists when overriding configuration
* tests/test_config/test_core.py: test it
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: bugfix with ConfigParser file names; use mapping
interface to insert a value
* tests/test_config/test_core.py: test the vdat.config.core module
* tests/conftest.py: adapt to changes in the vdat.config.core module
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: some function moved around, override_conf added
* vdat/libvdat/vdat.py: first draft of the new command line interface
* tests/conftest.py: add fixture to clear the internal configuration
dictionary
* tests/test_config: created
* tests/test_config/test_core.py: added
* tests/test_config.py: moved and renamed tests/test_config/test_entry_point.py
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: I forgot to update the release notes
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: if a 100000 parameters in sql queries are allowed,
returns it, otherwise search for the number
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: remove SQLITE_MAX_COLUMN and add estimate of
SQLITE_MAX_VARIABLE_NUMER
* vdat/libvdat/symlink.py: use the latter when doing a bulk insert
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: estimate SQLITE_MAX_COLUMN
* vdat/libvdat/symlink.py: use the estimate when doing a bulk insert
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: remove all the multiprocessing stuff and improve
log messages
* vdat/libvdat/vdat.py: no multiprocessing things happening here
* tests/test_symlink.py: update tests to the changes
2016-04-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: make the types instance attribute
* vdat/command_interpreter/types.py: fix __getattr__ to play nicely with
pickling
2016-04-20 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_config.py: ignore .svn files
* tests/conftest.py: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_ci/conftest.py: move here some useful fixture
* tests/test_ci/test_signals.py: use the fixture
* tests/test_ci/test_command_interpreter.py: test the core module to 99%
* vdat/command_interpreter/core.py: if no file is collected return; improve
error from subprocess crashing
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: make multiprocessing work
* tests/test_ci/test_command_interpreter.py: add multiprocessing to the
tests
* setup.py: add pytest-xdist dependency for improved coverage
* tox.ini: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/conf.py: use sphinx.ext.todo instead of
pyhetdex.doc.sphinxext.tod
* setup.py: bump sphinx version
* tox.ini: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_symlink.py: make sure that no error is raised when running the
symlink of science frames
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_symlink.py: improve testing the symlink and solve issue #1335
* vdat/config/vdat_setting.cfg: improve regex to match also file names with
decimal seconds
2016-04-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump required pyhetdex version to 0.6.0
* vdat/command_interpreter/core.py: use DeferredResult when running jobs in
single processor mode
* tests/test_ci/test_command_interpreter.py: adapt the tests; test the
filter_section keyword in action; some other little fix
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: move the logging from _run to run
methods
* vdat/command_interpreter/exceptions.py: add CISubprocessError
* tests/test_ci/test_command_interpreter.py: adapt the tests
2016-04-14 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex version to 0.5
* vdat/command_interpreter/core.py: worker created and removed in
CommandInterpreter.run method
* vdat/libvdat/symlink.py: worker created and removed in do_symlink function
* vdat/libvdat/vdat.py: remove workers, as they are handled where they are
used
2016-04-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: get and report exceptions when running
the command
* ReleaseNotes.md: update
* setup.py: bump version to 0.2.4
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.2.3-post
* vdat/command_interpreter/types.py: fix bug that makes file collection
fails when using regex and directory names containing special characters
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: added; track history and help writing the report for the
next release
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_interpreter.rst: renamed, update documentation with
info about multiprocessing
* doc/_source/conf.py: use only pyhetdex latest for intersphinx
* doc/_source/dirstruct.rst: add info about multiprocessing
* doc/_source/executables.rst: expand a bit
* doc/_source/launching.rst: same
* doc/_source/index.rst: reorder some section
* vdat/command_interpreter/core.py: try to enable multiprocessing, fail
miserably
* vdat/gui/buttons_menu.py: pass multiprocessing keywords
* vdat/libvdat/vdat.py: close also command_interpreter worker
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat: rebased on ^/trunk
* setup.py: version 0.2.3-post
* tox.ini: force DISPLAY=:0
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: workaround bug with too many multiple insertions; #1345
* vdat/gui/gui.py: brute force implementation of re-symlink from gui #1333;
works, but needs review
2016-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: negative error codes exists and are
failures; fix the bug
2016-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: don't close the multiprocessing worker to allow
reusing it; set non existing rawdir to empty string; make public two
functions that might be used from further symlinking
* vdat/libvdat/vdat.py: wait and close the symlink worker
* tests/test_symlink.py: update the tests
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* merged: branches/multiple_objects@169
* setup.py: version set to 0.2.2
* vdat/command_interpreter/core.py: log also the target dir then starting a
task
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: properly symlink science frames with empty OBJECT
fields and add counter to repeated OBJECT from different shots
* tests/test_symlink.py: change test function name. The above changes has
been tested only by hand
* doc/_source/dirstruct.rst: add info about this
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version
* vdat/gui/treeview_model.py: add tool tip
* tests/test_tree_view.py: test it
* doc/_source/gui.rst: add some info about tooltip and right-click commands
available on the tree view
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: advance version
* vdat/libvdat/symlink.py: fix multiprocessing while symlinking, now it
works
* vdat/libvdat/vdat.py: little changes because of the above
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/dirstruct.rst: improve
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: add references to zero and cal directories to
every type
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: add version to command line
* vdat/libvdat/vdat.py: same
* vdat/gui/gui.py: add version to "About VDAT" menu; add links to
documentation
* vdat/gui/menu.py: pep8
2016-04-06 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: version 0.2.1-pre
* vdat/command_interpreter/types.py: extend the header type to allow
formatting the values
* tests/test_ci/test_types.py: test it
* doc/_source/command_intepreter.rst: document it
2016-04-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: write info log when a command start
running
* vdat/command_interpreter/types.py: add ``returns`` option to plain primary
type
* tests/test_ci/test_types.py: test it
* doc/_source/command_intepreter.rst: document it
2016-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: create a general section and use it in
every command; fix biassubtract fits matching to skip thumbnail fits
2016-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: different shots with multiple lamps are now
collected in the same cal directory
* vdat/config/vdat_setting.cfg: add config tell the symlinking which header
keyword has the name of the lamps
2016-04-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: improve error message when regex match
does not work; fix bug with header type and multi-word header keyword
parsing
* tests/test_ci/test_types.py: test this
2016-04-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: fix couple of bugs and remove copied files if
cloning fails
* tests/test_tree_view.py: test 97% of the treeview_model.py (I don't think
I can do more)
2016-03-31 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_tree_view.py: test checkboxes also from the tree view
perspective
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* rebase branches/symlink on top of trunk
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* merge branches/cmd_interpreter_update into trunk
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* rebase branches/cmd_interpreter_update on to of trunk
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: connect the global logger to the VDAT main logger
* vdat/command_interpreter/core.py: fix typo
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: Create a global logger signal
* vdat/command_interpreter/helpers.py: move the old default implementation
here
* vdat/command_interpreter/core.py: use the new global logger
* tests/test_ci/test_signals.py: test the global logger
* tests/test_ci/test_helpers.py: same
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: update documentation
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: connect some signal in order to have some execution
feedback
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: select directory also by enter key
* tests/test_tree_view.py: test it (it's a workaround for the fact that
there is a bug about testing clicks on tree view)
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: remove ``row`` from ReductionNode, as it's not
used
* tests/test_tree_view.py: same
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: use pytest-catchlog instead of pytest-capturelog
* tox.ini: same
* tests/test_command_interpreter.py: adapt to the change
* tests/test_tree_view.py: same
* tests/test_symlink.py: same; do the symlinking in the test function, not
setup
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: bugfix
* tests/test_tree_view.py: mark old tests as integration, unit-test 46% of the code
2016-03-17 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/models.py: add ``path`` attribute to the VDATExposures table
* vdat/libvdat/symlink.py: modify accordingly
* vdat/gui/treeview_model.py: correctly propagate VDATExposures information
when cloning and removing directories; fixed bad bug in check/uncheck
* tests/test_tree_view.py: rewrite tests for the tree view, 40% done
2016-03-16 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Renamed Raw to Exp in Tab descriptions
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: add CICommandDone signal
* vdat/command_interpreter/core.py: use it
* vdat/command_interpreter/helpers.py: add a receiver that prints out stuff
* tests/test_ci/test_signals.py: test the new signal
* tests/test_ci/test_helpers.py: test the new helper
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* merged with ^/trunk
* tests/test_ci/test_types.py: update number of files
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add @path@ to the @new_file@ type
* tests/test_ci/test_types.py: add the tests
* doc/_source/command_intepreter.rst: document it
2016-03-16 Jan Snigula <snigula@mpe.mpg.de>
* vdat/libvdat/vdat.py: Moved first import of gui till after the
XPA_METHOD was set based on config
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* merged ^/trunk
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: remove [args] section
* vdat/database/models.py: remove ThumbnailScaling table
* vdat/database/core.py: adapt
* vdat/libvdat/callback.py: removed, as is unused
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/show_fits.py: same
* doc/_source/codedoc/reduction.rst: remove callback
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: save the exposure database on files to be able to
rebuild the database from already symlinked directories
* vdat/utilities.py: add utility function for the exposure database dump
* vdat/database/base.py: use public functions to get the data from the
model; provides 3 properties to get some of the data
* vdat/database/models.py: override the data_clean property to skip the
foreign fields
* tests/test_symlink.py: adjust the tests to the changes, test the new parts
* tests/test_tree_view.py: little adjustment
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: update the new type names
* vdat/libvdat/symlink.py: adapt the vdatexposures names
* vdat/gui/buttons_menu.py: show the empty widget if no button is defined
for the type
* vdat/gui/treeview_model.py: get the type names from the database
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: adjust log messages about the type of the
symlinked shot
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: proper cleanup when the symlinking fails, small
adjustments.
* tests/conftest.py: add virus*** related fixtures
* tests/test_symlink.py: test to 100% the symlinking
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: export the database to the package level
* vdat/libvdat/symlink.py: make the insertion in the database and the
symlinking more robust to failures
* vdat/utilities.py: add new error
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/trunk
* tests/test_symlink.py: adapt the tests
2016-03-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: fix bug in @_find_nearest@, remove optional
argument from @symlink@ function
* pytest.ini: add marker for integration tests
* tests/conftest.py: add night and virus00001 fixtures
* tests/test_symlink.py: add some unit tests
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: allow unknown/nonstandard object type linking
* vdat/config/vdat_setting.cfg: add little explanation about it
* doc/_source/dirstruct.rst: document it
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex requirement to 0.4
* vdat/libvdat/symlink.py: get most of the information for the symlinking
from the file names
* vdat/config/vdat_setting.cfg: put together most of the options needed for
symlinking
* vdat/utilities.py: homogenize exceptions used by symlinking
* doc/_source/dirstruct.rst: update documentation
2016-03-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: first part of the new_file type
implementation
* tests/test_ci/test_types.py: test the new_file type
* vdat/command_interpreter/core.py: adapt to the above
* tests/test_ci/test_command_interpreter.py: same
* doc/_source/command_intepreter.rst: adjust documentation
* vdat/config/vdat_commands.yml: deformer 4 is no more
2016-02-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/__init__.py: import get_signal and
get_signal_names at the module level
* vdat/command_interpreter/types.py: fix documentation
* vdat/command_interpreter/utils.py: fix documentation
* tests/test_ci/test_utils.py: add test of id_
* doc/_source/codedoc/command_interpreter/types.rst: fix documentation
2016-02-29 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: set xpa_method to local to avoid test hanging
* vdat/command_interpreter/helpers.py: remove __all__
* vdat/command_interpreter/signals.py: same
* vdat/command_interpreter/types.py: import numpy
* doc/_source/codedoc/command_interpreter/index.rst: split the command
interpreter documentation
* doc/_source/codedoc/command_interpreter/*.rst: same
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/relay.py: renambed signals
* vdat/command_interpreter/signals.py: rewritten to have an behaviour
similar to qt signals; CILogger not reimplemented; some signal missing
* vdat/command_interpreter/__init__.py: remove the import of the relay
* vdat/command_interpreter/core.py: update according to the above changes
* vdat/command_interpreter/helpers.py: provide some function that can be
plugged in
* tests/test_ci/test_helpers.py: added
* tests/test_ci/test_signals.py: added
* doc/_source/command_intepreter.rst: relays -> signals
* doc/_source/codedoc/command_interpreter.rst: moved to
command_interpreter/index.rst
* doc/_source/codedoc/index.rst: index in the codedoc to allow reshaping of
the documentation
* doc/_source/index.rst: same
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add a method that returns a range to
SliceLike
* vdat/command_interpreter/types.py: use SliceLike in primary_loop; remove
_to_number function
* tests/test_ci/test_utils.py: test the range method
* tests/test_config.py: fixture to fix seed of random for repeatability of
tests
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: adapt types to use the new
keyword_regex and do_split = False
* tests/test_ci/test_types.py: add tests for all the secondary keywords
* doc/_source/command_intepreter.rst: fix the documentation
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add string and format customization to
SliceLike
* tests/test_ci/test_utils.py: test it
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* merge trunk
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: improve the keyword_regex functionality
* vdat/command_interpreter/utils.py: homogenize doc
* vdat/command_interpreter/core.py: move back types to class properties to be
able to run in parallel (this needs investigation)
* vdat/command_interpreter/exceptions.py: fix typo
* tests/test_ci/test_types.py: test the keyword_regex functionality
* doc/_source/command_intepreter.rst: document the new keyword_regex
2016-02-18 Francesco Montesano <montefra@mpe.mpg.de>
* tests/conftest.py: move some fixture to session scope
* vdat/command_interpreter/core.py: move the types initialisation into the
__init__
2016-02-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add SliceLike and copy some utils from
types.py
* vdat/command_interpreter/exceptions.py: import the future and add
CISliceError
* setup.cfg: add doctest
* tests/test_ci/test_utils.py: added
* tests/test_ci/test_command_interpreter.py: moved
* tests/test_ci/test_types.py: added and partially implemented
* doc/_source/codedoc/command_interpreter.rst: add types and utils
documentation
2016-02-19 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore dist
* setup.py: fix some packages minimum version, fix version number
* tox.ini: fix some packages minimum version
* vdat/command_interpreter/types.py: use Yields in documentation
* vdat/gui/fplane.py: same
* vdat/config/entry_point.py: vdat_config without subcommand behave the same
in py2 and py3
* vdat/gui/buttons_menu.py: add fplane_widget property
* vdat/gui/gui.py: mark two methods for possible delection
* tests/test_buttons.py: monkeypatch CommandButton.fplane_widget to test
without selected IFUs
* tests/test_config.py: fix test of empty vdat_config call
* tests/test_tree_view.py: adapt to the new gui structure
* doc/_source/conf.py: cleanup, PEP8 and try to guess the pyhetdex version
to for intersphinx
* doc/_source/install.rst: change link anchor name
2016-02-17 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: add relevant files to package
* pytest.ini: move pytest specif configurations here
* requirements.txt: removed
* setup.cfg: alias pytest=test command, remove pytest specific options
* setup.py: use pytest-runner, remove tox from setup
* tox.ini: remove all spurious dependences that are now reachable with pip,
add extra pypi url
* vdat/__init__.py: get version from the package configuration
* doc/_source/_templates/version.html: add version
* doc/_source/conf.py: add the above version in the side bar
* doc/_source/index.rst: add version number
* doc/_source/install.rst: update installation info
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: check if the target directory exists, even if
the path is not "."
* tests/test_config.py: add a couple of tests for the new features
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/issue1178
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: temporary disable tox_requires to avoid installation issues
* vdat/config/entry_point.py: fix #1178, improve output info and argument
parser
2016-01-27 Jan Snigula <snigula@mpe.mpg.de>
* tests/test_buttons.py: Adapt do changes made to setup_buttons
2016-01-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/gui.py: isolate the FplaneWidget and buttons; isolate the menu;
add ability to resize widgets; move logger widget into logger_widget.py
module
* vdat/libvdat/handlers.py: moved to vdat/gui/logger_widget.py
* vdat/gui/logger_widget.py: add logger widget
* vdat/gui/treeview_model.py: same
* vdat/gui/buttons_menu.py: remove size constraints
* vdat/gui/background.py: typo fixed
2016-01-19 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed missing X for missing IFUs
* vdat/gui/gui.py: Pass fplane widget along
* vdat/gui/buttons_menu.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Pass basename through
* vdat/gui/ifu_widget.py: Same
* vdat/gui/fplane.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed double click
* vdat/gui/fplane.py: New thumbnails work now, zscaling mostly as
well
2016-01-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add qimage2ndarray dependence
* vdat/libvdat/symlink.py: use directory name into vdat exposure table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/treeview_model.py: Changed a signal
* vdat/gui/menu.py: Moved code to gui
* vdat/database/core.py: Added new database table
* vdat/config/tabs.yml: Updated regexes
* vdat/gui/fplane.py: Restructured
* vdat/gui/ifu_widget.py: Moved to direct fits file loading
* vdat/database/models.py: Added new database table
* vdat/gui/gui.py: Restructured
* vdat/gui/buttons_menu.py: Changed yield behaviour
* vdat/libvdat/symlink.py: Added new database table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/__init__.py: Bumped version to 0.1.0
2015-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: load it also if pyds9 fails to import; add
notification about the import failure; add error box if
pyds9 fails to connect to a ds9 session
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added starextract
* vdat/config/buttons.yml: same
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add is_regex key to primary keywords;
when getting file names match add the full path to the regex/wildcard
* doc/_source/command_intepreter.rst: document is_regex
* vdat/config/vdat_commands.yml: add detection step; fix file names and
regex in various commands; streamline some keyword values
* vdat/config/extra_files/IFUcen_HETDEX.txt: added
* vdat/config/buttons.yml: add
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .coverage files, but no .coveragerc
* .coveragerc: added
* doc/_source/contributions.rst: add more info about tox
* doc/_source/index.rst: add link to coverage report
* requirements.txt: remove numpy
* scripts/remove_empty_coverage.sh: added
* scripts/symlink_pyqt.sh: call the python script with the full path to
``scripts`` directory
* setup.cfg: remove coverage configurations
* tests/test_buttons.py: fix test bug when ``commands`` is a string
* tox.ini: build the documentation and coverage report
2015-11-24 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: aesthetic change
* vdat/command_interpreter/core.py: raise an CIRunError when the return
value is not null
* vdat/command_interpreter/types.py: add possibility to manipulate the
return value of the ``loop`` primary key
* doc/_source/command_intepreter.rst: document it
* vdat/command_interpreter/utils.py: added
* vdat/config/buttons.yml: add the button to create the dither file
* vdat/config/extra_files/dither_positions.txt: added
* vdat/config/vdat_commands.yml: add the instruction to create the dither
files
* vdat/gui/buttons_menu.py: fix documentation typo
2015-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: change master* names to values compatible
with cure's DitherEnvironment, add symlink command to create better file
names for the science frames
* vdat/config/buttons.yml: add command for the symlinking
use ``vdat_config copy`` to update the configuration files
2015-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: set xpa_method in the environment to local by
default
* vdat/config/vdat_setting.cfg: add option to modify the xpa_method and
kdescription
2015-10-23 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new tabs to display the products
of the new reduction buttons
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: more info about the selected IFU given
* tests/data/raw/20120301: replaced with new simulations
* tests/test_command_interpreter.py: adapt to it
* tests/test_symlink.py: same
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: pass the selected ifus to the command
interpreter
* vdat/gui/fplane.py: PEP8
* vdat/config/vdat_commands.yml: add the ``filter_selected`` keyword;
improve match only fits filename starting with number
* tests/test_buttons.py: test ifu selection
2015-10-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: put commands on the queue
* vdat/gui/queue.py: adapt the queue to accept and return CommandInterpreter
instances; create set/get_queue functions
* vdat/gui/background.py: set/get_background functions; adapt the
background object to the above; fix bugs
* vdat/gui/__init__.py: adapt to the above, remove callback
* vdat/gui/relay.py: log also exception
* vdat/gui/gui.py: fix some docstring
* vdat/command_interpreter/core.py: fix a bug with template and exe
substitution
* vdat/command_interpreter/types.py: match the file name at the end of a
string
* vdat/libvdat/loggers.py: setup the loggers for the commands
* vdat/libvdat/vdat.py: use it
* vdat/config/core.py: better error handling when getting configurations
* vdat/config/extra_files/*: added
* vdat/config/entry_point.py: copy also the extra files
* vdat/config/vdat_commands.yml: fix bugs and adjust paths
* vdat/config/vdat_setting.cfg: fix the command logger configuration entries
* tests/conftest.py: force copying the configuration to avoid troubles
* tests/test_buttons.py: finish the testing of the buttons
* tests/test_command_interpreter.py: test alias replacing
* tests/test_config.py: adapt the tests to the changes due to extra
configuration files in subdirectories
2015-10-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: move button to custom class, create
CommandInterpreter instances when pushing the buttons and report problems
with a dialog
* vdat/gui/treeview_model.py: pep8
* vdat/command_interpreter/exceptions.py: fix bug with CIExeError
* vdat/config/vdat_commands.yml: masterarc needs an alias
* vdat/config/vdat_setting.cfg: add comments about redux_dirs
* vdat/database/models.py: PEP8
* vdat/libvdat/vdat.py: inject CUREBIN into the path
* tests/test_buttons.py: add a test clicking the buttons
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: rewrite the creation of the buttons
* vdat/gui/gui.py: use the new button menu
* vdat/gui/treeview_model.py: connect the button menu to switch set of
buttons when changing directory; use a signal to change the central and
button panels
* vdat/config/buttons.yml: configuration file driving the button creation
* vdat/config/vdat_setting.cfg: add it
* vdat/config/core.py: add it to the files to load
* vdat/config/entry_point.py: add it to the files to copy
* vdat/config/vdat_commands.yml: little formatting
* tests/test_buttons.py: test the button widget; for now test that is
correctly created and that the switching happens correctly
* tests/test_command_interpreter.py: make sure to get a file for the ifu 34
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added
* vdat/config/vdat_setting.cfg: add the above file
* vdat/config/core.py: load vdat_commands.yml
* vdat/config/entry_point.py: copy it; don't overwrite existing files by
default
* tests/test_config.py: test the vdat_config command
2015-10-14 Francesco Montesano <montefra@mpe.mpg.de>
Tests run for python 2.7, 3.4 and 3.5
* tests/test_command_interpreter.py: test also part of the run method. Still
to test if exceptions are handled correctly
* vdat/command_interpreter/core.py: fix bugs and improve error handling and
logging
* vdat/command_interpreter/relay.py: fix bugs with progress relay
* vdat/command_interpreter/types.py: fix bugs and don't cover template
functions
* MANIFEST.in: add readme and requirement file to avoid tox building
failures
* requirements.txt: add numpy to avoid scipy building failures
* setup.py: add new_file entry point
2015-10-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Aligned the scale combobox left to make it prettier
* vdat/libvdat/show_fits.py: replaced another call to astropy getdata with
a ``with open(fn, 'rb')`` to avoid the astropy bug
* vdat/gui/ifu_viewer.py: "Send to ds9" menu now generated dynamically when the
"ds9" menu is clicked. Only files from the currently
selected tab are sent to "ds9" when the menu item
is selected.
2015-10-13 Daniel Farrow <dfarrow@mpe.mpg.de>
* requirements.txt: added pyds9 repo
* setup.py: added pyds9 repo
* vdat/gui/ifu_viewer.py: wrapped get_header in with open(f) to avoid the
astropy bug of not closing files.
2015-10-13 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: group together entripoints
* vdat/command_interpreter/core.py: some bug fix, use execute types, some
changes with the exception handling
* vdat/command_interpreter/exceptions.py: rename some exception
* vdat/command_interpreter/types.py: add execute type and implement all the
necessary types
* tests/test_command_interpreter.py: test most of the command interpreter
initialisation
* doc/_source/command_intepreter.rst: extend documentation
* vdat/config/ci_documentation.yml: removed
2015-10-12 Daniel Farrow <dfarrow@mpe.mpg.de>:
* vdat/gui/fplane.py: moved update IFUs from init to
change_focal_plane, to avoid the
thumbnail generator looking for an
uninitialized fplane
* vdat/gui/ifu_viewer.py: Added option to select frames
and send them to a new or existing
ds9 session
* setup.py: Added pyds9 to install requires
2015-10-09 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/database/core.py: added a table to store image brightness scaling parameters
* vdat/database/models.py: as above
* vdat/gui/fplane.py: Added a section to control the brightness scaling of the thumbnails in the
focal plane. User can select scaling per fits file, or a global
scaling (which can be user specified) for the whole focal plane.
The Fplane class in now its own QWidget.
* vdat/gui/gui.py: Added comments
* vdat/gui/ifu_viewer.py: Suppresses warnings from Ginga ;-)
* vdat/gui/ifu_widget.py: IFU viewers are parented to the main window, so
they can persist when the user changes fplane
* vdat/libvdat/show_fits.py: Casts the number of rows to an integer explicitly. Connects
to a database to find, or set, global brightness
scaling parameters when required for the thumbnails. Uses a
file object with astropy getdata in order to avoid an
astropy bug.
2015-10-09 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_command_interpreter.py: first tests added
* vdat/command_interpreter/core.py: better exceptions
* vdat/command_interpreter/exceptions.py: same
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bootstrap setuptools if it's not installed
* ez_setup.py: bootstrap module
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: separate the loading from the getting of the
configurations: allow more homogeneous handling of the configuration files
* vdat/config/vdat_setting.cfg: comment a bit more
* vdat/config/entry_point.py: move here the implementation of the
``vdat_config`` executable; use pkg_resources to get copy the
configuration files
* setup.py: update the entry point
* vdat/gui/fplane.py: use the new configuration interface; PEP8
* vdat/gui/gui.py: same
* vdat/gui/ifu_viewer.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/queue.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* tests/conftest.py: same
* doc/Makefile(livehtm): add vdat/config to the tracked directories
* doc/_source/codedoc/config.rst: add code documentation
* doc/_source/index.rst: same
2015-10-07 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new configuration for the upgraded thumbnail
creation (see below)
* vdat/gui/background.py: Immediate background thread waits for last job to stop
before running the next job. Toggle system
for the isImmRunning flag removed as it depended
on the main thread being available. Now the
immediate background thread controls the isImmRunning
flag is controlled by the Worker in the thread.
* vdat/gui/fplane.py: Waits for jobs on immediate thread to stop, stops
QObjects still in use from being deleted.
* vdat/gui/gui.py: Handles the uses clicking the close button, now waits
for running jobs on the immediate thread to end. This
stops seg faults from a sudden close.
* vdat/gui/ifu_widget.py: Fixes a bug by removing the auto-regeneration
of corrupted thumbnails. Simply dumps them instead.
* vdat/libvdat/show_fits.py: Based on options in tabs.yml, create a grid of
thumbnails for the IFU widget with entries
for the different channels, amps.
2015-10-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/core.py: Added load_yaml
* vdat/config/tabs.yml: Moved tabs subsections to be direcly under
the different node types (on the same level as
the ifu_viewer and main subsections).
* vdat/gui/fplane.py: Added tools to save and generate focal
plane panels. What is displayed as a thumbnail
is decided by the user via a combo box (i.e. the raw fits, fibre-collapsed
images, arcs, flats etc.). Defaults are set in the tabs.yml
* vdat/gui/gui.py: Central panel now generated dynamically
rather than at initialization.
* vdat/gui/ifu_viewer.py: Moved load_yaml to vdat.config
* vdat/gui/relay.py: Added 'change_centralPanel' signal.
* vdat/gui/treeview_model.py: Rather than prompting an update of the IFUs,
selecting a node causes a whole new
central panel to be created
* vdat/libvdat/show_fits.py: Now show_thumbnails takes a config object
with a regex specifying the file type to
display
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add yaml
* vdat/libvdat/loggers.py: reorganize the loggers code to remove repetitions
* vdat/config/vdat_setting.cfg: adapt the configuration to this
* vdat/libvdat/vdat.py: create appropriate ginga logger
* vdat/gui/ifu_viewer.py: PEP8 frenzy; use ginga logger
* doc/_source/codedoc/reduction.rst: add logging documentation
* doc/_source/gui.rst: fix warning
* doc/_source/index.rst: add todo about logging
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter: added
* vdat/command_interpreter/__init__.py: import interface at module level
* vdat/command_interpreter/core.py: implement the interpreter
* vdat/command_interpreter/exceptions.py: define custom exceptions
* vdat/command_interpreter/helpers.py: will contain some helper function
* vdat/command_interpreter/relay.py: relay-like interface for communication
between the interpreter and the world
* vdat/command_interpreter/types.py: define classes to deal with types
* vdat/config/ci_documentation.yml: very wordy yaml file to use for
documentation purposes
* doc/Makefile: add command_interpreter for auto-compilation
* doc/_source/codedoc/command_interpreter.rst: added
* doc/_source/command_interpreter.rst: added
* doc/_source/index.rst: add the above documents
* doc/_source/codedoc/reduction.rst: remove reduction module
* vdat/libvdat/callback.py: get logger in method
2015-09-30 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: configuration file that decides what is
displayed in different panels
* vdat/config/vdat_setting.cfg: Add tabs.yml to config file
* vdat/gui/background.py: Worker now passes **kwargs and *args
* vdat/gui/ifu_viewer.py: Read in tabs.yml, creates tabs in the
viewer based on it.
* vdat/gui/ifu_widget.py: When doduble clicked and no
directory selected, ask the user to select
one
* vdat/gui/treeview_model.py: Passes the type of directory selected
to show_fits
* vdat/libvdat/loggers.py: Added a generic logger class to store
Ginga loggers
* vdat/libvdat/reduction.py: ifuid -> ihmpid when deriving filenames
* vdat/libvdat/show_fits.py: Saves the type of directory selected in the IFU object
this might not be ideal
* doc/_source/gui.rst: Added some GUI documentation
* vdat/config/core.py: Added tabs.yml to CONFIG_FILES
2015-09-23 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore build and .eggs directories
* setup.cfg: same
* setup.py: create setuptools command @tox@ to fetch tox, if necessary, and
run tox
* scripts/symlink_pyqt.sh: don't print error if pyqt4 is not symlinked
* doc/_source/contributions.rst: added; describe testing via tox and py.test
* doc/_source/index.rst: add the above
* doc/_source/install.rst: update dependency list
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: make the gui tests succeed on tox too
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: added
* setup.cfg: ignore .tox when discovering tests
* svn:ignore: add .tox directory
* MANIFEST.in: fix config directory name change
* scripts/symlink_pyqt.{sh,py}: symlink pyqt4 and sip into the tox virtual
enviroments
* vdat/libvdat/symlink.py: do not try to commit if the redux directory is
empty
* tests/conftest.py: initialise the main logger
2015-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .cache directory
* setup.py: minimum pytest-qt version; fix console_scripts module name
* tests/conftest.py: no need to get for fixtures to get the configuration
and to start the database
* tests/test_symlink.py: clean the loggers
* tests/test_tree_view.py: no need to start database;
* vdat/config/vdat_setting.cfg: disable multiprocessing by default; use only
one max delta time for calibration
* vdat/database/base.py: property to get data as dictionary
* vdat/database/core.py: init get directory where the database should go;
fix bug with @connect@
* vdat/database/models.py: new table columns, method to create the path and
merge multiple rows into one
* vdat/libvdat/symlink.py: initialize, fill and update the database when doing the
symlinking
* vdat/gui/treeview_model.py: build the view from the database
* vdat/libvdat/vdat.py: don't initialize the database
* vdat/utilities.py: merge dictionaries function added; modify some errors
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* *py: use the __future__
* vdat/database/__init__.py: split into sub modules and import only the
"public" interface
* vdat/database/base.py: define the database and the base model
* vdat/database/core.py: initialise the database and deal with the
connection
* vdat/database/models.py: custom models are implemented here
* vdat/database/old_database.py: removed
* vdat/gui/treeview_model.py: use floor with datetime.timedelta
* vdat/libvdat/symlink.py: same
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config: renamed from vdat/vdat_config
* vdat/config/__init__.py: import only "public" interface
* vdat/config/core.py: renamed from vdat/libvdat/config.py and adapted
* setup.py: add ginga, adapt ``vdat_config`` entry point to new
directories
* vdat/gui/fplane.py: use new config subpackage
* vdat/gui/ifu_widget.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* vdat/gui/relay.py: instantiate ``SignalClass`` inside a function and save
in a local list to allow for testing
* vdat/gui/__init__.py: use the new implementation
* vdat/gui/ifu_viewer.py: same (plus PEP8)
* vdat/gui/gui.py: same and config subpackage
* vdat/gui/queue.py: same
* vdat/libvdat/fits.py: same
* vdat/utilities.py (config_directory): moved to vdat/config/core.py
* tests/conftest.py: adapt to the above changes, use pyqt4 v2 api, add
fixtures to start the database and to clear lists and dictionaries at the
end of a test to allow reuse
* tests/test_tree_view.py: use new fixtures
2015-09-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: dialog confirming deletion; fix bug with
indexing
2015-09-11 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: corrected
* doc/_source: created; conf.py, the _template and _static directories and
all the rst files has been moved into this directory
* doc/Makefile: adapted to the changes
* doc/_source/*: small improvements
* setup.py: add vdat_config entry point
* vdat/libvdat/config.py: implement ``vdat_config copy`` command
* vdat/utilities.py: returns the configuration directory
* vdat/libvdat/callback.py: make the documentation happy
2015-09-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: add extra fields in preparation for issues #1048
#1049 and #1053
* vdat/gui/treeview_model.py: add context menu and handle clone and remove
actions as per #1048, adapt the building of the tree view to account for
this
* vdat/libvdat/symlink.py: add ``is_clone`` entry to the shot_file and
ignore cloned directories when re-symlinking
* vdat/utilities.py(write_to_shot_file): possible to chose between write
and append mode when writing
* vdat/gui/background.py(Background): rename ``cls`` to ``self`` for
consistency
2015-09-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add peewee dependency
* vdat/libvdat/database.py: moved to vdat/database/__init__.py
* vdat/database/__init__.py: implement the database table associated
with the entries in the tree view
* vdat/database/old_database.py: keep it for reference, it will be
eventually removed
* vdat/gui/treeview_model.py: populate the database
* vdat/utilities.py: move here from libvdat/symlink.py the functions to
read and write the shot files
* vdat/libvdat/symlink.py: modify accordingly
* vdat/libvdat/vdat.py: initialise the database
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py(ModifyableListWidget.keyPressEvent): for keys other than
the selected one, call the parent class implementation; no return
* vdat/gui/gui.py: move the buttons setup to buttons_menu module
* vdat/gui/buttons_menu.py: same, set buttons max size to 400
* vdat/gui/fplane.py: the layout is an attribute, no need for a function
* vdat/gui/treeview_model.py: set max width for the panel to 400
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: save ticked directories into the configuration
* vdat/libvdat/reduction.py: adapt to the new directory structure
* vdat/libvdat/loggers.py: set up the cure task loggers
* vdat/libvdat/cure_interface.py: move the logger setting up to loggers.py
* vdat/vdat_config/vdat_setting.cfg: add cure task loggers options
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/background.py: moved into vdat/gui as it uses all qt stuff
* vdat/gui/background.py(Background): make it a proper class, initialising
the threads with a parent to get rid of qt warnings about objects not
owned by anything
* vdat/gui/background.py(get_background): create and/or return a Background
instance; once created it returns always the same instance
* vdat/gui/__init__.py: use get_background
* vdat/gui/treeview_model.py: same
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: PEP8
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/relay.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/background.py: same
* vdat/libvdat/show_fits.py: same
* vdat/gui/ifu_widget.py: same, plus variable names fixed
* vdat/gui/menu.py: PEP8, move the action for the queue and all connections
to queue.py
* vdat/gui/queue.py: implement here the queue action and connect the signals
properly
2015-08-28 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Added ginga to requires
* vdat/gui/__init__.py: set the QString and QVariant types for ginga compatibility
* vdat/gui/ifu_viewer.py: Tells ginga to use pyqt4
* vdat/libvdat/callback.py: import show_fits instead of create_thumbnails (bug 1037)
* vdat/libvdat/show_fits.py: Checks if any files are found before creating thumbnail
2015-08-25 Francesco Montesano <montefra@mpe.mpg.de>
* doc: ignore build directory
* doc/codedoc/gui.rst: move the treeview model here
* doc/codedoc/reduction.rst: remove the treeview model
* doc/conf.py: set matplotlib backend to agg to avoid pyqt4/5 conflicts
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: A Ginja based panel that
displays a zoomable, pan-able
colourscale-able image of a FITs file,
with an added display for the header
* vdat/gui/ifu_widget.py: Launches and IFUViewer on double-click
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Added yield all IFUs function,
added a flag that when set stops
looping over IFUs (to stop
jobs more cleanly)
* vdat/gui/gui.py: Added import to flag above (for later)
* vdat/gui/ifu_widget.py: Test to see if a thumbnail
image of IFU is corrupted, if yes
try to regenerate
* vdat/gui/relay.py: Added parent argument ot initialisation
* vdat/gui/treeview_model.py: Calls function to show postage
stamps of FITs images when
a directory is selected.
* vdat/libvdat/background.py: Added a run_now function, and an
extra thread for it. This is designed
for important tasks to jump the queue.
* vdat/libvdat/callback.py: Added a comment
* vdat/libvdat/show_fits.py: New module which generates PNG images
of the detector FITs files
2015-08-20 Daniel Farrow <dfarrow@mpe.mpg.de>
* doc/command_line_tool.rst: Draft specifiation for command line tool
* doc/index.rst: Added link to above
* vdat/gui/fplane.py: Moved 'yield_selected_ifus' here, added select all and
select none functions
* vdat/gui/ifu_widget.py: Exists and selected are now properties
* vdat/gui/menu.py: Add a selection menu with 'select all' and 'select none'
* vdat/libvdat/reduction.py: Removed 'yield_selected_ifus' from here
2015-08-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Now sets the parent of the signal relay
* vdat/gui/gui.py: Renamed MainWindow -> mainWindow as it's not a class
* vdat/gui/menu.py: Sets up the new menu bar at the top of the GUI
* vdat/gui/queue.py: Queue window can be hidden and revealed from the new menu bar
* vdat/gui/relay.py: Uses dictionaries to store signals
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: the main frame must be saved in a variable, even if
it's not used, in the qt app to work properly
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
As now it's not possible to run more than one test running the gui at a
time, as it crashes. This is very likely due to the fact that there are qt
objects around without a parent, and this confuses the qtbot
* setup.py: add pytest-qt dependency
* tests/conftest.py: use matplotlib agg backend to avoid pyqt4/5 clashes.
Add fixtures and move some common code away from test_symlink
* tests/test_symlink.py: adapt to the above
* tests/test_tree_view.py: test 93% of the tree view
* vdat/gui/__init__.py: isolate the code making the main and queue window
to allow setting up tests
* vdat/libvdat/handlers.py: add parent widget in the handler
* vdat/gui/gui.py: adapt to the above
* vdat/gui/treeview_model.py: set the ReductionTreeviewModel as child of the
ReductionQTreeView
* vdat/libvdat/background.py: add a todo
2015-08-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: moved to gui
* vdat/libvdat/treeview_model.py: create the tree view from the redux
directory structure, make only directory containing the fits file
selectable, make calibration directories checkable to allow select
specific calibrations during reduction.
* vdat/gui/buttons_menu.py: add temporary button to test the tree view
model. Will be removed once the other buttons will be reimplemented
* vdat/gui/gui.py: move the creation of the tree view to the proper module;
add the above button
* vdat/libvdat/reduction.py: fixed bug with missing configuration section
2015-08-04 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* .: ignore coverage output files and directories
* setup.py: convert to pytest
* setup.cfg: same
* vdat/libvdat/symlink.py: make rerun symlink more robust and write a file
"SHOT_FILE" with all the relevant informations of the symlinked shot as a
json
* vdat/utilities.py: add json serialisation and de-serialisation of datetime
instances
* vdat/vdat_config/vdat_setting.cfg: add max_delta_zro option
* vdat/gui/__init__.py: don't import symlink module
* tests: add tests
* tests/data/raw: add fits files for testing: zro, sci, flt, arc shots, 3
IFUs and 3 exposures each
* tests/conftest.py: add fixtures
* tests/test_symlink.py: test the symlinking (edge cases still missing)
2015-07-30 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* vdat/libvdat/symlink.py: almost completely rewritten; data symlinked at
the shot level; calibration frames divided in subdirectories; flat and arc
collected in the same 'cal' directory
* vdat/libvdat/vdat.py: symlink done before calling the gui; multiprocessing
set up
* vdat/utilities.py: custom exceptions added
* vdat/vdat_config/vdat_setting.cfg: add raw directory, add multiprocessing,
add maximum time delta to use when grouping flat and arc frames
* vdat/libvdat/loggers.py: set logger level to debug
* vdat/gui/__init__.py: don't do the symlink here
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/loggers.py: created moving code out of vdat.py and
reorganizing it
* vdat/libvdat/vdat.py: updated according to the above
* vdat/vdat_config/vdat_setting.cfg: more logging configuration given
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add six dependency
* vdat/gui/__init__.py: PEP8
* vdat/gui/buttons_menu.py: PEP8 and documentation fixes
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/relay.py: same
* vdat/gui/queue.py: same, plus using self instead of parent class method
* vdat/libvdat/background.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/config.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/database.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/handlers.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/treeview_model.py: same
* vdat/libvdat/vdat.py: same
* vdat/utilities.py: same
2015-07-02 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/libvdat/reduction.py: Added routine for creating error files with photon
noise, extracting the data region of the files
and joining the amplifiers
* vdat/vdat_config/vdat_setting.cfg: Added options for the new commands
* vdat/gui/gui.py: Added buttons for the new routines
2015-07-01 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/gui.py: Switched from file browser to a custom model in the treeview widget. Currently
it just gives a hard-coded example of the new custom model's
capabilities.
* vdat/libvdat/treeview_model.py: Added a customisable model for the treeview widget to
use. It can show different reduction steps in a
branching hierachy.
2015-06-16 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Create a queue
* vdat/gui/buttons_menu.py: Added comments
* vdat/gui/fplane.py: Got rid of the unneccessary extra IFU type
now there is just one type defined in
ifu_widget
* vdat/gui/gui.py: Added a button
* vdat/gui/ifu_widget.py: Turned into a pyhetdex IFU type, added
methods to update the picture in the IFU
to reflect whether the IFU has input files
or not.
* vdat/gui/queue.py: A queue window, which keeps track of the
commands a user has requested and runs
them when they reach the head of the queue. The
user can also delete these commands.
* vdat/gui/static/unreduced.png: New image to differentiate
between IFUs with and without input files
* vdat/libvdat/background.py: Uses the queue
* vdat/libvdat/callback.py: Uses the queue
* vdat/libvdat/reduction.py: New function the subtract masterbias and overscan from files
* vdat/libvdat/symlink.py: Tells the IFU object it exists if it finds FITs files from it
Updated documentation and installation files:
* doc/codedoc/gui.rst
* doc/codedoc/reduction.rst
* doc/index.rst
* doc/queue.rst
* requirements.txt
* MANIFEST.in
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
* MANIFEST.in: Added fplane.txt file, so it is also installed!
* doc/install.rst: Tweaked documentation
* doc/launching.rst: As above
* requirements.txt: Added command to install pyhetdex
* vdat/libvdat/vdat.py: Added check to see if config file exists
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
Added Sphinx documentation (under doc/), minor
modifications to comments
* AUTHORS
* LICENSE
* README.md: Added new dependencies
* doc/: Added documentation here
* vdat/gui/gui.py
* vdat/libvdat/reduction.py
2015-06-11 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/buttons_menu.py: Fixed python3 compatibility by using String instead of QString
* vdat/gui/fplane.py: Added a custom IFU class with a variable indicating if the IFU is selected
* vdat/gui/gui.py: Added a create masterbias button
* vdat/gui/ifu_widget.py: Made the widget selectable, add blue frame when not selected
* vdat/libvdat/cure_interface.py: Now tells the worker to clear jobs, so the progress bar is refreshed
* vdat/libvdat/reduction.py: Added create master bias function, subtract overscan now only works on selected IFUs
* vdat/libvdat/symlink.py
* vdat/vdat_config/vdat_setting.cfg: Added a format statement specifying the VIRUS filename structure
2015-06-01 Daniel Farrow <dfarrow@mpe.mpg.de>
Started using the multiprocessing tools
from pyhetdex to run jobs in parallel.
Implemented a progress bar to check how
far a job has gone. Moved logs to a
user specified log directory. A few improvements
in commenting and other minor things.
* setup.py: Added APlpy to list of required Python modules
* vdat/gui/buttons_menu.py: Now supports displaying a tooltip
* vdat/gui/fplane.py: Improved comments
* vdat/gui/gui.py: Got rid of silly buttons like "Make Coffee"
* vdat/gui/relay.py: A module to send signals to the GUI (i.e. update progress bar etc)
* vdat/libvdat/background.py
* vdat/libvdat/cure_interface.py: Functions to wrap around CURE, runs in parallel
* vdat/libvdat/fits.py: Uses multiprocessing
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Uses cure_interface
* vdat/libvdat/symlink.py: Tells the user when symlinking is done
* vdat/libvdat/vdat.py: Set up log directory
* vdat/vdat_config/vdat_setting.cfg: Added log directory and changed wildcards to conform
to pyhetdex:r74
2015-05-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: update ``scan_dirs`` after pyhetdex:r74. PEP8
and numpydoc compliant
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
A few minor modifications to style based on
Francesco's comments. Added a subtract overscan
routine. Switched to using file names rather
than a database when running commands. Added
a module to make it easier for the code
to signal the GUI.
* vdat/gui/buttons_menu.py
* vdat/gui/fplane.py
* vdat/gui/gui.py
* vdat/gui/ifu_widget.py
* vdat/gui/relay.py: Module to relay signals to the GUI
* vdat/libvdat/background.py
* vdat/libvdat/callback.py
* vdat/libvdat/database.py
* vdat/libvdat/fits.py
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Added function to subtract overscans
* vdat/libvdat/symlink.py: Tells GUI to update file browser panel when symlink done
* vdat/vdat_config/vdat_setting.cfg: Added some wildcards to find files
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
Added an internal sqlite3 database to keep track
of what files are available. Created a background
thread with which to run things so they don't lock
up the GUI when they're running. Implemented
a simple code which loops through all fits files
and converts them to PNGs.
* vdat/gui/__init__.py: Moved call to symlink to here
* vdat/gui/gui.py: Added a (currently disabled) progress bar
* vdat/libvdat/background.py: run jobs in a separate thread
* vdat/libvdat/callback.py: Added calls to Background
* vdat/libvdat/database.py: Internal database to keep track of files
* vdat/libvdat/fits.py: Implements a simple fits -> PNG conversion
* vdat/libvdat/handlers.py: Now uses signals to interface with GUI to be thread safe
* vdat/libvdat/symlink.py: Can read rawdir from config file
* vdat/libvdat/vdat.py: Moved symlink from here.
2015-05-18 Daniel Farrow <dfarrow@mpe.mpg.de>
Switched to using PyQt4 and fixed python 2.7
compatibility. Added symlink function as
described by issue #821
* vdat/gui/__init__.py: ... switched to PyQt4
* vdat/gui/buttons_menu.py: PyQt4
* vdat/gui/fplane.py: PyQt4
* vdat/gui/gui.py: PyQt4
* vdat/gui/ifu_widget.py: PyQt4
* vdat/libvdat/callback.py: Function factory to return functions to connect to
button clicks. Currently just returns a function that prints "Not implemented"
* vdat/libvdat/config.py: Read options to do with logging
* vdat/libvdat/handlers.py: PyQt4
* vdat/libvdat/symlink.py: symlinks files from raw to redux directory (issue 821)
* vdat/libvdat/vdat.py: Sets up logging, switched to PyQt4
* vdat/vdat_config/vdat_setting.cfg: Added options to do with logging
2015-05-14 Daniel Farrow <dfarrow@mpe.mpg.de>
Added a new handler for the logger which
prints colour-coded messaged to the text
panel of the VDAT GUI
* libvdat/handler.py: Created a new Handler for logging
* gui/gui.py: Attached the QTextEdit panel to the Handler
* gui/__init__: Prints a welcome message using the new logger
2015-05-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Modified to point to vdat.py:main()
* libvdat/__init__.py: added (empty file)
* libvdat/vdat.py: added, reads in config file, starts GUI
* vdat_config/vdat_settings.cfg: added
* vdat_config/fplane.txt: added
* gui/fplane.py: Reads in fplane.txt and displays it
* gui/ifu_widget.py: Added. Derives QLabel, shows the IFU
* gui/ifu_widget.py: Includes a custom handler for resize events
* gui/resources/empty.png: Copied from Quicklook
* MANINFEST.in: Read by pip to tell it to install the empty.png file
2015-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* gui: moved to vdat/gui
* README.md: some basic installation info added
* setup.py: install vdat package and create ``vdat`` executable
* setup.cfg: setup configuration
* vdat/__init__.py: version number
* vdat/gui/buttons_menu.py: absolute import, some PEP8
* vdat/gui/fplane.py: absolute import, some PEP8
* vdat/gui/gui.py: absolute import, some PEP8
* vdat/gui/__init__.py: same, isolate main function
* svn:ignore: egg dir added
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex requirement to 0.4
* vdat/libvdat/symlink.py: get most of the information for the symlinking
from the file names
* vdat/config/vdat_setting.cfg: put together most of the options needed for
symlinking
* vdat/utilities.py: homogenize exceptions used by symlinking
* doc/_source/dirstruct.rst: update documentation
2016-02-19 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore dist
* setup.py: fix some packages minimum version, fix version number
* tox.ini: fix some packages minimum version
* vdat/command_interpreter/types.py: use Yields in documentation
* vdat/gui/fplane.py: same
* vdat/config/entry_point.py: vdat_config without subcommand behave the same
in py2 and py3
* vdat/gui/buttons_menu.py: add fplane_widget property
* vdat/gui/gui.py: mark two methods for possible delection
* tests/test_buttons.py: monkeypatch CommandButton.fplane_widget to test
without selected IFUs
* tests/test_config.py: fix test of empty vdat_config call
* tests/test_tree_view.py: adapt to the new gui structure
* doc/_source/conf.py: cleanup, PEP8 and try to guess the pyhetdex version
to for intersphinx
* doc/_source/install.rst: change link anchor name
2016-02-17 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: add relevant files to package
* pytest.ini: move pytest specif configurations here
* requirements.txt: removed
* setup.cfg: alias pytest=test command, remove pytest specific options
* setup.py: use pytest-runner, remove tox from setup
* tox.ini: remove all spurious dependences that are now reachable with pip,
add extra pypi url
* vdat/__init__.py: get version from the package configuration
* doc/_source/_templates/version.html: add version
* doc/_source/conf.py: add the above version in the side bar
* doc/_source/index.rst: add version number
* doc/_source/install.rst: update installation info
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: check if the target directory exists, even if
the path is not "."
* tests/test_config.py: add a couple of tests for the new features
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/issue1178
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: temporary disable tox_requires to avoid installation issues
* vdat/config/entry_point.py: fix #1178, improve output info and argument
parser
2016-01-27 Jan Snigula <snigula@mpe.mpg.de>
* tests/test_buttons.py: Adapt do changes made to setup_buttons
2016-01-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/gui.py: isolate the FplaneWidget and buttons; isolate the menu;
add ability to resize widgets; move logger widget into logger_widget.py
module
* vdat/libvdat/handlers.py: moved to vdat/gui/logger_widget.py
* vdat/gui/logger_widget.py: add logger widget
* vdat/gui/treeview_model.py: same
* vdat/gui/buttons_menu.py: remove size constraints
* vdat/gui/background.py: typo fixed
2016-01-19 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed missing X for missing IFUs
* vdat/gui/gui.py: Pass fplane widget along
* vdat/gui/buttons_menu.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Pass basename through
* vdat/gui/ifu_widget.py: Same
* vdat/gui/fplane.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed double click
* vdat/gui/fplane.py: New thumbnails work now, zscaling mostly as
well
2016-01-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add qimage2ndarray dependence
* vdat/libvdat/symlink.py: use directory name into vdat exposure table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/treeview_model.py: Changed a signal
* vdat/gui/menu.py: Moved code to gui
* vdat/database/core.py: Added new database table
* vdat/config/tabs.yml: Updated regexes
* vdat/gui/fplane.py: Restructured
* vdat/gui/ifu_widget.py: Moved to direct fits file loading
* vdat/database/models.py: Added new database table
* vdat/gui/gui.py: Restructured
* vdat/gui/buttons_menu.py: Changed yield behaviour
* vdat/libvdat/symlink.py: Added new database table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/__init__.py: Bumped version to 0.1.0
2015-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: load it also if pyds9 fails to import; add
notification about the import failure; add error box if
pyds9 fails to connect to a ds9 session
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added starextract
* vdat/config/buttons.yml: same
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add is_regex key to primary keywords;
when getting file names match add the full path to the regex/wildcard
* doc/_source/command_intepreter.rst: document is_regex
* vdat/config/vdat_commands.yml: add detection step; fix file names and
regex in various commands; streamline some keyword values
* vdat/config/extra_files/IFUcen_HETDEX.txt: added
* vdat/config/buttons.yml: add
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .coverage files, but no .coveragerc
* .coveragerc: added
* doc/_source/contributions.rst: add more info about tox
* doc/_source/index.rst: add link to coverage report
* requirements.txt: remove numpy
* scripts/remove_empty_coverage.sh: added
* scripts/symlink_pyqt.sh: call the python script with the full path to
``scripts`` directory
* setup.cfg: remove coverage configurations
* tests/test_buttons.py: fix test bug when ``commands`` is a string
* tox.ini: build the documentation and coverage report
2015-11-24 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: aesthetic change
* vdat/command_interpreter/core.py: raise an CIRunError when the return
value is not null
* vdat/command_interpreter/types.py: add possibility to manipulate the
return value of the ``loop`` primary key
* doc/_source/command_intepreter.rst: document it
* vdat/command_interpreter/utils.py: added
* vdat/config/buttons.yml: add the button to create the dither file
* vdat/config/extra_files/dither_positions.txt: added
* vdat/config/vdat_commands.yml: add the instruction to create the dither
files
* vdat/gui/buttons_menu.py: fix documentation typo
2015-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: change master* names to values compatible
with cure's DitherEnvironment, add symlink command to create better file
names for the science frames
* vdat/config/buttons.yml: add command for the symlinking
use ``vdat_config copy`` to update the configuration files
2015-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: set xpa_method in the environment to local by
default
* vdat/config/vdat_setting.cfg: add option to modify the xpa_method and
kdescription
2015-10-23 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new tabs to display the products
of the new reduction buttons
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: more info about the selected IFU given
* tests/data/raw/20120301: replaced with new simulations
* tests/test_command_interpreter.py: adapt to it
* tests/test_symlink.py: same
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: pass the selected ifus to the command
interpreter
* vdat/gui/fplane.py: PEP8
* vdat/config/vdat_commands.yml: add the ``filter_selected`` keyword;
improve match only fits filename starting with number
* tests/test_buttons.py: test ifu selection
2015-10-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: put commands on the queue
* vdat/gui/queue.py: adapt the queue to accept and return CommandInterpreter
instances; create set/get_queue functions
* vdat/gui/background.py: set/get_background functions; adapt the
background object to the above; fix bugs
* vdat/gui/__init__.py: adapt to the above, remove callback
* vdat/gui/relay.py: log also exception
* vdat/gui/gui.py: fix some docstring
* vdat/command_interpreter/core.py: fix a bug with template and exe
substitution
* vdat/command_interpreter/types.py: match the file name at the end of a
string
* vdat/libvdat/loggers.py: setup the loggers for the commands
* vdat/libvdat/vdat.py: use it
* vdat/config/core.py: better error handling when getting configurations
* vdat/config/extra_files/*: added
* vdat/config/entry_point.py: copy also the extra files
* vdat/config/vdat_commands.yml: fix bugs and adjust paths
* vdat/config/vdat_setting.cfg: fix the command logger configuration entries
* tests/conftest.py: force copying the configuration to avoid troubles
* tests/test_buttons.py: finish the testing of the buttons
* tests/test_command_interpreter.py: test alias replacing
* tests/test_config.py: adapt the tests to the changes due to extra
configuration files in subdirectories
2015-10-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: move button to custom class, create
CommandInterpreter instances when pushing the buttons and report problems
with a dialog
* vdat/gui/treeview_model.py: pep8
* vdat/command_interpreter/exceptions.py: fix bug with CIExeError
* vdat/config/vdat_commands.yml: masterarc needs an alias
* vdat/config/vdat_setting.cfg: add comments about redux_dirs
* vdat/database/models.py: PEP8
* vdat/libvdat/vdat.py: inject CUREBIN into the path
* tests/test_buttons.py: add a test clicking the buttons
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: rewrite the creation of the buttons
* vdat/gui/gui.py: use the new button menu
* vdat/gui/treeview_model.py: connect the button menu to switch set of
buttons when changing directory; use a signal to change the central and
button panels
* vdat/config/buttons.yml: configuration file driving the button creation
* vdat/config/vdat_setting.cfg: add it
* vdat/config/core.py: add it to the files to load
* vdat/config/entry_point.py: add it to the files to copy
* vdat/config/vdat_commands.yml: little formatting
* tests/test_buttons.py: test the button widget; for now test that is
correctly created and that the switching happens correctly
* tests/test_command_interpreter.py: make sure to get a file for the ifu 34
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added
* vdat/config/vdat_setting.cfg: add the above file
* vdat/config/core.py: load vdat_commands.yml
* vdat/config/entry_point.py: copy it; don't overwrite existing files by
default
* tests/test_config.py: test the vdat_config command
2015-10-14 Francesco Montesano <montefra@mpe.mpg.de>
Tests run for python 2.7, 3.4 and 3.5
* tests/test_command_interpreter.py: test also part of the run method. Still
to test if exceptions are handled correctly
* vdat/command_interpreter/core.py: fix bugs and improve error handling and
logging
* vdat/command_interpreter/relay.py: fix bugs with progress relay
* vdat/command_interpreter/types.py: fix bugs and don't cover template
functions
* MANIFEST.in: add readme and requirement file to avoid tox building
failures
* requirements.txt: add numpy to avoid scipy building failures
* setup.py: add new_file entry point
2015-10-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Aligned the scale combobox left to make it prettier
* vdat/libvdat/show_fits.py: replaced another call to astropy getdata with
a ``with open(fn, 'rb')`` to avoid the astropy bug
* vdat/gui/ifu_viewer.py: "Send to ds9" menu now generated dynamically when the
"ds9" menu is clicked. Only files from the currently
selected tab are sent to "ds9" when the menu item
is selected.
2015-10-13 Daniel Farrow <dfarrow@mpe.mpg.de>
* requirements.txt: added pyds9 repo
* setup.py: added pyds9 repo
* vdat/gui/ifu_viewer.py: wrapped get_header in with open(f) to avoid the
astropy bug of not closing files.
2015-10-13 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: group together entripoints
* vdat/command_interpreter/core.py: some bug fix, use execute types, some
changes with the exception handling
* vdat/command_interpreter/exceptions.py: rename some exception
* vdat/command_interpreter/types.py: add execute type and implement all the
necessary types
* tests/test_command_interpreter.py: test most of the command interpreter
initialisation
* doc/_source/command_intepreter.rst: extend documentation
* vdat/config/ci_documentation.yml: removed
2015-10-12 Daniel Farrow <dfarrow@mpe.mpg.de>:
* vdat/gui/fplane.py: moved update IFUs from init to
change_focal_plane, to avoid the
thumbnail generator looking for an
uninitialized fplane
* vdat/gui/ifu_viewer.py: Added option to select frames
and send them to a new or existing
ds9 session
* setup.py: Added pyds9 to install requires
2015-10-09 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/database/core.py: added a table to store image brightness scaling parameters
* vdat/database/models.py: as above
* vdat/gui/fplane.py: Added a section to control the brightness scaling of the thumbnails in the
focal plane. User can select scaling per fits file, or a global
scaling (which can be user specified) for the whole focal plane.
The Fplane class in now its own QWidget.
* vdat/gui/gui.py: Added comments
* vdat/gui/ifu_viewer.py: Suppresses warnings from Ginga ;-)
* vdat/gui/ifu_widget.py: IFU viewers are parented to the main window, so
they can persist when the user changes fplane
* vdat/libvdat/show_fits.py: Casts the number of rows to an integer explicitly. Connects
to a database to find, or set, global brightness
scaling parameters when required for the thumbnails. Uses a
file object with astropy getdata in order to avoid an
astropy bug.
2015-10-09 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_command_interpreter.py: first tests added
* vdat/command_interpreter/core.py: better exceptions
* vdat/command_interpreter/exceptions.py: same
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bootstrap setuptools if it's not installed
* ez_setup.py: bootstrap module
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: separate the loading from the getting of the
configurations: allow more homogeneous handling of the configuration files
* vdat/config/vdat_setting.cfg: comment a bit more
* vdat/config/entry_point.py: move here the implementation of the
``vdat_config`` executable; use pkg_resources to get copy the
configuration files
* setup.py: update the entry point
* vdat/gui/fplane.py: use the new configuration interface; PEP8
* vdat/gui/gui.py: same
* vdat/gui/ifu_viewer.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/queue.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* tests/conftest.py: same
* doc/Makefile(livehtm): add vdat/config to the tracked directories
* doc/_source/codedoc/config.rst: add code documentation
* doc/_source/index.rst: same
2015-10-07 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new configuration for the upgraded thumbnail
creation (see below)
* vdat/gui/background.py: Immediate background thread waits for last job to stop
before running the next job. Toggle system
for the isImmRunning flag removed as it depended
on the main thread being available. Now the
immediate background thread controls the isImmRunning
flag is controlled by the Worker in the thread.
* vdat/gui/fplane.py: Waits for jobs on immediate thread to stop, stops
QObjects still in use from being deleted.
* vdat/gui/gui.py: Handles the uses clicking the close button, now waits
for running jobs on the immediate thread to end. This
stops seg faults from a sudden close.
* vdat/gui/ifu_widget.py: Fixes a bug by removing the auto-regeneration
of corrupted thumbnails. Simply dumps them instead.
* vdat/libvdat/show_fits.py: Based on options in tabs.yml, create a grid of
thumbnails for the IFU widget with entries
for the different channels, amps.
2015-10-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/core.py: Added load_yaml
* vdat/config/tabs.yml: Moved tabs subsections to be direcly under
the different node types (on the same level as
the ifu_viewer and main subsections).
* vdat/gui/fplane.py: Added tools to save and generate focal
plane panels. What is displayed as a thumbnail
is decided by the user via a combo box (i.e. the raw fits, fibre-collapsed
images, arcs, flats etc.). Defaults are set in the tabs.yml
* vdat/gui/gui.py: Central panel now generated dynamically
rather than at initialization.
* vdat/gui/ifu_viewer.py: Moved load_yaml to vdat.config
* vdat/gui/relay.py: Added 'change_centralPanel' signal.
* vdat/gui/treeview_model.py: Rather than prompting an update of the IFUs,
selecting a node causes a whole new
central panel to be created
* vdat/libvdat/show_fits.py: Now show_thumbnails takes a config object
with a regex specifying the file type to
display
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add yaml
* vdat/libvdat/loggers.py: reorganize the loggers code to remove repetitions
* vdat/config/vdat_setting.cfg: adapt the configuration to this
* vdat/libvdat/vdat.py: create appropriate ginga logger
* vdat/gui/ifu_viewer.py: PEP8 frenzy; use ginga logger
* doc/_source/codedoc/reduction.rst: add logging documentation
* doc/_source/gui.rst: fix warning
* doc/_source/index.rst: add todo about logging
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter: added
* vdat/command_interpreter/__init__.py: import interface at module level
* vdat/command_interpreter/core.py: implement the interpreter
* vdat/command_interpreter/exceptions.py: define custom exceptions
* vdat/command_interpreter/helpers.py: will contain some helper function
* vdat/command_interpreter/relay.py: relay-like interface for communication
between the interpreter and the world
* vdat/command_interpreter/types.py: define classes to deal with types
* vdat/config/ci_documentation.yml: very wordy yaml file to use for
documentation purposes
* doc/Makefile: add command_interpreter for auto-compilation
* doc/_source/codedoc/command_interpreter.rst: added
* doc/_source/command_interpreter.rst: added
* doc/_source/index.rst: add the above documents
* doc/_source/codedoc/reduction.rst: remove reduction module
* vdat/libvdat/callback.py: get logger in method
2015-09-30 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: configuration file that decides what is
displayed in different panels
* vdat/config/vdat_setting.cfg: Add tabs.yml to config file
* vdat/gui/background.py: Worker now passes **kwargs and *args
* vdat/gui/ifu_viewer.py: Read in tabs.yml, creates tabs in the
viewer based on it.
* vdat/gui/ifu_widget.py: When doduble clicked and no
directory selected, ask the user to select
one
* vdat/gui/treeview_model.py: Passes the type of directory selected
to show_fits
* vdat/libvdat/loggers.py: Added a generic logger class to store
Ginga loggers
* vdat/libvdat/reduction.py: ifuid -> ihmpid when deriving filenames
* vdat/libvdat/show_fits.py: Saves the type of directory selected in the IFU object
this might not be ideal
* doc/_source/gui.rst: Added some GUI documentation
* vdat/config/core.py: Added tabs.yml to CONFIG_FILES
2015-09-23 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore build and .eggs directories
* setup.cfg: same
* setup.py: create setuptools command @tox@ to fetch tox, if necessary, and
run tox
* scripts/symlink_pyqt.sh: don't print error if pyqt4 is not symlinked
* doc/_source/contributions.rst: added; describe testing via tox and py.test
* doc/_source/index.rst: add the above
* doc/_source/install.rst: update dependency list
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: make the gui tests succeed on tox too
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: added
* setup.cfg: ignore .tox when discovering tests
* svn:ignore: add .tox directory
* MANIFEST.in: fix config directory name change
* scripts/symlink_pyqt.{sh,py}: symlink pyqt4 and sip into the tox virtual
enviroments
* vdat/libvdat/symlink.py: do not try to commit if the redux directory is
empty
* tests/conftest.py: initialise the main logger
2015-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .cache directory
* setup.py: minimum pytest-qt version; fix console_scripts module name
* tests/conftest.py: no need to get for fixtures to get the configuration
and to start the database
* tests/test_symlink.py: clean the loggers
* tests/test_tree_view.py: no need to start database;
* vdat/config/vdat_setting.cfg: disable multiprocessing by default; use only
one max delta time for calibration
* vdat/database/base.py: property to get data as dictionary
* vdat/database/core.py: init get directory where the database should go;
fix bug with @connect@
* vdat/database/models.py: new table columns, method to create the path and
merge multiple rows into one
* vdat/libvdat/symlink.py: initialize, fill and update the database when doing the
symlinking
* vdat/gui/treeview_model.py: build the view from the database
* vdat/libvdat/vdat.py: don't initialize the database
* vdat/utilities.py: merge dictionaries function added; modify some errors
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* *py: use the __future__
* vdat/database/__init__.py: split into sub modules and import only the
"public" interface
* vdat/database/base.py: define the database and the base model
* vdat/database/core.py: initialise the database and deal with the
connection
* vdat/database/models.py: custom models are implemented here
* vdat/database/old_database.py: removed
* vdat/gui/treeview_model.py: use floor with datetime.timedelta
* vdat/libvdat/symlink.py: same
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config: renamed from vdat/vdat_config
* vdat/config/__init__.py: import only "public" interface
* vdat/config/core.py: renamed from vdat/libvdat/config.py and adapted
* setup.py: add ginga, adapt ``vdat_config`` entry point to new
directories
* vdat/gui/fplane.py: use new config subpackage
* vdat/gui/ifu_widget.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* vdat/gui/relay.py: instantiate ``SignalClass`` inside a function and save
in a local list to allow for testing
* vdat/gui/__init__.py: use the new implementation
* vdat/gui/ifu_viewer.py: same (plus PEP8)
* vdat/gui/gui.py: same and config subpackage
* vdat/gui/queue.py: same
* vdat/libvdat/fits.py: same
* vdat/utilities.py (config_directory): moved to vdat/config/core.py
* tests/conftest.py: adapt to the above changes, use pyqt4 v2 api, add
fixtures to start the database and to clear lists and dictionaries at the
end of a test to allow reuse
* tests/test_tree_view.py: use new fixtures
2015-09-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: dialog confirming deletion; fix bug with
indexing
2015-09-11 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: corrected
* doc/_source: created; conf.py, the _template and _static directories and
all the rst files has been moved into this directory
* doc/Makefile: adapted to the changes
* doc/_source/*: small improvements
* setup.py: add vdat_config entry point
* vdat/libvdat/config.py: implement ``vdat_config copy`` command
* vdat/utilities.py: returns the configuration directory
* vdat/libvdat/callback.py: make the documentation happy
2015-09-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: add extra fields in preparation for issues #1048
#1049 and #1053
* vdat/gui/treeview_model.py: add context menu and handle clone and remove
actions as per #1048, adapt the building of the tree view to account for
this
* vdat/libvdat/symlink.py: add ``is_clone`` entry to the shot_file and
ignore cloned directories when re-symlinking
* vdat/utilities.py(write_to_shot_file): possible to chose between write
and append mode when writing
* vdat/gui/background.py(Background): rename ``cls`` to ``self`` for
consistency
2015-09-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add peewee dependency
* vdat/libvdat/database.py: moved to vdat/database/__init__.py
* vdat/database/__init__.py: implement the database table associated
with the entries in the tree view
* vdat/database/old_database.py: keep it for reference, it will be
eventually removed
* vdat/gui/treeview_model.py: populate the database
* vdat/utilities.py: move here from libvdat/symlink.py the functions to
read and write the shot files
* vdat/libvdat/symlink.py: modify accordingly
* vdat/libvdat/vdat.py: initialise the database
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py(ModifyableListWidget.keyPressEvent): for keys other than
the selected one, call the parent class implementation; no return
* vdat/gui/gui.py: move the buttons setup to buttons_menu module
* vdat/gui/buttons_menu.py: same, set buttons max size to 400
* vdat/gui/fplane.py: the layout is an attribute, no need for a function
* vdat/gui/treeview_model.py: set max width for the panel to 400
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: save ticked directories into the configuration
* vdat/libvdat/reduction.py: adapt to the new directory structure
* vdat/libvdat/loggers.py: set up the cure task loggers
* vdat/libvdat/cure_interface.py: move the logger setting up to loggers.py
* vdat/vdat_config/vdat_setting.cfg: add cure task loggers options
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/background.py: moved into vdat/gui as it uses all qt stuff
* vdat/gui/background.py(Background): make it a proper class, initialising
the threads with a parent to get rid of qt warnings about objects not
owned by anything
* vdat/gui/background.py(get_background): create and/or return a Background
instance; once created it returns always the same instance
* vdat/gui/__init__.py: use get_background
* vdat/gui/treeview_model.py: same
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: PEP8
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/relay.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/background.py: same
* vdat/libvdat/show_fits.py: same
* vdat/gui/ifu_widget.py: same, plus variable names fixed
* vdat/gui/menu.py: PEP8, move the action for the queue and all connections
to queue.py
* vdat/gui/queue.py: implement here the queue action and connect the signals
properly
2015-08-28 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Added ginga to requires
* vdat/gui/__init__.py: set the QString and QVariant types for ginga compatibility
* vdat/gui/ifu_viewer.py: Tells ginga to use pyqt4
* vdat/libvdat/callback.py: import show_fits instead of create_thumbnails (bug 1037)
* vdat/libvdat/show_fits.py: Checks if any files are found before creating thumbnail
2015-08-25 Francesco Montesano <montefra@mpe.mpg.de>
* doc: ignore build directory
* doc/codedoc/gui.rst: move the treeview model here
* doc/codedoc/reduction.rst: remove the treeview model
* doc/conf.py: set matplotlib backend to agg to avoid pyqt4/5 conflicts
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: A Ginja based panel that
displays a zoomable, pan-able
colourscale-able image of a FITs file,
with an added display for the header
* vdat/gui/ifu_widget.py: Launches and IFUViewer on double-click
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Added yield all IFUs function,
added a flag that when set stops
looping over IFUs (to stop
jobs more cleanly)
* vdat/gui/gui.py: Added import to flag above (for later)
* vdat/gui/ifu_widget.py: Test to see if a thumbnail
image of IFU is corrupted, if yes
try to regenerate
* vdat/gui/relay.py: Added parent argument ot initialisation
* vdat/gui/treeview_model.py: Calls function to show postage
stamps of FITs images when
a directory is selected.
* vdat/libvdat/background.py: Added a run_now function, and an
extra thread for it. This is designed
for important tasks to jump the queue.
* vdat/libvdat/callback.py: Added a comment
* vdat/libvdat/show_fits.py: New module which generates PNG images
of the detector FITs files
2015-08-20 Daniel Farrow <dfarrow@mpe.mpg.de>
* doc/command_line_tool.rst: Draft specifiation for command line tool
* doc/index.rst: Added link to above
* vdat/gui/fplane.py: Moved 'yield_selected_ifus' here, added select all and
select none functions
* vdat/gui/ifu_widget.py: Exists and selected are now properties
* vdat/gui/menu.py: Add a selection menu with 'select all' and 'select none'
* vdat/libvdat/reduction.py: Removed 'yield_selected_ifus' from here
2015-08-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Now sets the parent of the signal relay
* vdat/gui/gui.py: Renamed MainWindow -> mainWindow as it's not a class
* vdat/gui/menu.py: Sets up the new menu bar at the top of the GUI
* vdat/gui/queue.py: Queue window can be hidden and revealed from the new menu bar
* vdat/gui/relay.py: Uses dictionaries to store signals
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: the main frame must be saved in a variable, even if
it's not used, in the qt app to work properly
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
As now it's not possible to run more than one test running the gui at a
time, as it crashes. This is very likely due to the fact that there are qt
objects around without a parent, and this confuses the qtbot
* setup.py: add pytest-qt dependency
* tests/conftest.py: use matplotlib agg backend to avoid pyqt4/5 clashes.
Add fixtures and move some common code away from test_symlink
* tests/test_symlink.py: adapt to the above
* tests/test_tree_view.py: test 93% of the tree view
* vdat/gui/__init__.py: isolate the code making the main and queue window
to allow setting up tests
* vdat/libvdat/handlers.py: add parent widget in the handler
* vdat/gui/gui.py: adapt to the above
* vdat/gui/treeview_model.py: set the ReductionTreeviewModel as child of the
ReductionQTreeView
* vdat/libvdat/background.py: add a todo
2015-08-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: moved to gui
* vdat/libvdat/treeview_model.py: create the tree view from the redux
directory structure, make only directory containing the fits file
selectable, make calibration directories checkable to allow select
specific calibrations during reduction.
* vdat/gui/buttons_menu.py: add temporary button to test the tree view
model. Will be removed once the other buttons will be reimplemented
* vdat/gui/gui.py: move the creation of the tree view to the proper module;
add the above button
* vdat/libvdat/reduction.py: fixed bug with missing configuration section
2015-08-04 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* .: ignore coverage output files and directories
* setup.py: convert to pytest
* setup.cfg: same
* vdat/libvdat/symlink.py: make rerun symlink more robust and write a file
"SHOT_FILE" with all the relevant informations of the symlinked shot as a
json
* vdat/utilities.py: add json serialisation and de-serialisation of datetime
instances
* vdat/vdat_config/vdat_setting.cfg: add max_delta_zro option
* vdat/gui/__init__.py: don't import symlink module
* tests: add tests
* tests/data/raw: add fits files for testing: zro, sci, flt, arc shots, 3
IFUs and 3 exposures each
* tests/conftest.py: add fixtures
* tests/test_symlink.py: test the symlinking (edge cases still missing)
2015-07-30 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* vdat/libvdat/symlink.py: almost completely rewritten; data symlinked at
the shot level; calibration frames divided in subdirectories; flat and arc
collected in the same 'cal' directory
* vdat/libvdat/vdat.py: symlink done before calling the gui; multiprocessing
set up
* vdat/utilities.py: custom exceptions added
* vdat/vdat_config/vdat_setting.cfg: add raw directory, add multiprocessing,
add maximum time delta to use when grouping flat and arc frames
* vdat/libvdat/loggers.py: set logger level to debug
* vdat/gui/__init__.py: don't do the symlink here
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/loggers.py: created moving code out of vdat.py and
reorganizing it
* vdat/libvdat/vdat.py: updated according to the above
* vdat/vdat_config/vdat_setting.cfg: more logging configuration given
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add six dependency
* vdat/gui/__init__.py: PEP8
* vdat/gui/buttons_menu.py: PEP8 and documentation fixes
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/relay.py: same
* vdat/gui/queue.py: same, plus using self instead of parent class method
* vdat/libvdat/background.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/config.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/database.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/handlers.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/treeview_model.py: same
* vdat/libvdat/vdat.py: same
* vdat/utilities.py: same
2015-07-02 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/libvdat/reduction.py: Added routine for creating error files with photon
noise, extracting the data region of the files
and joining the amplifiers
* vdat/vdat_config/vdat_setting.cfg: Added options for the new commands
* vdat/gui/gui.py: Added buttons for the new routines
2015-07-01 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/gui.py: Switched from file browser to a custom model in the treeview widget. Currently
it just gives a hard-coded example of the new custom model's
capabilities.
* vdat/libvdat/treeview_model.py: Added a customisable model for the treeview widget to
use. It can show different reduction steps in a
branching hierachy.
2015-06-16 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Create a queue
* vdat/gui/buttons_menu.py: Added comments
* vdat/gui/fplane.py: Got rid of the unneccessary extra IFU type
now there is just one type defined in
ifu_widget
* vdat/gui/gui.py: Added a button
* vdat/gui/ifu_widget.py: Turned into a pyhetdex IFU type, added
methods to update the picture in the IFU
to reflect whether the IFU has input files
or not.
* vdat/gui/queue.py: A queue window, which keeps track of the
commands a user has requested and runs
them when they reach the head of the queue. The
user can also delete these commands.
* vdat/gui/static/unreduced.png: New image to differentiate
between IFUs with and without input files
* vdat/libvdat/background.py: Uses the queue
* vdat/libvdat/callback.py: Uses the queue
* vdat/libvdat/reduction.py: New function the subtract masterbias and overscan from files
* vdat/libvdat/symlink.py: Tells the IFU object it exists if it finds FITs files from it
Updated documentation and installation files:
* doc/codedoc/gui.rst
* doc/codedoc/reduction.rst
* doc/index.rst
* doc/queue.rst
* requirements.txt
* MANIFEST.in
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
* MANIFEST.in: Added fplane.txt file, so it is also installed!
* doc/install.rst: Tweaked documentation
* doc/launching.rst: As above
* requirements.txt: Added command to install pyhetdex
* vdat/libvdat/vdat.py: Added check to see if config file exists
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
Added Sphinx documentation (under doc/), minor
modifications to comments
* AUTHORS
* LICENSE
* README.md: Added new dependencies
* doc/: Added documentation here
* vdat/gui/gui.py
* vdat/libvdat/reduction.py
2015-06-11 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/buttons_menu.py: Fixed python3 compatibility by using String instead of QString
* vdat/gui/fplane.py: Added a custom IFU class with a variable indicating if the IFU is selected
* vdat/gui/gui.py: Added a create masterbias button
* vdat/gui/ifu_widget.py: Made the widget selectable, add blue frame when not selected
* vdat/libvdat/cure_interface.py: Now tells the worker to clear jobs, so the progress bar is refreshed
* vdat/libvdat/reduction.py: Added create master bias function, subtract overscan now only works on selected IFUs
* vdat/libvdat/symlink.py
* vdat/vdat_config/vdat_setting.cfg: Added a format statement specifying the VIRUS filename structure
2015-06-01 Daniel Farrow <dfarrow@mpe.mpg.de>
Started using the multiprocessing tools
from pyhetdex to run jobs in parallel.
Implemented a progress bar to check how
far a job has gone. Moved logs to a
user specified log directory. A few improvements
in commenting and other minor things.
* setup.py: Added APlpy to list of required Python modules
* vdat/gui/buttons_menu.py: Now supports displaying a tooltip
* vdat/gui/fplane.py: Improved comments
* vdat/gui/gui.py: Got rid of silly buttons like "Make Coffee"
* vdat/gui/relay.py: A module to send signals to the GUI (i.e. update progress bar etc)
* vdat/libvdat/background.py
* vdat/libvdat/cure_interface.py: Functions to wrap around CURE, runs in parallel
* vdat/libvdat/fits.py: Uses multiprocessing
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Uses cure_interface
* vdat/libvdat/symlink.py: Tells the user when symlinking is done
* vdat/libvdat/vdat.py: Set up log directory
* vdat/vdat_config/vdat_setting.cfg: Added log directory and changed wildcards to conform
to pyhetdex:r74
2015-05-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: update ``scan_dirs`` after pyhetdex:r74. PEP8
and numpydoc compliant
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
A few minor modifications to style based on
Francesco's comments. Added a subtract overscan
routine. Switched to using file names rather
than a database when running commands. Added
a module to make it easier for the code
to signal the GUI.
* vdat/gui/buttons_menu.py
* vdat/gui/fplane.py
* vdat/gui/gui.py
* vdat/gui/ifu_widget.py
* vdat/gui/relay.py: Module to relay signals to the GUI
* vdat/libvdat/background.py
* vdat/libvdat/callback.py
* vdat/libvdat/database.py
* vdat/libvdat/fits.py
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Added function to subtract overscans
* vdat/libvdat/symlink.py: Tells GUI to update file browser panel when symlink done
* vdat/vdat_config/vdat_setting.cfg: Added some wildcards to find files
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
Added an internal sqlite3 database to keep track
of what files are available. Created a background
thread with which to run things so they don't lock
up the GUI when they're running. Implemented
a simple code which loops through all fits files
and converts them to PNGs.
* vdat/gui/__init__.py: Moved call to symlink to here
* vdat/gui/gui.py: Added a (currently disabled) progress bar
* vdat/libvdat/background.py: run jobs in a separate thread
* vdat/libvdat/callback.py: Added calls to Background
* vdat/libvdat/database.py: Internal database to keep track of files
* vdat/libvdat/fits.py: Implements a simple fits -> PNG conversion
* vdat/libvdat/handlers.py: Now uses signals to interface with GUI to be thread safe
* vdat/libvdat/symlink.py: Can read rawdir from config file
* vdat/libvdat/vdat.py: Moved symlink from here.
2015-05-18 Daniel Farrow <dfarrow@mpe.mpg.de>
Switched to using PyQt4 and fixed python 2.7
compatibility. Added symlink function as
described by issue #821
* vdat/gui/__init__.py: ... switched to PyQt4
* vdat/gui/buttons_menu.py: PyQt4
* vdat/gui/fplane.py: PyQt4
* vdat/gui/gui.py: PyQt4
* vdat/gui/ifu_widget.py: PyQt4
* vdat/libvdat/callback.py: Function factory to return functions to connect to
button clicks. Currently just returns a function that prints "Not implemented"
* vdat/libvdat/config.py: Read options to do with logging
* vdat/libvdat/handlers.py: PyQt4
* vdat/libvdat/symlink.py: symlinks files from raw to redux directory (issue 821)
* vdat/libvdat/vdat.py: Sets up logging, switched to PyQt4
* vdat/vdat_config/vdat_setting.cfg: Added options to do with logging
2015-05-14 Daniel Farrow <dfarrow@mpe.mpg.de>
Added a new handler for the logger which
prints colour-coded messaged to the text
panel of the VDAT GUI
* libvdat/handler.py: Created a new Handler for logging
* gui/gui.py: Attached the QTextEdit panel to the Handler
* gui/__init__: Prints a welcome message using the new logger
2015-05-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Modified to point to vdat.py:main()
* libvdat/__init__.py: added (empty file)
* libvdat/vdat.py: added, reads in config file, starts GUI
* vdat_config/vdat_settings.cfg: added
* vdat_config/fplane.txt: added
* gui/fplane.py: Reads in fplane.txt and displays it
* gui/ifu_widget.py: Added. Derives QLabel, shows the IFU
* gui/ifu_widget.py: Includes a custom handler for resize events
* gui/resources/empty.png: Copied from Quicklook
* MANINFEST.in: Read by pip to tell it to install the empty.png file
2015-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* gui: moved to vdat/gui
* README.md: some basic installation info added
* setup.py: install vdat package and create ``vdat`` executable
* setup.cfg: setup configuration
* vdat/__init__.py: version number
* vdat/gui/buttons_menu.py: absolute import, some PEP8
* vdat/gui/fplane.py: absolute import, some PEP8
* vdat/gui/gui.py: absolute import, some PEP8
* vdat/gui/__init__.py: same, isolate main function
* svn:ignore: egg dir added
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: make sure that x11 can deal with threads
2016-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: add n_primaries signal to
documentation
* vdat/gui/progress_bar.py: implement the progress bar and connect to
command_interpreter signals
* vdat/gui/mainwidget.py: use the object in progress_bar.py module
* tests/test_ci/conftest.py: move clean_connected to test/conftest.py
* tests/test_gui: created
* tests/test_gui/test_progress_bar.py: added
* tests/test_gui/test_tree_view.py: moved into test_gui
* tests/test_ci/test_signals.py: make sure to clean the signals
2016-05-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: new n_primaries signal
* vdat/command_interpreter/helpers.py: helper function for that
* vdat/command_interpreter/core.py: emit the signal
* tests/test_ci/test_helpers.py: update tests
* tests/test_ci/test_signals.py: same
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui.rst: update the configuration documentation
* vdat/config/tasks.yml: add all the remaining reduction steps
* vdat/config/vdat_setting.cfg: set the default pixel scale to 0.5, to speed
up the GUI startup
* vdat/gui/fplane.py: don't raise an error if there are no tabs for a task
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/mainwidget.py: cleanup old ways of communication
* vdat/gui/mainwindow.py: same
* vdat/gui/relay.py: remove unused signals
* vdat/gui/treeview_model.py: cleanup and mark method a pyqt slot
2016-05-02 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Change default viewer size for
reconstructed images
* vdat/gui/ifu_widget.py: Fix possible memory leak in creation of
binned images
2016-05-02 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: remove unused imports
* vdat/gui/menubar.py: same
* vdat/gui/treeview_model.py: same
* vdat/gui/fplane.py: use itertools.product for nested loops
* vdat/gui/gui.py: removed
* vdat/gui/ifu_viewer.py: PEP8
* vdat/gui/ifu_widget.py: same
* vdat/gui/mainwidget.py: same
* vdat/gui/tasks.py: same
* doc/_source/codedoc/gui/index.rst: remove vdat.gui.gui
2016-05-02 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Show reconstructed images
* vdat/gui/central.py: Made pixelscale for reconstructed images configurable
* vdat/gui/ifu_widget.py: Show reconstructed images in ifu viewer
fixes issues 1407 and 1409
* vdat/config/vdat_setting.cfg: Added pixelscale for reconstructed images
2016-04-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: add multiprocessing
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: require pyhetdex 0.7.0
* tests/test_config/test_core.py: adapt tests to the new config files
* doc/_source/codedoc/gui/index.rst: fix typo
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/gui.rst: document dither tab type
* vdat/config/tasks.yml: add all reduction science steps up to dividing by
pixel flats
* vdat/gui/fplane.py: update dither type implementation
* vdat/gui/ifu_widget.py: fix bug #1405
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: add cal reduction steps
* vdat/gui/fplane.py: fix some bug with typ and fplane_single
* vdat/gui/tasks.py: remove debugging prints
* doc/_source/gui.rst: update documentation
2016-04-30 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.3.0
* ReleaseNotes.md: update
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/tasks.yml: implement zro reduction steps
* vdat/config/vdat_commands.yml: update commands to the latest reduction
steps
* vdat/gui/central.py: fix indentation bug when submitting commands to
queue; improve string sent to the queue
* vdat/gui/fplane.py: improve FplaneWidget.change_fplane; add
documentation, fix bug with matching directory names
* vdat/gui/gui.py: make documentation happy
* vdat/gui/tasks.py: accept commands as string or as list
* vdat/gui/treeview_model.py: on selection changed pass the path of the
directory
* doc/_source/codedoc/gui/index.rst: move it from ../gui.rst, add
placeholder table
* doc/_source/codedoc/index.rst: adapt
* doc/_source/codedoc/reduction.rst: fix module name
* doc/_source/gui.rst: begin documentin tasks.yml file
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/central.py: remove debug print
* vdat/gui/fplane.py: same
* vdat/gui/ifu_widget.py: fix python3 bug
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: remove tabs.yml and buttons.yml
* vdat/config/core.py: update accordingly
* vdat/config/entry_point.py: same
* vdat/config/buttons.yml: remove
* tests/test_buttons.py: same
* vdat/config/tabs.yml: same
* vdat/gui/buttons_menu.py: same
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: add multiprocessing arguments
2016-04-27 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: added
* vdat/config/vdat_setting.cfg: move max_delta_zro into the symlink section
and remove config_dirs
* vdat/config/core.py: add config_dirs section when loading the config file
* vdat/libvdat/symlink.py: adapt to the above; add warning when no shot file
is found in a night
* doc/_source/dirstruct.rst: document max_delta_zro
* tests/test_config/test_core.py: adapt tests
* tests/test_libvdat/test_symlink.py: add test for the above warning
2016-04-26 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/dirstruct.rst: update documentation
* doc/_source/launching.rst: same
* vdat/config/vdat_setting.cfg: rename virus_dir to virus_instrument
* tests/conftest.py: same
* tests/test_libvdat/test_symlink.py: same
* vdat/libvdat/symlink.py: update accordingly
* vdat/libvdat/vdat.py: improve description
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: modify symlinking to comply to #1358
* vdat/config/vdat_setting.cfg: add ``virus_dir`` entry to do the above
* tests/data/raw/20151025/virus: add the virus directory to the test data
* tests/conftest.py: adapt to the new directory structure
* tests/test_ci/test_types.py: same
* tests/test_libvdat/test_symlink.py: same
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: add support for multiple raw or night directories
* tests/test_libvdat/test_symlink.py: adapt the tests
2016-04-25 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: adjust docstring
* tests/test_symlink.py: moved to tests/test_libvdat
* tests/test_libvdat/test_vdat.py: added
2016-04-29 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_loggers.py: add some more tests
2016-04-28 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: fix bug in the command loggers
* vdat/libvdat/loggers.py: clean up and fix few bugs
* tests/test_loggers.py: add testing for the above modules
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: push variables to environment in a function, improve
command line arguments
* vdat/config/vdat_setting.cfg: add is_rawdir_night option
* vdat/config/core.py: skip also empty lists when overriding configuration
* tests/test_config/test_core.py: test it
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: bugfix with ConfigParser file names; use mapping
interface to insert a value
* tests/test_config/test_core.py: test the vdat.config.core module
* tests/conftest.py: adapt to changes in the vdat.config.core module
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: some function moved around, override_conf added
* vdat/libvdat/vdat.py: first draft of the new command line interface
* tests/conftest.py: add fixture to clear the internal configuration
dictionary
* tests/test_config: created
* tests/test_config/test_core.py: added
* tests/test_config.py: moved and renamed tests/test_config/test_entry_point.py
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: I forgot to update the release notes
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: if a 100000 parameters in sql queries are allowed,
returns it, otherwise search for the number
2016-04-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: remove SQLITE_MAX_COLUMN and add estimate of
SQLITE_MAX_VARIABLE_NUMER
* vdat/libvdat/symlink.py: use the latter when doing a bulk insert
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/core.py: estimate SQLITE_MAX_COLUMN
* vdat/libvdat/symlink.py: use the estimate when doing a bulk insert
2016-04-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: remove all the multiprocessing stuff and improve
log messages
* vdat/libvdat/vdat.py: no multiprocessing things happening here
* tests/test_symlink.py: update tests to the changes
2016-04-20 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: make the types instance attribute
* vdat/command_interpreter/types.py: fix __getattr__ to play nicely with
pickling
2016-04-20 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_config.py: ignore .svn files
* tests/conftest.py: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_ci/conftest.py: move here some useful fixture
* tests/test_ci/test_signals.py: use the fixture
* tests/test_ci/test_command_interpreter.py: test the core module to 99%
* vdat/command_interpreter/core.py: if no file is collected return; improve
error from subprocess crashing
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: make multiprocessing work
* tests/test_ci/test_command_interpreter.py: add multiprocessing to the
tests
* setup.py: add pytest-xdist dependency for improved coverage
* tox.ini: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/conf.py: use sphinx.ext.todo instead of
pyhetdex.doc.sphinxext.tod
* setup.py: bump sphinx version
* tox.ini: same
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_symlink.py: make sure that no error is raised when running the
symlink of science frames
2016-04-19 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_symlink.py: improve testing the symlink and solve issue #1335
* vdat/config/vdat_setting.cfg: improve regex to match also file names with
decimal seconds
2016-04-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump required pyhetdex version to 0.6.0
* vdat/command_interpreter/core.py: use DeferredResult when running jobs in
single processor mode
* tests/test_ci/test_command_interpreter.py: adapt the tests; test the
filter_section keyword in action; some other little fix
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: move the logging from _run to run
methods
* vdat/command_interpreter/exceptions.py: add CISubprocessError
* tests/test_ci/test_command_interpreter.py: adapt the tests
2016-04-14 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex version to 0.5
* vdat/command_interpreter/core.py: worker created and removed in
CommandInterpreter.run method
* vdat/libvdat/symlink.py: worker created and removed in do_symlink function
* vdat/libvdat/vdat.py: remove workers, as they are handled where they are
used
2016-04-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: get and report exceptions when running
the command
* ReleaseNotes.md: update
* setup.py: bump version to 0.2.4
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version to 0.2.3-post
* vdat/command_interpreter/types.py: fix bug that makes file collection
fails when using regex and directory names containing special characters
2016-04-15 Francesco Montesano <montefra@mpe.mpg.de>
* ReleaseNotes.md: added; track history and help writing the report for the
next release
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_interpreter.rst: renamed, update documentation with
info about multiprocessing
* doc/_source/conf.py: use only pyhetdex latest for intersphinx
* doc/_source/dirstruct.rst: add info about multiprocessing
* doc/_source/executables.rst: expand a bit
* doc/_source/launching.rst: same
* doc/_source/index.rst: reorder some section
* vdat/command_interpreter/core.py: try to enable multiprocessing, fail
miserably
* vdat/gui/buttons_menu.py: pass multiprocessing keywords
* vdat/libvdat/vdat.py: close also command_interpreter worker
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat: rebased on ^/trunk
* setup.py: version 0.2.3-post
* tox.ini: force DISPLAY=:0
2016-04-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: workaround bug with too many multiple insertions; #1345
* vdat/gui/gui.py: brute force implementation of re-symlink from gui #1333;
works, but needs review
2016-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: negative error codes exists and are
failures; fix the bug
2016-04-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: don't close the multiprocessing worker to allow
reusing it; set non existing rawdir to empty string; make public two
functions that might be used from further symlinking
* vdat/libvdat/vdat.py: wait and close the symlink worker
* tests/test_symlink.py: update the tests
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* merged: branches/multiple_objects@169
* setup.py: version set to 0.2.2
* vdat/command_interpreter/core.py: log also the target dir then starting a
task
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: properly symlink science frames with empty OBJECT
fields and add counter to repeated OBJECT from different shots
* tests/test_symlink.py: change test function name. The above changes has
been tested only by hand
* doc/_source/dirstruct.rst: add info about this
2016-04-08 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump version
* vdat/gui/treeview_model.py: add tool tip
* tests/test_tree_view.py: test it
* doc/_source/gui.rst: add some info about tooltip and right-click commands
available on the tree view
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: advance version
* vdat/libvdat/symlink.py: fix multiprocessing while symlinking, now it
works
* vdat/libvdat/vdat.py: little changes because of the above
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/dirstruct.rst: improve
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: add references to zero and cal directories to
every type
2016-04-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: add version to command line
* vdat/libvdat/vdat.py: same
* vdat/gui/gui.py: add version to "About VDAT" menu; add links to
documentation
* vdat/gui/menu.py: pep8
2016-04-06 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: version 0.2.1-pre
* vdat/command_interpreter/types.py: extend the header type to allow
formatting the values
* tests/test_ci/test_types.py: test it
* doc/_source/command_intepreter.rst: document it
2016-04-06 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/core.py: write info log when a command start
running
* vdat/command_interpreter/types.py: add ``returns`` option to plain primary
type
* tests/test_ci/test_types.py: test it
* doc/_source/command_intepreter.rst: document it
2016-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: create a general section and use it in
every command; fix biassubtract fits matching to skip thumbnail fits
2016-04-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: different shots with multiple lamps are now
collected in the same cal directory
* vdat/config/vdat_setting.cfg: add config tell the symlinking which header
keyword has the name of the lamps
2016-04-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: improve error message when regex match
does not work; fix bug with header type and multi-word header keyword
parsing
* tests/test_ci/test_types.py: test this
2016-04-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: fix couple of bugs and remove copied files if
cloning fails
* tests/test_tree_view.py: test 97% of the treeview_model.py (I don't think
I can do more)
2016-03-31 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_tree_view.py: test checkboxes also from the tree view
perspective
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* rebase branches/symlink on top of trunk
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* merge branches/cmd_interpreter_update into trunk
2016-03-30 Francesco Montesano <montefra@mpe.mpg.de>
* rebase branches/cmd_interpreter_update on to of trunk
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: connect the global logger to the VDAT main logger
* vdat/command_interpreter/core.py: fix typo
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: Create a global logger signal
* vdat/command_interpreter/helpers.py: move the old default implementation
here
* vdat/command_interpreter/core.py: use the new global logger
* tests/test_ci/test_signals.py: test the global logger
* tests/test_ci/test_helpers.py: same
2016-03-29 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: update documentation
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: connect some signal in order to have some execution
feedback
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: select directory also by enter key
* tests/test_tree_view.py: test it (it's a workaround for the fact that
there is a bug about testing clicks on tree view)
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: remove ``row`` from ReductionNode, as it's not
used
* tests/test_tree_view.py: same
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: use pytest-catchlog instead of pytest-capturelog
* tox.ini: same
* tests/test_command_interpreter.py: adapt to the change
* tests/test_tree_view.py: same
* tests/test_symlink.py: same; do the symlinking in the test function, not
setup
2016-03-21 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: bugfix
* tests/test_tree_view.py: mark old tests as integration, unit-test 46% of the code
2016-03-17 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/models.py: add ``path`` attribute to the VDATExposures table
* vdat/libvdat/symlink.py: modify accordingly
* vdat/gui/treeview_model.py: correctly propagate VDATExposures information
when cloning and removing directories; fixed bad bug in check/uncheck
* tests/test_tree_view.py: rewrite tests for the tree view, 40% done
2016-03-16 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/fplane.py: Renamed Raw to Exp in Tab descriptions
2016-03-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/signals.py: add CICommandDone signal
* vdat/command_interpreter/core.py: use it
* vdat/command_interpreter/helpers.py: add a receiver that prints out stuff
* tests/test_ci/test_signals.py: test the new signal
* tests/test_ci/test_helpers.py: test the new helper
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* merged with ^/trunk
* tests/test_ci/test_types.py: update number of files
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add @path@ to the @new_file@ type
* tests/test_ci/test_types.py: add the tests
* doc/_source/command_intepreter.rst: document it
2016-03-16 Jan Snigula <snigula@mpe.mpg.de>
* vdat/libvdat/vdat.py: Moved first import of gui till after the
XPA_METHOD was set based on config
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* merged ^/trunk
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_setting.cfg: remove [args] section
* vdat/database/models.py: remove ThumbnailScaling table
* vdat/database/core.py: adapt
* vdat/libvdat/callback.py: removed, as is unused
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/show_fits.py: same
* doc/_source/codedoc/reduction.rst: remove callback
2016-03-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: save the exposure database on files to be able to
rebuild the database from already symlinked directories
* vdat/utilities.py: add utility function for the exposure database dump
* vdat/database/base.py: use public functions to get the data from the
model; provides 3 properties to get some of the data
* vdat/database/models.py: override the data_clean property to skip the
foreign fields
* tests/test_symlink.py: adjust the tests to the changes, test the new parts
* tests/test_tree_view.py: little adjustment
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/fplane.py: update the new type names
* vdat/libvdat/symlink.py: adapt the vdatexposures names
* vdat/gui/buttons_menu.py: show the empty widget if no button is defined
for the type
* vdat/gui/treeview_model.py: get the type names from the database
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: adjust log messages about the type of the
symlinked shot
2016-03-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: proper cleanup when the symlinking fails, small
adjustments.
* tests/conftest.py: add virus*** related fixtures
* tests/test_symlink.py: test to 100% the symlinking
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: export the database to the package level
* vdat/libvdat/symlink.py: make the insertion in the database and the
symlinking more robust to failures
* vdat/utilities.py: add new error
2016-03-08 Francesco Montesano <montefra@mpe.mpg.de>
* merge ^/trunk
* tests/test_symlink.py: adapt the tests
2016-03-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: fix bug in @_find_nearest@, remove optional
argument from @symlink@ function
* pytest.ini: add marker for integration tests
* tests/conftest.py: add night and virus00001 fixtures
* tests/test_symlink.py: add some unit tests
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: allow unknown/nonstandard object type linking
* vdat/config/vdat_setting.cfg: add little explanation about it
* doc/_source/dirstruct.rst: document it
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex requirement to 0.4
* vdat/libvdat/symlink.py: get most of the information for the symlinking
from the file names
* vdat/config/vdat_setting.cfg: put together most of the options needed for
symlinking
* vdat/utilities.py: homogenize exceptions used by symlinking
* doc/_source/dirstruct.rst: update documentation
2016-03-04 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: first part of the new_file type
implementation
* tests/test_ci/test_types.py: test the new_file type
* vdat/command_interpreter/core.py: adapt to the above
* tests/test_ci/test_command_interpreter.py: same
* doc/_source/command_intepreter.rst: adjust documentation
* vdat/config/vdat_commands.yml: deformer 4 is no more
2016-02-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/__init__.py: import get_signal and
get_signal_names at the module level
* vdat/command_interpreter/types.py: fix documentation
* vdat/command_interpreter/utils.py: fix documentation
* tests/test_ci/test_utils.py: add test of id_
* doc/_source/codedoc/command_interpreter/types.rst: fix documentation
2016-02-29 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: set xpa_method to local to avoid test hanging
* vdat/command_interpreter/helpers.py: remove __all__
* vdat/command_interpreter/signals.py: same
* vdat/command_interpreter/types.py: import numpy
* doc/_source/codedoc/command_interpreter/index.rst: split the command
interpreter documentation
* doc/_source/codedoc/command_interpreter/*.rst: same
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/relay.py: renambed signals
* vdat/command_interpreter/signals.py: rewritten to have an behaviour
similar to qt signals; CILogger not reimplemented; some signal missing
* vdat/command_interpreter/__init__.py: remove the import of the relay
* vdat/command_interpreter/core.py: update according to the above changes
* vdat/command_interpreter/helpers.py: provide some function that can be
plugged in
* tests/test_ci/test_helpers.py: added
* tests/test_ci/test_signals.py: added
* doc/_source/command_intepreter.rst: relays -> signals
* doc/_source/codedoc/command_interpreter.rst: moved to
command_interpreter/index.rst
* doc/_source/codedoc/index.rst: index in the codedoc to allow reshaping of
the documentation
* doc/_source/index.rst: same
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add a method that returns a range to
SliceLike
* vdat/command_interpreter/types.py: use SliceLike in primary_loop; remove
_to_number function
* tests/test_ci/test_utils.py: test the range method
* tests/test_config.py: fixture to fix seed of random for repeatability of
tests
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: adapt types to use the new
keyword_regex and do_split = False
* tests/test_ci/test_types.py: add tests for all the secondary keywords
* doc/_source/command_intepreter.rst: fix the documentation
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add string and format customization to
SliceLike
* tests/test_ci/test_utils.py: test it
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* merge trunk
2016-02-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: improve the keyword_regex functionality
* vdat/command_interpreter/utils.py: homogenize doc
* vdat/command_interpreter/core.py: move back types to class properties to be
able to run in parallel (this needs investigation)
* vdat/command_interpreter/exceptions.py: fix typo
* tests/test_ci/test_types.py: test the keyword_regex functionality
* doc/_source/command_intepreter.rst: document the new keyword_regex
2016-02-18 Francesco Montesano <montefra@mpe.mpg.de>
* tests/conftest.py: move some fixture to session scope
* vdat/command_interpreter/core.py: move the types initialisation into the
__init__
2016-02-18 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/utils.py: add SliceLike and copy some utils from
types.py
* vdat/command_interpreter/exceptions.py: import the future and add
CISliceError
* setup.cfg: add doctest
* tests/test_ci/test_utils.py: added
* tests/test_ci/test_command_interpreter.py: moved
* tests/test_ci/test_types.py: added and partially implemented
* doc/_source/codedoc/command_interpreter.rst: add types and utils
documentation
2016-02-19 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore dist
* setup.py: fix some packages minimum version, fix version number
* tox.ini: fix some packages minimum version
* vdat/command_interpreter/types.py: use Yields in documentation
* vdat/gui/fplane.py: same
* vdat/config/entry_point.py: vdat_config without subcommand behave the same
in py2 and py3
* vdat/gui/buttons_menu.py: add fplane_widget property
* vdat/gui/gui.py: mark two methods for possible delection
* tests/test_buttons.py: monkeypatch CommandButton.fplane_widget to test
without selected IFUs
* tests/test_config.py: fix test of empty vdat_config call
* tests/test_tree_view.py: adapt to the new gui structure
* doc/_source/conf.py: cleanup, PEP8 and try to guess the pyhetdex version
to for intersphinx
* doc/_source/install.rst: change link anchor name
2016-02-17 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: add relevant files to package
* pytest.ini: move pytest specif configurations here
* requirements.txt: removed
* setup.cfg: alias pytest=test command, remove pytest specific options
* setup.py: use pytest-runner, remove tox from setup
* tox.ini: remove all spurious dependences that are now reachable with pip,
add extra pypi url
* vdat/__init__.py: get version from the package configuration
* doc/_source/_templates/version.html: add version
* doc/_source/conf.py: add the above version in the side bar
* doc/_source/index.rst: add version number
* doc/_source/install.rst: update installation info
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: check if the target directory exists, even if
the path is not "."
* tests/test_config.py: add a couple of tests for the new features
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/issue1178
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: temporary disable tox_requires to avoid installation issues
* vdat/config/entry_point.py: fix #1178, improve output info and argument
parser
2016-01-27 Jan Snigula <snigula@mpe.mpg.de>
* tests/test_buttons.py: Adapt do changes made to setup_buttons
2016-01-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/gui.py: isolate the FplaneWidget and buttons; isolate the menu;
add ability to resize widgets; move logger widget into logger_widget.py
module
* vdat/libvdat/handlers.py: moved to vdat/gui/logger_widget.py
* vdat/gui/logger_widget.py: add logger widget
* vdat/gui/treeview_model.py: same
* vdat/gui/buttons_menu.py: remove size constraints
* vdat/gui/background.py: typo fixed
2016-01-19 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed missing X for missing IFUs
* vdat/gui/gui.py: Pass fplane widget along
* vdat/gui/buttons_menu.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Pass basename through
* vdat/gui/ifu_widget.py: Same
* vdat/gui/fplane.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed double click
* vdat/gui/fplane.py: New thumbnails work now, zscaling mostly as
well
2016-01-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add qimage2ndarray dependence
* vdat/libvdat/symlink.py: use directory name into vdat exposure table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/treeview_model.py: Changed a signal
* vdat/gui/menu.py: Moved code to gui
* vdat/database/core.py: Added new database table
* vdat/config/tabs.yml: Updated regexes
* vdat/gui/fplane.py: Restructured
* vdat/gui/ifu_widget.py: Moved to direct fits file loading
* vdat/database/models.py: Added new database table
* vdat/gui/gui.py: Restructured
* vdat/gui/buttons_menu.py: Changed yield behaviour
* vdat/libvdat/symlink.py: Added new database table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/__init__.py: Bumped version to 0.1.0
2015-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: load it also if pyds9 fails to import; add
notification about the import failure; add error box if
pyds9 fails to connect to a ds9 session
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added starextract
* vdat/config/buttons.yml: same
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add is_regex key to primary keywords;
when getting file names match add the full path to the regex/wildcard
* doc/_source/command_intepreter.rst: document is_regex
* vdat/config/vdat_commands.yml: add detection step; fix file names and
regex in various commands; streamline some keyword values
* vdat/config/extra_files/IFUcen_HETDEX.txt: added
* vdat/config/buttons.yml: add
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .coverage files, but no .coveragerc
* .coveragerc: added
* doc/_source/contributions.rst: add more info about tox
* doc/_source/index.rst: add link to coverage report
* requirements.txt: remove numpy
* scripts/remove_empty_coverage.sh: added
* scripts/symlink_pyqt.sh: call the python script with the full path to
``scripts`` directory
* setup.cfg: remove coverage configurations
* tests/test_buttons.py: fix test bug when ``commands`` is a string
* tox.ini: build the documentation and coverage report
2015-11-24 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: aesthetic change
* vdat/command_interpreter/core.py: raise an CIRunError when the return
value is not null
* vdat/command_interpreter/types.py: add possibility to manipulate the
return value of the ``loop`` primary key
* doc/_source/command_intepreter.rst: document it
* vdat/command_interpreter/utils.py: added
* vdat/config/buttons.yml: add the button to create the dither file
* vdat/config/extra_files/dither_positions.txt: added
* vdat/config/vdat_commands.yml: add the instruction to create the dither
files
* vdat/gui/buttons_menu.py: fix documentation typo
2015-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: change master* names to values compatible
with cure's DitherEnvironment, add symlink command to create better file
names for the science frames
* vdat/config/buttons.yml: add command for the symlinking
use ``vdat_config copy`` to update the configuration files
2015-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: set xpa_method in the environment to local by
default
* vdat/config/vdat_setting.cfg: add option to modify the xpa_method and
kdescription
2015-10-23 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new tabs to display the products
of the new reduction buttons
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: more info about the selected IFU given
* tests/data/raw/20120301: replaced with new simulations
* tests/test_command_interpreter.py: adapt to it
* tests/test_symlink.py: same
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: pass the selected ifus to the command
interpreter
* vdat/gui/fplane.py: PEP8
* vdat/config/vdat_commands.yml: add the ``filter_selected`` keyword;
improve match only fits filename starting with number
* tests/test_buttons.py: test ifu selection
2015-10-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: put commands on the queue
* vdat/gui/queue.py: adapt the queue to accept and return CommandInterpreter
instances; create set/get_queue functions
* vdat/gui/background.py: set/get_background functions; adapt the
background object to the above; fix bugs
* vdat/gui/__init__.py: adapt to the above, remove callback
* vdat/gui/relay.py: log also exception
* vdat/gui/gui.py: fix some docstring
* vdat/command_interpreter/core.py: fix a bug with template and exe
substitution
* vdat/command_interpreter/types.py: match the file name at the end of a
string
* vdat/libvdat/loggers.py: setup the loggers for the commands
* vdat/libvdat/vdat.py: use it
* vdat/config/core.py: better error handling when getting configurations
* vdat/config/extra_files/*: added
* vdat/config/entry_point.py: copy also the extra files
* vdat/config/vdat_commands.yml: fix bugs and adjust paths
* vdat/config/vdat_setting.cfg: fix the command logger configuration entries
* tests/conftest.py: force copying the configuration to avoid troubles
* tests/test_buttons.py: finish the testing of the buttons
* tests/test_command_interpreter.py: test alias replacing
* tests/test_config.py: adapt the tests to the changes due to extra
configuration files in subdirectories
2015-10-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: move button to custom class, create
CommandInterpreter instances when pushing the buttons and report problems
with a dialog
* vdat/gui/treeview_model.py: pep8
* vdat/command_interpreter/exceptions.py: fix bug with CIExeError
* vdat/config/vdat_commands.yml: masterarc needs an alias
* vdat/config/vdat_setting.cfg: add comments about redux_dirs
* vdat/database/models.py: PEP8
* vdat/libvdat/vdat.py: inject CUREBIN into the path
* tests/test_buttons.py: add a test clicking the buttons
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: rewrite the creation of the buttons
* vdat/gui/gui.py: use the new button menu
* vdat/gui/treeview_model.py: connect the button menu to switch set of
buttons when changing directory; use a signal to change the central and
button panels
* vdat/config/buttons.yml: configuration file driving the button creation
* vdat/config/vdat_setting.cfg: add it
* vdat/config/core.py: add it to the files to load
* vdat/config/entry_point.py: add it to the files to copy
* vdat/config/vdat_commands.yml: little formatting
* tests/test_buttons.py: test the button widget; for now test that is
correctly created and that the switching happens correctly
* tests/test_command_interpreter.py: make sure to get a file for the ifu 34
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added
* vdat/config/vdat_setting.cfg: add the above file
* vdat/config/core.py: load vdat_commands.yml
* vdat/config/entry_point.py: copy it; don't overwrite existing files by
default
* tests/test_config.py: test the vdat_config command
2015-10-14 Francesco Montesano <montefra@mpe.mpg.de>
Tests run for python 2.7, 3.4 and 3.5
* tests/test_command_interpreter.py: test also part of the run method. Still
to test if exceptions are handled correctly
* vdat/command_interpreter/core.py: fix bugs and improve error handling and
logging
* vdat/command_interpreter/relay.py: fix bugs with progress relay
* vdat/command_interpreter/types.py: fix bugs and don't cover template
functions
* MANIFEST.in: add readme and requirement file to avoid tox building
failures
* requirements.txt: add numpy to avoid scipy building failures
* setup.py: add new_file entry point
2015-10-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Aligned the scale combobox left to make it prettier
* vdat/libvdat/show_fits.py: replaced another call to astropy getdata with
a ``with open(fn, 'rb')`` to avoid the astropy bug
* vdat/gui/ifu_viewer.py: "Send to ds9" menu now generated dynamically when the
"ds9" menu is clicked. Only files from the currently
selected tab are sent to "ds9" when the menu item
is selected.
2015-10-13 Daniel Farrow <dfarrow@mpe.mpg.de>
* requirements.txt: added pyds9 repo
* setup.py: added pyds9 repo
* vdat/gui/ifu_viewer.py: wrapped get_header in with open(f) to avoid the
astropy bug of not closing files.
2015-10-13 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: group together entripoints
* vdat/command_interpreter/core.py: some bug fix, use execute types, some
changes with the exception handling
* vdat/command_interpreter/exceptions.py: rename some exception
* vdat/command_interpreter/types.py: add execute type and implement all the
necessary types
* tests/test_command_interpreter.py: test most of the command interpreter
initialisation
* doc/_source/command_intepreter.rst: extend documentation
* vdat/config/ci_documentation.yml: removed
2015-10-12 Daniel Farrow <dfarrow@mpe.mpg.de>:
* vdat/gui/fplane.py: moved update IFUs from init to
change_focal_plane, to avoid the
thumbnail generator looking for an
uninitialized fplane
* vdat/gui/ifu_viewer.py: Added option to select frames
and send them to a new or existing
ds9 session
* setup.py: Added pyds9 to install requires
2015-10-09 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/database/core.py: added a table to store image brightness scaling parameters
* vdat/database/models.py: as above
* vdat/gui/fplane.py: Added a section to control the brightness scaling of the thumbnails in the
focal plane. User can select scaling per fits file, or a global
scaling (which can be user specified) for the whole focal plane.
The Fplane class in now its own QWidget.
* vdat/gui/gui.py: Added comments
* vdat/gui/ifu_viewer.py: Suppresses warnings from Ginga ;-)
* vdat/gui/ifu_widget.py: IFU viewers are parented to the main window, so
they can persist when the user changes fplane
* vdat/libvdat/show_fits.py: Casts the number of rows to an integer explicitly. Connects
to a database to find, or set, global brightness
scaling parameters when required for the thumbnails. Uses a
file object with astropy getdata in order to avoid an
astropy bug.
2015-10-09 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_command_interpreter.py: first tests added
* vdat/command_interpreter/core.py: better exceptions
* vdat/command_interpreter/exceptions.py: same
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bootstrap setuptools if it's not installed
* ez_setup.py: bootstrap module
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: separate the loading from the getting of the
configurations: allow more homogeneous handling of the configuration files
* vdat/config/vdat_setting.cfg: comment a bit more
* vdat/config/entry_point.py: move here the implementation of the
``vdat_config`` executable; use pkg_resources to get copy the
configuration files
* setup.py: update the entry point
* vdat/gui/fplane.py: use the new configuration interface; PEP8
* vdat/gui/gui.py: same
* vdat/gui/ifu_viewer.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/queue.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* tests/conftest.py: same
* doc/Makefile(livehtm): add vdat/config to the tracked directories
* doc/_source/codedoc/config.rst: add code documentation
* doc/_source/index.rst: same
2015-10-07 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new configuration for the upgraded thumbnail
creation (see below)
* vdat/gui/background.py: Immediate background thread waits for last job to stop
before running the next job. Toggle system
for the isImmRunning flag removed as it depended
on the main thread being available. Now the
immediate background thread controls the isImmRunning
flag is controlled by the Worker in the thread.
* vdat/gui/fplane.py: Waits for jobs on immediate thread to stop, stops
QObjects still in use from being deleted.
* vdat/gui/gui.py: Handles the uses clicking the close button, now waits
for running jobs on the immediate thread to end. This
stops seg faults from a sudden close.
* vdat/gui/ifu_widget.py: Fixes a bug by removing the auto-regeneration
of corrupted thumbnails. Simply dumps them instead.
* vdat/libvdat/show_fits.py: Based on options in tabs.yml, create a grid of
thumbnails for the IFU widget with entries
for the different channels, amps.
2015-10-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/core.py: Added load_yaml
* vdat/config/tabs.yml: Moved tabs subsections to be direcly under
the different node types (on the same level as
the ifu_viewer and main subsections).
* vdat/gui/fplane.py: Added tools to save and generate focal
plane panels. What is displayed as a thumbnail
is decided by the user via a combo box (i.e. the raw fits, fibre-collapsed
images, arcs, flats etc.). Defaults are set in the tabs.yml
* vdat/gui/gui.py: Central panel now generated dynamically
rather than at initialization.
* vdat/gui/ifu_viewer.py: Moved load_yaml to vdat.config
* vdat/gui/relay.py: Added 'change_centralPanel' signal.
* vdat/gui/treeview_model.py: Rather than prompting an update of the IFUs,
selecting a node causes a whole new
central panel to be created
* vdat/libvdat/show_fits.py: Now show_thumbnails takes a config object
with a regex specifying the file type to
display
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add yaml
* vdat/libvdat/loggers.py: reorganize the loggers code to remove repetitions
* vdat/config/vdat_setting.cfg: adapt the configuration to this
* vdat/libvdat/vdat.py: create appropriate ginga logger
* vdat/gui/ifu_viewer.py: PEP8 frenzy; use ginga logger
* doc/_source/codedoc/reduction.rst: add logging documentation
* doc/_source/gui.rst: fix warning
* doc/_source/index.rst: add todo about logging
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter: added
* vdat/command_interpreter/__init__.py: import interface at module level
* vdat/command_interpreter/core.py: implement the interpreter
* vdat/command_interpreter/exceptions.py: define custom exceptions
* vdat/command_interpreter/helpers.py: will contain some helper function
* vdat/command_interpreter/relay.py: relay-like interface for communication
between the interpreter and the world
* vdat/command_interpreter/types.py: define classes to deal with types
* vdat/config/ci_documentation.yml: very wordy yaml file to use for
documentation purposes
* doc/Makefile: add command_interpreter for auto-compilation
* doc/_source/codedoc/command_interpreter.rst: added
* doc/_source/command_interpreter.rst: added
* doc/_source/index.rst: add the above documents
* doc/_source/codedoc/reduction.rst: remove reduction module
* vdat/libvdat/callback.py: get logger in method
2015-09-30 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: configuration file that decides what is
displayed in different panels
* vdat/config/vdat_setting.cfg: Add tabs.yml to config file
* vdat/gui/background.py: Worker now passes **kwargs and *args
* vdat/gui/ifu_viewer.py: Read in tabs.yml, creates tabs in the
viewer based on it.
* vdat/gui/ifu_widget.py: When doduble clicked and no
directory selected, ask the user to select
one
* vdat/gui/treeview_model.py: Passes the type of directory selected
to show_fits
* vdat/libvdat/loggers.py: Added a generic logger class to store
Ginga loggers
* vdat/libvdat/reduction.py: ifuid -> ihmpid when deriving filenames
* vdat/libvdat/show_fits.py: Saves the type of directory selected in the IFU object
this might not be ideal
* doc/_source/gui.rst: Added some GUI documentation
* vdat/config/core.py: Added tabs.yml to CONFIG_FILES
2015-09-23 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore build and .eggs directories
* setup.cfg: same
* setup.py: create setuptools command @tox@ to fetch tox, if necessary, and
run tox
* scripts/symlink_pyqt.sh: don't print error if pyqt4 is not symlinked
* doc/_source/contributions.rst: added; describe testing via tox and py.test
* doc/_source/index.rst: add the above
* doc/_source/install.rst: update dependency list
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: make the gui tests succeed on tox too
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: added
* setup.cfg: ignore .tox when discovering tests
* svn:ignore: add .tox directory
* MANIFEST.in: fix config directory name change
* scripts/symlink_pyqt.{sh,py}: symlink pyqt4 and sip into the tox virtual
enviroments
* vdat/libvdat/symlink.py: do not try to commit if the redux directory is
empty
* tests/conftest.py: initialise the main logger
2015-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .cache directory
* setup.py: minimum pytest-qt version; fix console_scripts module name
* tests/conftest.py: no need to get for fixtures to get the configuration
and to start the database
* tests/test_symlink.py: clean the loggers
* tests/test_tree_view.py: no need to start database;
* vdat/config/vdat_setting.cfg: disable multiprocessing by default; use only
one max delta time for calibration
* vdat/database/base.py: property to get data as dictionary
* vdat/database/core.py: init get directory where the database should go;
fix bug with @connect@
* vdat/database/models.py: new table columns, method to create the path and
merge multiple rows into one
* vdat/libvdat/symlink.py: initialize, fill and update the database when doing the
symlinking
* vdat/gui/treeview_model.py: build the view from the database
* vdat/libvdat/vdat.py: don't initialize the database
* vdat/utilities.py: merge dictionaries function added; modify some errors
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* *py: use the __future__
* vdat/database/__init__.py: split into sub modules and import only the
"public" interface
* vdat/database/base.py: define the database and the base model
* vdat/database/core.py: initialise the database and deal with the
connection
* vdat/database/models.py: custom models are implemented here
* vdat/database/old_database.py: removed
* vdat/gui/treeview_model.py: use floor with datetime.timedelta
* vdat/libvdat/symlink.py: same
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config: renamed from vdat/vdat_config
* vdat/config/__init__.py: import only "public" interface
* vdat/config/core.py: renamed from vdat/libvdat/config.py and adapted
* setup.py: add ginga, adapt ``vdat_config`` entry point to new
directories
* vdat/gui/fplane.py: use new config subpackage
* vdat/gui/ifu_widget.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* vdat/gui/relay.py: instantiate ``SignalClass`` inside a function and save
in a local list to allow for testing
* vdat/gui/__init__.py: use the new implementation
* vdat/gui/ifu_viewer.py: same (plus PEP8)
* vdat/gui/gui.py: same and config subpackage
* vdat/gui/queue.py: same
* vdat/libvdat/fits.py: same
* vdat/utilities.py (config_directory): moved to vdat/config/core.py
* tests/conftest.py: adapt to the above changes, use pyqt4 v2 api, add
fixtures to start the database and to clear lists and dictionaries at the
end of a test to allow reuse
* tests/test_tree_view.py: use new fixtures
2015-09-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: dialog confirming deletion; fix bug with
indexing
2015-09-11 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: corrected
* doc/_source: created; conf.py, the _template and _static directories and
all the rst files has been moved into this directory
* doc/Makefile: adapted to the changes
* doc/_source/*: small improvements
* setup.py: add vdat_config entry point
* vdat/libvdat/config.py: implement ``vdat_config copy`` command
* vdat/utilities.py: returns the configuration directory
* vdat/libvdat/callback.py: make the documentation happy
2015-09-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: add extra fields in preparation for issues #1048
#1049 and #1053
* vdat/gui/treeview_model.py: add context menu and handle clone and remove
actions as per #1048, adapt the building of the tree view to account for
this
* vdat/libvdat/symlink.py: add ``is_clone`` entry to the shot_file and
ignore cloned directories when re-symlinking
* vdat/utilities.py(write_to_shot_file): possible to chose between write
and append mode when writing
* vdat/gui/background.py(Background): rename ``cls`` to ``self`` for
consistency
2015-09-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add peewee dependency
* vdat/libvdat/database.py: moved to vdat/database/__init__.py
* vdat/database/__init__.py: implement the database table associated
with the entries in the tree view
* vdat/database/old_database.py: keep it for reference, it will be
eventually removed
* vdat/gui/treeview_model.py: populate the database
* vdat/utilities.py: move here from libvdat/symlink.py the functions to
read and write the shot files
* vdat/libvdat/symlink.py: modify accordingly
* vdat/libvdat/vdat.py: initialise the database
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py(ModifyableListWidget.keyPressEvent): for keys other than
the selected one, call the parent class implementation; no return
* vdat/gui/gui.py: move the buttons setup to buttons_menu module
* vdat/gui/buttons_menu.py: same, set buttons max size to 400
* vdat/gui/fplane.py: the layout is an attribute, no need for a function
* vdat/gui/treeview_model.py: set max width for the panel to 400
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: save ticked directories into the configuration
* vdat/libvdat/reduction.py: adapt to the new directory structure
* vdat/libvdat/loggers.py: set up the cure task loggers
* vdat/libvdat/cure_interface.py: move the logger setting up to loggers.py
* vdat/vdat_config/vdat_setting.cfg: add cure task loggers options
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/background.py: moved into vdat/gui as it uses all qt stuff
* vdat/gui/background.py(Background): make it a proper class, initialising
the threads with a parent to get rid of qt warnings about objects not
owned by anything
* vdat/gui/background.py(get_background): create and/or return a Background
instance; once created it returns always the same instance
* vdat/gui/__init__.py: use get_background
* vdat/gui/treeview_model.py: same
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: PEP8
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/relay.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/background.py: same
* vdat/libvdat/show_fits.py: same
* vdat/gui/ifu_widget.py: same, plus variable names fixed
* vdat/gui/menu.py: PEP8, move the action for the queue and all connections
to queue.py
* vdat/gui/queue.py: implement here the queue action and connect the signals
properly
2015-08-28 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Added ginga to requires
* vdat/gui/__init__.py: set the QString and QVariant types for ginga compatibility
* vdat/gui/ifu_viewer.py: Tells ginga to use pyqt4
* vdat/libvdat/callback.py: import show_fits instead of create_thumbnails (bug 1037)
* vdat/libvdat/show_fits.py: Checks if any files are found before creating thumbnail
2015-08-25 Francesco Montesano <montefra@mpe.mpg.de>
* doc: ignore build directory
* doc/codedoc/gui.rst: move the treeview model here
* doc/codedoc/reduction.rst: remove the treeview model
* doc/conf.py: set matplotlib backend to agg to avoid pyqt4/5 conflicts
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: A Ginja based panel that
displays a zoomable, pan-able
colourscale-able image of a FITs file,
with an added display for the header
* vdat/gui/ifu_widget.py: Launches and IFUViewer on double-click
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Added yield all IFUs function,
added a flag that when set stops
looping over IFUs (to stop
jobs more cleanly)
* vdat/gui/gui.py: Added import to flag above (for later)
* vdat/gui/ifu_widget.py: Test to see if a thumbnail
image of IFU is corrupted, if yes
try to regenerate
* vdat/gui/relay.py: Added parent argument ot initialisation
* vdat/gui/treeview_model.py: Calls function to show postage
stamps of FITs images when
a directory is selected.
* vdat/libvdat/background.py: Added a run_now function, and an
extra thread for it. This is designed
for important tasks to jump the queue.
* vdat/libvdat/callback.py: Added a comment
* vdat/libvdat/show_fits.py: New module which generates PNG images
of the detector FITs files
2015-08-20 Daniel Farrow <dfarrow@mpe.mpg.de>
* doc/command_line_tool.rst: Draft specifiation for command line tool
* doc/index.rst: Added link to above
* vdat/gui/fplane.py: Moved 'yield_selected_ifus' here, added select all and
select none functions
* vdat/gui/ifu_widget.py: Exists and selected are now properties
* vdat/gui/menu.py: Add a selection menu with 'select all' and 'select none'
* vdat/libvdat/reduction.py: Removed 'yield_selected_ifus' from here
2015-08-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Now sets the parent of the signal relay
* vdat/gui/gui.py: Renamed MainWindow -> mainWindow as it's not a class
* vdat/gui/menu.py: Sets up the new menu bar at the top of the GUI
* vdat/gui/queue.py: Queue window can be hidden and revealed from the new menu bar
* vdat/gui/relay.py: Uses dictionaries to store signals
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: the main frame must be saved in a variable, even if
it's not used, in the qt app to work properly
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
As now it's not possible to run more than one test running the gui at a
time, as it crashes. This is very likely due to the fact that there are qt
objects around without a parent, and this confuses the qtbot
* setup.py: add pytest-qt dependency
* tests/conftest.py: use matplotlib agg backend to avoid pyqt4/5 clashes.
Add fixtures and move some common code away from test_symlink
* tests/test_symlink.py: adapt to the above
* tests/test_tree_view.py: test 93% of the tree view
* vdat/gui/__init__.py: isolate the code making the main and queue window
to allow setting up tests
* vdat/libvdat/handlers.py: add parent widget in the handler
* vdat/gui/gui.py: adapt to the above
* vdat/gui/treeview_model.py: set the ReductionTreeviewModel as child of the
ReductionQTreeView
* vdat/libvdat/background.py: add a todo
2015-08-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: moved to gui
* vdat/libvdat/treeview_model.py: create the tree view from the redux
directory structure, make only directory containing the fits file
selectable, make calibration directories checkable to allow select
specific calibrations during reduction.
* vdat/gui/buttons_menu.py: add temporary button to test the tree view
model. Will be removed once the other buttons will be reimplemented
* vdat/gui/gui.py: move the creation of the tree view to the proper module;
add the above button
* vdat/libvdat/reduction.py: fixed bug with missing configuration section
2015-08-04 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* .: ignore coverage output files and directories
* setup.py: convert to pytest
* setup.cfg: same
* vdat/libvdat/symlink.py: make rerun symlink more robust and write a file
"SHOT_FILE" with all the relevant informations of the symlinked shot as a
json
* vdat/utilities.py: add json serialisation and de-serialisation of datetime
instances
* vdat/vdat_config/vdat_setting.cfg: add max_delta_zro option
* vdat/gui/__init__.py: don't import symlink module
* tests: add tests
* tests/data/raw: add fits files for testing: zro, sci, flt, arc shots, 3
IFUs and 3 exposures each
* tests/conftest.py: add fixtures
* tests/test_symlink.py: test the symlinking (edge cases still missing)
2015-07-30 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* vdat/libvdat/symlink.py: almost completely rewritten; data symlinked at
the shot level; calibration frames divided in subdirectories; flat and arc
collected in the same 'cal' directory
* vdat/libvdat/vdat.py: symlink done before calling the gui; multiprocessing
set up
* vdat/utilities.py: custom exceptions added
* vdat/vdat_config/vdat_setting.cfg: add raw directory, add multiprocessing,
add maximum time delta to use when grouping flat and arc frames
* vdat/libvdat/loggers.py: set logger level to debug
* vdat/gui/__init__.py: don't do the symlink here
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/loggers.py: created moving code out of vdat.py and
reorganizing it
* vdat/libvdat/vdat.py: updated according to the above
* vdat/vdat_config/vdat_setting.cfg: more logging configuration given
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add six dependency
* vdat/gui/__init__.py: PEP8
* vdat/gui/buttons_menu.py: PEP8 and documentation fixes
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/relay.py: same
* vdat/gui/queue.py: same, plus using self instead of parent class method
* vdat/libvdat/background.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/config.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/database.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/handlers.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/treeview_model.py: same
* vdat/libvdat/vdat.py: same
* vdat/utilities.py: same
2015-07-02 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/libvdat/reduction.py: Added routine for creating error files with photon
noise, extracting the data region of the files
and joining the amplifiers
* vdat/vdat_config/vdat_setting.cfg: Added options for the new commands
* vdat/gui/gui.py: Added buttons for the new routines
2015-07-01 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/gui.py: Switched from file browser to a custom model in the treeview widget. Currently
it just gives a hard-coded example of the new custom model's
capabilities.
* vdat/libvdat/treeview_model.py: Added a customisable model for the treeview widget to
use. It can show different reduction steps in a
branching hierachy.
2015-06-16 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Create a queue
* vdat/gui/buttons_menu.py: Added comments
* vdat/gui/fplane.py: Got rid of the unneccessary extra IFU type
now there is just one type defined in
ifu_widget
* vdat/gui/gui.py: Added a button
* vdat/gui/ifu_widget.py: Turned into a pyhetdex IFU type, added
methods to update the picture in the IFU
to reflect whether the IFU has input files
or not.
* vdat/gui/queue.py: A queue window, which keeps track of the
commands a user has requested and runs
them when they reach the head of the queue. The
user can also delete these commands.
* vdat/gui/static/unreduced.png: New image to differentiate
between IFUs with and without input files
* vdat/libvdat/background.py: Uses the queue
* vdat/libvdat/callback.py: Uses the queue
* vdat/libvdat/reduction.py: New function the subtract masterbias and overscan from files
* vdat/libvdat/symlink.py: Tells the IFU object it exists if it finds FITs files from it
Updated documentation and installation files:
* doc/codedoc/gui.rst
* doc/codedoc/reduction.rst
* doc/index.rst
* doc/queue.rst
* requirements.txt
* MANIFEST.in
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
* MANIFEST.in: Added fplane.txt file, so it is also installed!
* doc/install.rst: Tweaked documentation
* doc/launching.rst: As above
* requirements.txt: Added command to install pyhetdex
* vdat/libvdat/vdat.py: Added check to see if config file exists
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
Added Sphinx documentation (under doc/), minor
modifications to comments
* AUTHORS
* LICENSE
* README.md: Added new dependencies
* doc/: Added documentation here
* vdat/gui/gui.py
* vdat/libvdat/reduction.py
2015-06-11 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/buttons_menu.py: Fixed python3 compatibility by using String instead of QString
* vdat/gui/fplane.py: Added a custom IFU class with a variable indicating if the IFU is selected
* vdat/gui/gui.py: Added a create masterbias button
* vdat/gui/ifu_widget.py: Made the widget selectable, add blue frame when not selected
* vdat/libvdat/cure_interface.py: Now tells the worker to clear jobs, so the progress bar is refreshed
* vdat/libvdat/reduction.py: Added create master bias function, subtract overscan now only works on selected IFUs
* vdat/libvdat/symlink.py
* vdat/vdat_config/vdat_setting.cfg: Added a format statement specifying the VIRUS filename structure
2015-06-01 Daniel Farrow <dfarrow@mpe.mpg.de>
Started using the multiprocessing tools
from pyhetdex to run jobs in parallel.
Implemented a progress bar to check how
far a job has gone. Moved logs to a
user specified log directory. A few improvements
in commenting and other minor things.
* setup.py: Added APlpy to list of required Python modules
* vdat/gui/buttons_menu.py: Now supports displaying a tooltip
* vdat/gui/fplane.py: Improved comments
* vdat/gui/gui.py: Got rid of silly buttons like "Make Coffee"
* vdat/gui/relay.py: A module to send signals to the GUI (i.e. update progress bar etc)
* vdat/libvdat/background.py
* vdat/libvdat/cure_interface.py: Functions to wrap around CURE, runs in parallel
* vdat/libvdat/fits.py: Uses multiprocessing
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Uses cure_interface
* vdat/libvdat/symlink.py: Tells the user when symlinking is done
* vdat/libvdat/vdat.py: Set up log directory
* vdat/vdat_config/vdat_setting.cfg: Added log directory and changed wildcards to conform
to pyhetdex:r74
2015-05-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: update ``scan_dirs`` after pyhetdex:r74. PEP8
and numpydoc compliant
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
A few minor modifications to style based on
Francesco's comments. Added a subtract overscan
routine. Switched to using file names rather
than a database when running commands. Added
a module to make it easier for the code
to signal the GUI.
* vdat/gui/buttons_menu.py
* vdat/gui/fplane.py
* vdat/gui/gui.py
* vdat/gui/ifu_widget.py
* vdat/gui/relay.py: Module to relay signals to the GUI
* vdat/libvdat/background.py
* vdat/libvdat/callback.py
* vdat/libvdat/database.py
* vdat/libvdat/fits.py
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Added function to subtract overscans
* vdat/libvdat/symlink.py: Tells GUI to update file browser panel when symlink done
* vdat/vdat_config/vdat_setting.cfg: Added some wildcards to find files
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
Added an internal sqlite3 database to keep track
of what files are available. Created a background
thread with which to run things so they don't lock
up the GUI when they're running. Implemented
a simple code which loops through all fits files
and converts them to PNGs.
* vdat/gui/__init__.py: Moved call to symlink to here
* vdat/gui/gui.py: Added a (currently disabled) progress bar
* vdat/libvdat/background.py: run jobs in a separate thread
* vdat/libvdat/callback.py: Added calls to Background
* vdat/libvdat/database.py: Internal database to keep track of files
* vdat/libvdat/fits.py: Implements a simple fits -> PNG conversion
* vdat/libvdat/handlers.py: Now uses signals to interface with GUI to be thread safe
* vdat/libvdat/symlink.py: Can read rawdir from config file
* vdat/libvdat/vdat.py: Moved symlink from here.
2015-05-18 Daniel Farrow <dfarrow@mpe.mpg.de>
Switched to using PyQt4 and fixed python 2.7
compatibility. Added symlink function as
described by issue #821
* vdat/gui/__init__.py: ... switched to PyQt4
* vdat/gui/buttons_menu.py: PyQt4
* vdat/gui/fplane.py: PyQt4
* vdat/gui/gui.py: PyQt4
* vdat/gui/ifu_widget.py: PyQt4
* vdat/libvdat/callback.py: Function factory to return functions to connect to
button clicks. Currently just returns a function that prints "Not implemented"
* vdat/libvdat/config.py: Read options to do with logging
* vdat/libvdat/handlers.py: PyQt4
* vdat/libvdat/symlink.py: symlinks files from raw to redux directory (issue 821)
* vdat/libvdat/vdat.py: Sets up logging, switched to PyQt4
* vdat/vdat_config/vdat_setting.cfg: Added options to do with logging
2015-05-14 Daniel Farrow <dfarrow@mpe.mpg.de>
Added a new handler for the logger which
prints colour-coded messaged to the text
panel of the VDAT GUI
* libvdat/handler.py: Created a new Handler for logging
* gui/gui.py: Attached the QTextEdit panel to the Handler
* gui/__init__: Prints a welcome message using the new logger
2015-05-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Modified to point to vdat.py:main()
* libvdat/__init__.py: added (empty file)
* libvdat/vdat.py: added, reads in config file, starts GUI
* vdat_config/vdat_settings.cfg: added
* vdat_config/fplane.txt: added
* gui/fplane.py: Reads in fplane.txt and displays it
* gui/ifu_widget.py: Added. Derives QLabel, shows the IFU
* gui/ifu_widget.py: Includes a custom handler for resize events
* gui/resources/empty.png: Copied from Quicklook
* MANINFEST.in: Read by pip to tell it to install the empty.png file
2015-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* gui: moved to vdat/gui
* README.md: some basic installation info added
* setup.py: install vdat package and create ``vdat`` executable
* setup.cfg: setup configuration
* vdat/__init__.py: version number
* vdat/gui/buttons_menu.py: absolute import, some PEP8
* vdat/gui/fplane.py: absolute import, some PEP8
* vdat/gui/gui.py: absolute import, some PEP8
* vdat/gui/__init__.py: same, isolate main function
* svn:ignore: egg dir added
2016-02-26 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bump pyhetdex requirement to 0.4
* vdat/libvdat/symlink.py: get most of the information for the symlinking
from the file names
* vdat/config/vdat_setting.cfg: put together most of the options needed for
symlinking
* vdat/utilities.py: homogenize exceptions used by symlinking
* doc/_source/dirstruct.rst: update documentation
2016-02-19 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore dist
* setup.py: fix some packages minimum version, fix version number
* tox.ini: fix some packages minimum version
* vdat/command_interpreter/types.py: use Yields in documentation
* vdat/gui/fplane.py: same
* vdat/config/entry_point.py: vdat_config without subcommand behave the same
in py2 and py3
* vdat/gui/buttons_menu.py: add fplane_widget property
* vdat/gui/gui.py: mark two methods for possible delection
* tests/test_buttons.py: monkeypatch CommandButton.fplane_widget to test
without selected IFUs
* tests/test_config.py: fix test of empty vdat_config call
* tests/test_tree_view.py: adapt to the new gui structure
* doc/_source/conf.py: cleanup, PEP8 and try to guess the pyhetdex version
to for intersphinx
* doc/_source/install.rst: change link anchor name
2016-02-17 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: add relevant files to package
* pytest.ini: move pytest specif configurations here
* requirements.txt: removed
* setup.cfg: alias pytest=test command, remove pytest specific options
* setup.py: use pytest-runner, remove tox from setup
* tox.ini: remove all spurious dependences that are now reachable with pip,
add extra pypi url
* vdat/__init__.py: get version from the package configuration
* doc/_source/_templates/version.html: add version
* doc/_source/conf.py: add the above version in the side bar
* doc/_source/index.rst: add version number
* doc/_source/install.rst: update installation info
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/entry_point.py: check if the target directory exists, even if
the path is not "."
* tests/test_config.py: add a couple of tests for the new features
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* : merge ^/trunk into ^/branches/issue1178
2016-01-29 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: temporary disable tox_requires to avoid installation issues
* vdat/config/entry_point.py: fix #1178, improve output info and argument
parser
2016-01-27 Jan Snigula <snigula@mpe.mpg.de>
* tests/test_buttons.py: Adapt do changes made to setup_buttons
2016-01-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/gui.py: isolate the FplaneWidget and buttons; isolate the menu;
add ability to resize widgets; move logger widget into logger_widget.py
module
* vdat/libvdat/handlers.py: moved to vdat/gui/logger_widget.py
* vdat/gui/logger_widget.py: add logger widget
* vdat/gui/treeview_model.py: same
* vdat/gui/buttons_menu.py: remove size constraints
* vdat/gui/background.py: typo fixed
2016-01-19 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed missing X for missing IFUs
* vdat/gui/gui.py: Pass fplane widget along
* vdat/gui/buttons_menu.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: Pass basename through
* vdat/gui/ifu_widget.py: Same
* vdat/gui/fplane.py: Same
2016-01-18 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/ifu_widget.py: Fixed double click
* vdat/gui/fplane.py: New thumbnails work now, zscaling mostly as
well
2016-01-18 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add qimage2ndarray dependence
* vdat/libvdat/symlink.py: use directory name into vdat exposure table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/gui/treeview_model.py: Changed a signal
* vdat/gui/menu.py: Moved code to gui
* vdat/database/core.py: Added new database table
* vdat/config/tabs.yml: Updated regexes
* vdat/gui/fplane.py: Restructured
* vdat/gui/ifu_widget.py: Moved to direct fits file loading
* vdat/database/models.py: Added new database table
* vdat/gui/gui.py: Restructured
* vdat/gui/buttons_menu.py: Changed yield behaviour
* vdat/libvdat/symlink.py: Added new database table
2015-12-17 Jan Snigula <snigula@mpe.mpg.de>
* vdat/__init__.py: Bumped version to 0.1.0
2015-11-30 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: load it also if pyds9 fails to import; add
notification about the import failure; add error box if
pyds9 fails to connect to a ds9 session
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added starextract
* vdat/config/buttons.yml: same
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter/types.py: add is_regex key to primary keywords;
when getting file names match add the full path to the regex/wildcard
* doc/_source/command_intepreter.rst: document is_regex
* vdat/config/vdat_commands.yml: add detection step; fix file names and
regex in various commands; streamline some keyword values
* vdat/config/extra_files/IFUcen_HETDEX.txt: added
* vdat/config/buttons.yml: add
2015-11-26 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .coverage files, but no .coveragerc
* .coveragerc: added
* doc/_source/contributions.rst: add more info about tox
* doc/_source/index.rst: add link to coverage report
* requirements.txt: remove numpy
* scripts/remove_empty_coverage.sh: added
* scripts/symlink_pyqt.sh: call the python script with the full path to
``scripts`` directory
* setup.cfg: remove coverage configurations
* tests/test_buttons.py: fix test bug when ``commands`` is a string
* tox.ini: build the documentation and coverage report
2015-11-24 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: aesthetic change
* vdat/command_interpreter/core.py: raise an CIRunError when the return
value is not null
* vdat/command_interpreter/types.py: add possibility to manipulate the
return value of the ``loop`` primary key
* doc/_source/command_intepreter.rst: document it
* vdat/command_interpreter/utils.py: added
* vdat/config/buttons.yml: add the button to create the dither file
* vdat/config/extra_files/dither_positions.txt: added
* vdat/config/vdat_commands.yml: add the instruction to create the dither
files
* vdat/gui/buttons_menu.py: fix documentation typo
2015-11-08 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: change master* names to values compatible
with cure's DitherEnvironment, add symlink command to create better file
names for the science frames
* vdat/config/buttons.yml: add command for the symlinking
use ``vdat_config copy`` to update the configuration files
2015-10-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/vdat.py: set xpa_method in the environment to local by
default
* vdat/config/vdat_setting.cfg: add option to modify the xpa_method and
kdescription
2015-10-23 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new tabs to display the products
of the new reduction buttons
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* doc/_source/command_intepreter.rst: more info about the selected IFU given
* tests/data/raw/20120301: replaced with new simulations
* tests/test_command_interpreter.py: adapt to it
* tests/test_symlink.py: same
2015-10-23 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: pass the selected ifus to the command
interpreter
* vdat/gui/fplane.py: PEP8
* vdat/config/vdat_commands.yml: add the ``filter_selected`` keyword;
improve match only fits filename starting with number
* tests/test_buttons.py: test ifu selection
2015-10-22 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: put commands on the queue
* vdat/gui/queue.py: adapt the queue to accept and return CommandInterpreter
instances; create set/get_queue functions
* vdat/gui/background.py: set/get_background functions; adapt the
background object to the above; fix bugs
* vdat/gui/__init__.py: adapt to the above, remove callback
* vdat/gui/relay.py: log also exception
* vdat/gui/gui.py: fix some docstring
* vdat/command_interpreter/core.py: fix a bug with template and exe
substitution
* vdat/command_interpreter/types.py: match the file name at the end of a
string
* vdat/libvdat/loggers.py: setup the loggers for the commands
* vdat/libvdat/vdat.py: use it
* vdat/config/core.py: better error handling when getting configurations
* vdat/config/extra_files/*: added
* vdat/config/entry_point.py: copy also the extra files
* vdat/config/vdat_commands.yml: fix bugs and adjust paths
* vdat/config/vdat_setting.cfg: fix the command logger configuration entries
* tests/conftest.py: force copying the configuration to avoid troubles
* tests/test_buttons.py: finish the testing of the buttons
* tests/test_command_interpreter.py: test alias replacing
* tests/test_config.py: adapt the tests to the changes due to extra
configuration files in subdirectories
2015-10-19 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: move button to custom class, create
CommandInterpreter instances when pushing the buttons and report problems
with a dialog
* vdat/gui/treeview_model.py: pep8
* vdat/command_interpreter/exceptions.py: fix bug with CIExeError
* vdat/config/vdat_commands.yml: masterarc needs an alias
* vdat/config/vdat_setting.cfg: add comments about redux_dirs
* vdat/database/models.py: PEP8
* vdat/libvdat/vdat.py: inject CUREBIN into the path
* tests/test_buttons.py: add a test clicking the buttons
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/buttons_menu.py: rewrite the creation of the buttons
* vdat/gui/gui.py: use the new button menu
* vdat/gui/treeview_model.py: connect the button menu to switch set of
buttons when changing directory; use a signal to change the central and
button panels
* vdat/config/buttons.yml: configuration file driving the button creation
* vdat/config/vdat_setting.cfg: add it
* vdat/config/core.py: add it to the files to load
* vdat/config/entry_point.py: add it to the files to copy
* vdat/config/vdat_commands.yml: little formatting
* tests/test_buttons.py: test the button widget; for now test that is
correctly created and that the switching happens correctly
* tests/test_command_interpreter.py: make sure to get a file for the ifu 34
2015-10-16 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/vdat_commands.yml: added
* vdat/config/vdat_setting.cfg: add the above file
* vdat/config/core.py: load vdat_commands.yml
* vdat/config/entry_point.py: copy it; don't overwrite existing files by
default
* tests/test_config.py: test the vdat_config command
2015-10-14 Francesco Montesano <montefra@mpe.mpg.de>
Tests run for python 2.7, 3.4 and 3.5
* tests/test_command_interpreter.py: test also part of the run method. Still
to test if exceptions are handled correctly
* vdat/command_interpreter/core.py: fix bugs and improve error handling and
logging
* vdat/command_interpreter/relay.py: fix bugs with progress relay
* vdat/command_interpreter/types.py: fix bugs and don't cover template
functions
* MANIFEST.in: add readme and requirement file to avoid tox building
failures
* requirements.txt: add numpy to avoid scipy building failures
* setup.py: add new_file entry point
2015-10-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Aligned the scale combobox left to make it prettier
* vdat/libvdat/show_fits.py: replaced another call to astropy getdata with
a ``with open(fn, 'rb')`` to avoid the astropy bug
* vdat/gui/ifu_viewer.py: "Send to ds9" menu now generated dynamically when the
"ds9" menu is clicked. Only files from the currently
selected tab are sent to "ds9" when the menu item
is selected.
2015-10-13 Daniel Farrow <dfarrow@mpe.mpg.de>
* requirements.txt: added pyds9 repo
* setup.py: added pyds9 repo
* vdat/gui/ifu_viewer.py: wrapped get_header in with open(f) to avoid the
astropy bug of not closing files.
2015-10-13 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: group together entripoints
* vdat/command_interpreter/core.py: some bug fix, use execute types, some
changes with the exception handling
* vdat/command_interpreter/exceptions.py: rename some exception
* vdat/command_interpreter/types.py: add execute type and implement all the
necessary types
* tests/test_command_interpreter.py: test most of the command interpreter
initialisation
* doc/_source/command_intepreter.rst: extend documentation
* vdat/config/ci_documentation.yml: removed
2015-10-12 Daniel Farrow <dfarrow@mpe.mpg.de>:
* vdat/gui/fplane.py: moved update IFUs from init to
change_focal_plane, to avoid the
thumbnail generator looking for an
uninitialized fplane
* vdat/gui/ifu_viewer.py: Added option to select frames
and send them to a new or existing
ds9 session
* setup.py: Added pyds9 to install requires
2015-10-09 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/database/core.py: added a table to store image brightness scaling parameters
* vdat/database/models.py: as above
* vdat/gui/fplane.py: Added a section to control the brightness scaling of the thumbnails in the
focal plane. User can select scaling per fits file, or a global
scaling (which can be user specified) for the whole focal plane.
The Fplane class in now its own QWidget.
* vdat/gui/gui.py: Added comments
* vdat/gui/ifu_viewer.py: Suppresses warnings from Ginga ;-)
* vdat/gui/ifu_widget.py: IFU viewers are parented to the main window, so
they can persist when the user changes fplane
* vdat/libvdat/show_fits.py: Casts the number of rows to an integer explicitly. Connects
to a database to find, or set, global brightness
scaling parameters when required for the thumbnails. Uses a
file object with astropy getdata in order to avoid an
astropy bug.
2015-10-09 Francesco Montesano <montefra@mpe.mpg.de>
* tests/test_command_interpreter.py: first tests added
* vdat/command_interpreter/core.py: better exceptions
* vdat/command_interpreter/exceptions.py: same
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: bootstrap setuptools if it's not installed
* ez_setup.py: bootstrap module
2015-10-07 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config/core.py: separate the loading from the getting of the
configurations: allow more homogeneous handling of the configuration files
* vdat/config/vdat_setting.cfg: comment a bit more
* vdat/config/entry_point.py: move here the implementation of the
``vdat_config`` executable; use pkg_resources to get copy the
configuration files
* setup.py: update the entry point
* vdat/gui/fplane.py: use the new configuration interface; PEP8
* vdat/gui/gui.py: same
* vdat/gui/ifu_viewer.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/queue.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* tests/conftest.py: same
* doc/Makefile(livehtm): add vdat/config to the tracked directories
* doc/_source/codedoc/config.rst: add code documentation
* doc/_source/index.rst: same
2015-10-07 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: Added new configuration for the upgraded thumbnail
creation (see below)
* vdat/gui/background.py: Immediate background thread waits for last job to stop
before running the next job. Toggle system
for the isImmRunning flag removed as it depended
on the main thread being available. Now the
immediate background thread controls the isImmRunning
flag is controlled by the Worker in the thread.
* vdat/gui/fplane.py: Waits for jobs on immediate thread to stop, stops
QObjects still in use from being deleted.
* vdat/gui/gui.py: Handles the uses clicking the close button, now waits
for running jobs on the immediate thread to end. This
stops seg faults from a sudden close.
* vdat/gui/ifu_widget.py: Fixes a bug by removing the auto-regeneration
of corrupted thumbnails. Simply dumps them instead.
* vdat/libvdat/show_fits.py: Based on options in tabs.yml, create a grid of
thumbnails for the IFU widget with entries
for the different channels, amps.
2015-10-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/core.py: Added load_yaml
* vdat/config/tabs.yml: Moved tabs subsections to be direcly under
the different node types (on the same level as
the ifu_viewer and main subsections).
* vdat/gui/fplane.py: Added tools to save and generate focal
plane panels. What is displayed as a thumbnail
is decided by the user via a combo box (i.e. the raw fits, fibre-collapsed
images, arcs, flats etc.). Defaults are set in the tabs.yml
* vdat/gui/gui.py: Central panel now generated dynamically
rather than at initialization.
* vdat/gui/ifu_viewer.py: Moved load_yaml to vdat.config
* vdat/gui/relay.py: Added 'change_centralPanel' signal.
* vdat/gui/treeview_model.py: Rather than prompting an update of the IFUs,
selecting a node causes a whole new
central panel to be created
* vdat/libvdat/show_fits.py: Now show_thumbnails takes a config object
with a regex specifying the file type to
display
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add yaml
* vdat/libvdat/loggers.py: reorganize the loggers code to remove repetitions
* vdat/config/vdat_setting.cfg: adapt the configuration to this
* vdat/libvdat/vdat.py: create appropriate ginga logger
* vdat/gui/ifu_viewer.py: PEP8 frenzy; use ginga logger
* doc/_source/codedoc/reduction.rst: add logging documentation
* doc/_source/gui.rst: fix warning
* doc/_source/index.rst: add todo about logging
2015-10-05 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/command_interpreter: added
* vdat/command_interpreter/__init__.py: import interface at module level
* vdat/command_interpreter/core.py: implement the interpreter
* vdat/command_interpreter/exceptions.py: define custom exceptions
* vdat/command_interpreter/helpers.py: will contain some helper function
* vdat/command_interpreter/relay.py: relay-like interface for communication
between the interpreter and the world
* vdat/command_interpreter/types.py: define classes to deal with types
* vdat/config/ci_documentation.yml: very wordy yaml file to use for
documentation purposes
* doc/Makefile: add command_interpreter for auto-compilation
* doc/_source/codedoc/command_interpreter.rst: added
* doc/_source/command_interpreter.rst: added
* doc/_source/index.rst: add the above documents
* doc/_source/codedoc/reduction.rst: remove reduction module
* vdat/libvdat/callback.py: get logger in method
2015-09-30 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/config/tabs.yml: configuration file that decides what is
displayed in different panels
* vdat/config/vdat_setting.cfg: Add tabs.yml to config file
* vdat/gui/background.py: Worker now passes **kwargs and *args
* vdat/gui/ifu_viewer.py: Read in tabs.yml, creates tabs in the
viewer based on it.
* vdat/gui/ifu_widget.py: When doduble clicked and no
directory selected, ask the user to select
one
* vdat/gui/treeview_model.py: Passes the type of directory selected
to show_fits
* vdat/libvdat/loggers.py: Added a generic logger class to store
Ginga loggers
* vdat/libvdat/reduction.py: ifuid -> ihmpid when deriving filenames
* vdat/libvdat/show_fits.py: Saves the type of directory selected in the IFU object
this might not be ideal
* doc/_source/gui.rst: Added some GUI documentation
* vdat/config/core.py: Added tabs.yml to CONFIG_FILES
2015-09-23 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore build and .eggs directories
* setup.cfg: same
* setup.py: create setuptools command @tox@ to fetch tox, if necessary, and
run tox
* scripts/symlink_pyqt.sh: don't print error if pyqt4 is not symlinked
* doc/_source/contributions.rst: added; describe testing via tox and py.test
* doc/_source/index.rst: add the above
* doc/_source/install.rst: update dependency list
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: make the gui tests succeed on tox too
2015-09-22 Francesco Montesano <montefra@mpe.mpg.de>
* tox.ini: added
* setup.cfg: ignore .tox when discovering tests
* svn:ignore: add .tox directory
* MANIFEST.in: fix config directory name change
* scripts/symlink_pyqt.{sh,py}: symlink pyqt4 and sip into the tox virtual
enviroments
* vdat/libvdat/symlink.py: do not try to commit if the redux directory is
empty
* tests/conftest.py: initialise the main logger
2015-09-21 Francesco Montesano <montefra@mpe.mpg.de>
* svn:ignore: ignore .cache directory
* setup.py: minimum pytest-qt version; fix console_scripts module name
* tests/conftest.py: no need to get for fixtures to get the configuration
and to start the database
* tests/test_symlink.py: clean the loggers
* tests/test_tree_view.py: no need to start database;
* vdat/config/vdat_setting.cfg: disable multiprocessing by default; use only
one max delta time for calibration
* vdat/database/base.py: property to get data as dictionary
* vdat/database/core.py: init get directory where the database should go;
fix bug with @connect@
* vdat/database/models.py: new table columns, method to create the path and
merge multiple rows into one
* vdat/libvdat/symlink.py: initialize, fill and update the database when doing the
symlinking
* vdat/gui/treeview_model.py: build the view from the database
* vdat/libvdat/vdat.py: don't initialize the database
* vdat/utilities.py: merge dictionaries function added; modify some errors
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* *py: use the __future__
* vdat/database/__init__.py: split into sub modules and import only the
"public" interface
* vdat/database/base.py: define the database and the base model
* vdat/database/core.py: initialise the database and deal with the
connection
* vdat/database/models.py: custom models are implemented here
* vdat/database/old_database.py: removed
* vdat/gui/treeview_model.py: use floor with datetime.timedelta
* vdat/libvdat/symlink.py: same
2015-09-15 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/config: renamed from vdat/vdat_config
* vdat/config/__init__.py: import only "public" interface
* vdat/config/core.py: renamed from vdat/libvdat/config.py and adapted
* setup.py: add ginga, adapt ``vdat_config`` entry point to new
directories
* vdat/gui/fplane.py: use new config subpackage
* vdat/gui/ifu_widget.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/loggers.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/vdat.py: same
* vdat/gui/relay.py: instantiate ``SignalClass`` inside a function and save
in a local list to allow for testing
* vdat/gui/__init__.py: use the new implementation
* vdat/gui/ifu_viewer.py: same (plus PEP8)
* vdat/gui/gui.py: same and config subpackage
* vdat/gui/queue.py: same
* vdat/libvdat/fits.py: same
* vdat/utilities.py (config_directory): moved to vdat/config/core.py
* tests/conftest.py: adapt to the above changes, use pyqt4 v2 api, add
fixtures to start the database and to clear lists and dictionaries at the
end of a test to allow reuse
* tests/test_tree_view.py: use new fixtures
2015-09-14 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: dialog confirming deletion; fix bug with
indexing
2015-09-11 Francesco Montesano <montefra@mpe.mpg.de>
* MANIFEST.in: corrected
* doc/_source: created; conf.py, the _template and _static directories and
all the rst files has been moved into this directory
* doc/Makefile: adapted to the changes
* doc/_source/*: small improvements
* setup.py: add vdat_config entry point
* vdat/libvdat/config.py: implement ``vdat_config copy`` command
* vdat/utilities.py: returns the configuration directory
* vdat/libvdat/callback.py: make the documentation happy
2015-09-10 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/database/__init__.py: add extra fields in preparation for issues #1048
#1049 and #1053
* vdat/gui/treeview_model.py: add context menu and handle clone and remove
actions as per #1048, adapt the building of the tree view to account for
this
* vdat/libvdat/symlink.py: add ``is_clone`` entry to the shot_file and
ignore cloned directories when re-symlinking
* vdat/utilities.py(write_to_shot_file): possible to chose between write
and append mode when writing
* vdat/gui/background.py(Background): rename ``cls`` to ``self`` for
consistency
2015-09-07 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add peewee dependency
* vdat/libvdat/database.py: moved to vdat/database/__init__.py
* vdat/database/__init__.py: implement the database table associated
with the entries in the tree view
* vdat/database/old_database.py: keep it for reference, it will be
eventually removed
* vdat/gui/treeview_model.py: populate the database
* vdat/utilities.py: move here from libvdat/symlink.py the functions to
read and write the shot files
* vdat/libvdat/symlink.py: modify accordingly
* vdat/libvdat/vdat.py: initialise the database
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/queue.py(ModifyableListWidget.keyPressEvent): for keys other than
the selected one, call the parent class implementation; no return
* vdat/gui/gui.py: move the buttons setup to buttons_menu module
* vdat/gui/buttons_menu.py: same, set buttons max size to 400
* vdat/gui/fplane.py: the layout is an attribute, no need for a function
* vdat/gui/treeview_model.py: set max width for the panel to 400
2015-09-03 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: save ticked directories into the configuration
* vdat/libvdat/reduction.py: adapt to the new directory structure
* vdat/libvdat/loggers.py: set up the cure task loggers
* vdat/libvdat/cure_interface.py: move the logger setting up to loggers.py
* vdat/vdat_config/vdat_setting.cfg: add cure task loggers options
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/background.py: moved into vdat/gui as it uses all qt stuff
* vdat/gui/background.py(Background): make it a proper class, initialising
the threads with a parent to get rid of qt warnings about objects not
owned by anything
* vdat/gui/background.py(get_background): create and/or return a Background
instance; once created it returns always the same instance
* vdat/gui/__init__.py: use get_background
* vdat/gui/treeview_model.py: same
2015-08-31 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: PEP8
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/relay.py: same
* vdat/gui/treeview_model.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/background.py: same
* vdat/libvdat/show_fits.py: same
* vdat/gui/ifu_widget.py: same, plus variable names fixed
* vdat/gui/menu.py: PEP8, move the action for the queue and all connections
to queue.py
* vdat/gui/queue.py: implement here the queue action and connect the signals
properly
2015-08-28 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Added ginga to requires
* vdat/gui/__init__.py: set the QString and QVariant types for ginga compatibility
* vdat/gui/ifu_viewer.py: Tells ginga to use pyqt4
* vdat/libvdat/callback.py: import show_fits instead of create_thumbnails (bug 1037)
* vdat/libvdat/show_fits.py: Checks if any files are found before creating thumbnail
2015-08-25 Francesco Montesano <montefra@mpe.mpg.de>
* doc: ignore build directory
* doc/codedoc/gui.rst: move the treeview model here
* doc/codedoc/reduction.rst: remove the treeview model
* doc/conf.py: set matplotlib backend to agg to avoid pyqt4/5 conflicts
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/ifu_viewer.py: A Ginja based panel that
displays a zoomable, pan-able
colourscale-able image of a FITs file,
with an added display for the header
* vdat/gui/ifu_widget.py: Launches and IFUViewer on double-click
2015-08-25 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/fplane.py: Added yield all IFUs function,
added a flag that when set stops
looping over IFUs (to stop
jobs more cleanly)
* vdat/gui/gui.py: Added import to flag above (for later)
* vdat/gui/ifu_widget.py: Test to see if a thumbnail
image of IFU is corrupted, if yes
try to regenerate
* vdat/gui/relay.py: Added parent argument ot initialisation
* vdat/gui/treeview_model.py: Calls function to show postage
stamps of FITs images when
a directory is selected.
* vdat/libvdat/background.py: Added a run_now function, and an
extra thread for it. This is designed
for important tasks to jump the queue.
* vdat/libvdat/callback.py: Added a comment
* vdat/libvdat/show_fits.py: New module which generates PNG images
of the detector FITs files
2015-08-20 Daniel Farrow <dfarrow@mpe.mpg.de>
* doc/command_line_tool.rst: Draft specifiation for command line tool
* doc/index.rst: Added link to above
* vdat/gui/fplane.py: Moved 'yield_selected_ifus' here, added select all and
select none functions
* vdat/gui/ifu_widget.py: Exists and selected are now properties
* vdat/gui/menu.py: Add a selection menu with 'select all' and 'select none'
* vdat/libvdat/reduction.py: Removed 'yield_selected_ifus' from here
2015-08-14 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Now sets the parent of the signal relay
* vdat/gui/gui.py: Renamed MainWindow -> mainWindow as it's not a class
* vdat/gui/menu.py: Sets up the new menu bar at the top of the GUI
* vdat/gui/queue.py: Queue window can be hidden and revealed from the new menu bar
* vdat/gui/relay.py: Uses dictionaries to store signals
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/__init__.py: the main frame must be saved in a variable, even if
it's not used, in the qt app to work properly
2015-08-13 Francesco Montesano <montefra@mpe.mpg.de>
As now it's not possible to run more than one test running the gui at a
time, as it crashes. This is very likely due to the fact that there are qt
objects around without a parent, and this confuses the qtbot
* setup.py: add pytest-qt dependency
* tests/conftest.py: use matplotlib agg backend to avoid pyqt4/5 clashes.
Add fixtures and move some common code away from test_symlink
* tests/test_symlink.py: adapt to the above
* tests/test_tree_view.py: test 93% of the tree view
* vdat/gui/__init__.py: isolate the code making the main and queue window
to allow setting up tests
* vdat/libvdat/handlers.py: add parent widget in the handler
* vdat/gui/gui.py: adapt to the above
* vdat/gui/treeview_model.py: set the ReductionTreeviewModel as child of the
ReductionQTreeView
* vdat/libvdat/background.py: add a todo
2015-08-11 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/gui/treeview_model.py: moved to gui
* vdat/libvdat/treeview_model.py: create the tree view from the redux
directory structure, make only directory containing the fits file
selectable, make calibration directories checkable to allow select
specific calibrations during reduction.
* vdat/gui/buttons_menu.py: add temporary button to test the tree view
model. Will be removed once the other buttons will be reimplemented
* vdat/gui/gui.py: move the creation of the tree view to the proper module;
add the above button
* vdat/libvdat/reduction.py: fixed bug with missing configuration section
2015-08-04 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* .: ignore coverage output files and directories
* setup.py: convert to pytest
* setup.cfg: same
* vdat/libvdat/symlink.py: make rerun symlink more robust and write a file
"SHOT_FILE" with all the relevant informations of the symlinked shot as a
json
* vdat/utilities.py: add json serialisation and de-serialisation of datetime
instances
* vdat/vdat_config/vdat_setting.cfg: add max_delta_zro option
* vdat/gui/__init__.py: don't import symlink module
* tests: add tests
* tests/data/raw: add fits files for testing: zro, sci, flt, arc shots, 3
IFUs and 3 exposures each
* tests/conftest.py: add fixtures
* tests/test_symlink.py: test the symlinking (edge cases still missing)
2015-07-30 Francesco Montesano <montefra@mpe.mpg.de>
WARNING: this changes break the gui button functionalities
* vdat/libvdat/symlink.py: almost completely rewritten; data symlinked at
the shot level; calibration frames divided in subdirectories; flat and arc
collected in the same 'cal' directory
* vdat/libvdat/vdat.py: symlink done before calling the gui; multiprocessing
set up
* vdat/utilities.py: custom exceptions added
* vdat/vdat_config/vdat_setting.cfg: add raw directory, add multiprocessing,
add maximum time delta to use when grouping flat and arc frames
* vdat/libvdat/loggers.py: set logger level to debug
* vdat/gui/__init__.py: don't do the symlink here
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/loggers.py: created moving code out of vdat.py and
reorganizing it
* vdat/libvdat/vdat.py: updated according to the above
* vdat/vdat_config/vdat_setting.cfg: more logging configuration given
2015-07-27 Francesco Montesano <montefra@mpe.mpg.de>
* setup.py: add six dependency
* vdat/gui/__init__.py: PEP8
* vdat/gui/buttons_menu.py: PEP8 and documentation fixes
* vdat/gui/fplane.py: same
* vdat/gui/gui.py: same
* vdat/gui/ifu_widget.py: same
* vdat/gui/relay.py: same
* vdat/gui/queue.py: same, plus using self instead of parent class method
* vdat/libvdat/background.py: same
* vdat/libvdat/callback.py: same
* vdat/libvdat/config.py: same
* vdat/libvdat/cure_interface.py: same
* vdat/libvdat/database.py: same
* vdat/libvdat/fits.py: same
* vdat/libvdat/handlers.py: same
* vdat/libvdat/reduction.py: same
* vdat/libvdat/symlink.py: same
* vdat/libvdat/treeview_model.py: same
* vdat/libvdat/vdat.py: same
* vdat/utilities.py: same
2015-07-02 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/libvdat/reduction.py: Added routine for creating error files with photon
noise, extracting the data region of the files
and joining the amplifiers
* vdat/vdat_config/vdat_setting.cfg: Added options for the new commands
* vdat/gui/gui.py: Added buttons for the new routines
2015-07-01 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/gui.py: Switched from file browser to a custom model in the treeview widget. Currently
it just gives a hard-coded example of the new custom model's
capabilities.
* vdat/libvdat/treeview_model.py: Added a customisable model for the treeview widget to
use. It can show different reduction steps in a
branching hierachy.
2015-06-16 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/__init__.py: Create a queue
* vdat/gui/buttons_menu.py: Added comments
* vdat/gui/fplane.py: Got rid of the unneccessary extra IFU type
now there is just one type defined in
ifu_widget
* vdat/gui/gui.py: Added a button
* vdat/gui/ifu_widget.py: Turned into a pyhetdex IFU type, added
methods to update the picture in the IFU
to reflect whether the IFU has input files
or not.
* vdat/gui/queue.py: A queue window, which keeps track of the
commands a user has requested and runs
them when they reach the head of the queue. The
user can also delete these commands.
* vdat/gui/static/unreduced.png: New image to differentiate
between IFUs with and without input files
* vdat/libvdat/background.py: Uses the queue
* vdat/libvdat/callback.py: Uses the queue
* vdat/libvdat/reduction.py: New function the subtract masterbias and overscan from files
* vdat/libvdat/symlink.py: Tells the IFU object it exists if it finds FITs files from it
Updated documentation and installation files:
* doc/codedoc/gui.rst
* doc/codedoc/reduction.rst
* doc/index.rst
* doc/queue.rst
* requirements.txt
* MANIFEST.in
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
* MANIFEST.in: Added fplane.txt file, so it is also installed!
* doc/install.rst: Tweaked documentation
* doc/launching.rst: As above
* requirements.txt: Added command to install pyhetdex
* vdat/libvdat/vdat.py: Added check to see if config file exists
2015-06-12 Daniel Farrow <dfarrow@mpe.mpg.de>
Added Sphinx documentation (under doc/), minor
modifications to comments
* AUTHORS
* LICENSE
* README.md: Added new dependencies
* doc/: Added documentation here
* vdat/gui/gui.py
* vdat/libvdat/reduction.py
2015-06-11 Daniel Farrow <dfarrow@mpe.mpg.de>
* vdat/gui/buttons_menu.py: Fixed python3 compatibility by using String instead of QString
* vdat/gui/fplane.py: Added a custom IFU class with a variable indicating if the IFU is selected
* vdat/gui/gui.py: Added a create masterbias button
* vdat/gui/ifu_widget.py: Made the widget selectable, add blue frame when not selected
* vdat/libvdat/cure_interface.py: Now tells the worker to clear jobs, so the progress bar is refreshed
* vdat/libvdat/reduction.py: Added create master bias function, subtract overscan now only works on selected IFUs
* vdat/libvdat/symlink.py
* vdat/vdat_config/vdat_setting.cfg: Added a format statement specifying the VIRUS filename structure
2015-06-01 Daniel Farrow <dfarrow@mpe.mpg.de>
Started using the multiprocessing tools
from pyhetdex to run jobs in parallel.
Implemented a progress bar to check how
far a job has gone. Moved logs to a
user specified log directory. A few improvements
in commenting and other minor things.
* setup.py: Added APlpy to list of required Python modules
* vdat/gui/buttons_menu.py: Now supports displaying a tooltip
* vdat/gui/fplane.py: Improved comments
* vdat/gui/gui.py: Got rid of silly buttons like "Make Coffee"
* vdat/gui/relay.py: A module to send signals to the GUI (i.e. update progress bar etc)
* vdat/libvdat/background.py
* vdat/libvdat/cure_interface.py: Functions to wrap around CURE, runs in parallel
* vdat/libvdat/fits.py: Uses multiprocessing
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Uses cure_interface
* vdat/libvdat/symlink.py: Tells the user when symlinking is done
* vdat/libvdat/vdat.py: Set up log directory
* vdat/vdat_config/vdat_setting.cfg: Added log directory and changed wildcards to conform
to pyhetdex:r74
2015-05-29 Francesco Montesano <montefra@mpe.mpg.de>
* vdat/libvdat/symlink.py: update ``scan_dirs`` after pyhetdex:r74. PEP8
and numpydoc compliant
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
A few minor modifications to style based on
Francesco's comments. Added a subtract overscan
routine. Switched to using file names rather
than a database when running commands. Added
a module to make it easier for the code
to signal the GUI.
* vdat/gui/buttons_menu.py
* vdat/gui/fplane.py
* vdat/gui/gui.py
* vdat/gui/ifu_widget.py
* vdat/gui/relay.py: Module to relay signals to the GUI
* vdat/libvdat/background.py
* vdat/libvdat/callback.py
* vdat/libvdat/database.py
* vdat/libvdat/fits.py
* vdat/libvdat/handlers.py
* vdat/libvdat/reduction.py: Added function to subtract overscans
* vdat/libvdat/symlink.py: Tells GUI to update file browser panel when symlink done
* vdat/vdat_config/vdat_setting.cfg: Added some wildcards to find files
2015-05-21 Daniel Farrow <dfarrow@mpe.mpg.de>
Added an internal sqlite3 database to keep track
of what files are available. Created a background
thread with which to run things so they don't lock
up the GUI when they're running. Implemented
a simple code which loops through all fits files
and converts them to PNGs.
* vdat/gui/__init__.py: Moved call to symlink to here
* vdat/gui/gui.py: Added a (currently disabled) progress bar
* vdat/libvdat/background.py: run jobs in a separate thread
* vdat/libvdat/callback.py: Added calls to Background
* vdat/libvdat/database.py: Internal database to keep track of files
* vdat/libvdat/fits.py: Implements a simple fits -> PNG conversion
* vdat/libvdat/handlers.py: Now uses signals to interface with GUI to be thread safe
* vdat/libvdat/symlink.py: Can read rawdir from config file
* vdat/libvdat/vdat.py: Moved symlink from here.
2015-05-18 Daniel Farrow <dfarrow@mpe.mpg.de>
Switched to using PyQt4 and fixed python 2.7
compatibility. Added symlink function as
described by issue #821
* vdat/gui/__init__.py: ... switched to PyQt4
* vdat/gui/buttons_menu.py: PyQt4
* vdat/gui/fplane.py: PyQt4
* vdat/gui/gui.py: PyQt4
* vdat/gui/ifu_widget.py: PyQt4
* vdat/libvdat/callback.py: Function factory to return functions to connect to
button clicks. Currently just returns a function that prints "Not implemented"
* vdat/libvdat/config.py: Read options to do with logging
* vdat/libvdat/handlers.py: PyQt4
* vdat/libvdat/symlink.py: symlinks files from raw to redux directory (issue 821)
* vdat/libvdat/vdat.py: Sets up logging, switched to PyQt4
* vdat/vdat_config/vdat_setting.cfg: Added options to do with logging
2015-05-14 Daniel Farrow <dfarrow@mpe.mpg.de>
Added a new handler for the logger which
prints colour-coded messaged to the text
panel of the VDAT GUI
* libvdat/handler.py: Created a new Handler for logging
* gui/gui.py: Attached the QTextEdit panel to the Handler
* gui/__init__: Prints a welcome message using the new logger
2015-05-05 Daniel Farrow <dfarrow@mpe.mpg.de>
* setup.py: Modified to point to vdat.py:main()
* libvdat/__init__.py: added (empty file)
* libvdat/vdat.py: added, reads in config file, starts GUI
* vdat_config/vdat_settings.cfg: added
* vdat_config/fplane.txt: added
* gui/fplane.py: Reads in fplane.txt and displays it
* gui/ifu_widget.py: Added. Derives QLabel, shows the IFU
* gui/ifu_widget.py: Includes a custom handler for resize events
* gui/resources/empty.png: Copied from Quicklook
* MANINFEST.in: Read by pip to tell it to install the empty.png file
2015-05-04 Francesco Montesano <montefra@mpe.mpg.de>
* gui: moved to vdat/gui
* README.md: some basic installation info added
* setup.py: install vdat package and create ``vdat`` executable
* setup.cfg: setup configuration
* vdat/__init__.py: version number
* vdat/gui/buttons_menu.py: absolute import, some PEP8
* vdat/gui/fplane.py: absolute import, some PEP8
* vdat/gui/gui.py: absolute import, some PEP8
* vdat/gui/__init__.py: same, isolate main function
* svn:ignore: egg dir added