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
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
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
it just gives a hard-coded example of the new custom model’s capabilities.
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