Release Notes

main

Oct. 24, 2024 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.12.0

  • Update tooling and code to use ruff v0.6.4 (#3624)

  • Compile cleanly with -Wall -Werror (#3540)

  • Cosmetic improvements to stubs (#3494)

  • refactor / remove StackOverflow code (#3512)

  • Add a GH action to run reuse to check SPDX tags (#3524)

June 18, 2024 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.11.0

  • steamshovel - remove overeager type guard

  • Run mypy in CI (#3480)

  • mypy cleanup for core projects (#3414)

  • steamshovel - update the drive_tank integration test

  • replace python2’s StandardError with python3’s Exception

  • Add stubs for even more pybindings (#3413)

  • [steamshovel] Add SPDX tags (#3452)

March 14, 2023 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.10.0

  • change the matplotlib renderer, sparing us some potential crashes (beec9ab05)

  • documentation & cmake cleanups

Feb. 20, 2024 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.9.2

  • Fixing two more or less obvious mistakes in the IceTop event viewer. (#3382)

  • add some boost headers which presumably were implicit in the past

  • Delete mailinglist files (#3357)

  • Add upgrade rules to ruff (#3316)

  • Remove all tab characters used for indentation from python files (#3300)

Dec. 14, 2023 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.9.0

  • Remove Uber Header (I3.h) (#3151)

  • Clean up invalid escape sequences for python3.12 (#3286)

  • Fix E731 lambda-assignment (#3271)

  • general python cleanups (ruff/E712) (#3268)

  • general python cleanups (ruff/E713) (#3269)

  • fix E703 useless-semicolon (#3266)

  • clean up new noqas in steamshovel (#3292)

  • fix B028 no-explicit-stacklevel (#3265)

  • fix E714 not-is-test (#3270)

  • fix E711 none-comparison (#3267)

  • python ruff cleanup fix EXE001 (#3289)

  • Fix a number of issues identified by ruff (#3262)

  • cleanup confusing loop control variables (#3246)

  • remove unnecessary __future__ imports (#3243)

  • use callable(obj) vs hasattr(obj, “__call__”) (#3242)

  • fix erroneous noqa directives (#3252)

  • remove I3Test.ENSURE* family of convenience functions (#3192)

  • general python cleanups

Sep. 28, 2023 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.8.0

  • replace deprecated unittest asserts with modern equivalents (#3168)

  • make non-segmented matplotlib colormaps available (#3157)

June 22, 2023 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.7.0

  • Make I3Tray.I3Tray and icecube.icetray.I3Tray the same thing. (#3102)

  • Fix throws in bp::error_already_set exception handler (#3085)

  • Fix crash closing AngleClock artist (#3084)

  • Update colomaps to new matplotlib API (#3071)

  • Bug fixes and updates to the icetrop viewer (#2753)

  • general docs cleanup to improve html rendering

  • cleanup angle clock artist

  • add option to use custom view in hires steamshovel screenshots (#3093)

  • fix bp::error_already_setxception handler

  • fix crash when closing somertists

  • update colormaps toew matplotlib api

  • update speed display in textsummary

  • remove deprecated qt function flag

  • update for python 3.11

Apr. 05, 2023 don la dieu (nega AT icecube.umd.edu)

IceTray Release v1.6.0

  • Restore use of BUILD_${PROJECT}=OFF (#3058)

  • Prettify particle-direction arrows in I3MCTree display (#3053)

  • Fixes steamshovel batch scripting crashes

  • Fixes crashes on quit

  • Fixes crashes when selecting 3rd, 4th, or n-th frame in the time line with the mouse

  • Removes the remnants of the old IceTopViewer steamshovel artist

  • Documentation cleanups

  • General code cleanups

Dec. 12, 2022 don la dieu (nega AT icecube.umd.edu)

IceTray Release v1.5.0

  • Clean up macOS deployment script

  • Update urls in documentation which are redirected

Jul. 29, 2022 don la dieu (nega AT icecube.umd.edu)

IceTray Release v1.4.0

  • Drop support for Python 2

  • Clean up python bindings / modules

  • Minor fix to the dmg build for Mac

  • Mark skippable tests as skippable or disabled (#2888)

  • Remove deprecated fixed pipeline lighting, which can cause the 3D view to break with modern drivers. Addresses issue #2806.

  • Clean up documentation

Feb. 21, 2022 don la dieu (nega AT icecube.umd.edu)

IceTray release v1.3.0

  • Updates for new versions of Boost

  • Addresses Qt deprecations

  • Addresses compiler warnings

  • Cleans up dead code

  • IceTop Widget refactoring

  • Documentation cleanup

Feb. 5, 2020 Alex Olivas (aolivas@umd.edu)

Combo Release V00-00-01

  • Removed more references to Qt4.

Dec. 20, 2019 Alex Olivas (aolivas@umd.edu)

Combo Release V00-00-00

  • Removed Qt4 support.

December 11, 2018, Alex Olivas (olivas@icecube.umd.edu)

Release V18-12-00

  • Support for mDOM visualization.

  • Bug fix to reduced chi^2

June 13, 2018, Alex Olivas (olivas@icecube.umd.edu)

Release V18-06-00

  • Various Qt cleanups

November 15, 2017, Alex Olivas (olivas@icecube.umd.edu)

Release V17-11-00

  • Update automatic time ranging when using a track to not ignore IceTop. (#2061)

  • Split screenshot dialog into a screenshot functionality which only captures the (any) active view, and a projection functionality specifically for the 3D view. This breaks the python screenshot interface.

  • flip Qt5 to the default

  • flip some docs to Qt5

March 27, 2017, Sander Vanheule (svanheule@icecube.wisc.edu)

Release V17-03-00

General:

  • New LedDisplay artists to support USB LED event displays

  • Add support for Qt5 (“cmake -DUSE_QT5=ON ../src”)

  • Fixed a bug that caused TextSummary overlays to move to top left corner when screenshot dialog is opened

  • Remember parameters in screenshot dialog as part of application settings

  • Added option in screenshot dialog to make HESE-style plots (dschultz)

  • Added new FAQs to the FAQ section

  • More robust image comparison in test_shovelscripts.py

  • Workaround for Qt MOC bug, affects boost-1.57 and Qt-4.8 on SL6 (jvansanten)

Artist IceTopViewer:

  • Added visualization of Scintillators

  • Produce an error if IceTopViewer is added and matplotlib version is too old

  • Fix of a bug that prevented correct update of very first frame in a file if IceTopViewer is active at startup

  • Simplified code by using new facilities in I3LaputopParams; get LDF function, front-time model, and error models from Params instead of using duplicated code

March 18, 2016, don la dieu (nega@icecube.umd.edu)

Release V16-03-00

General:

  • Fixed a critical rare bug, which may have caused old frames to be shown if user first closed a file with the “close last file” action and then opened a new file

  • Interactivity greatly improved while frames are still loaded from a file or filtered

  • Editor widget for ShovelSlider now has usable size even on a Mac

  • Reduced interaction delay when user tries to rotate the 3D view with the mouse on some systems with Intel graphics (dschultz)

  • Performance improvement for SceneStepFunction and SceneLinterpFunction (replaced O(N) search with O(logN)), improves animation of very long events (jvansanten)

  • Fixed detection of qtconsole in different versions of IPython

  • –reset now also affects settings in FileService

  • added code to create custom color maps (berghaus)

  • Fixed an error in the rare case when RangeFinder would return an empty time interval

  • Fixed a C++11 compatibility issue with clang (cweaver)

User interface:

  • New convenience feature: user may select a default I3Geometry object which is added to frames which do not already have an I3Geometry object (from frame mixing)

  • Added “New Window” action to Window menu, which opens a secondary main window showing the same frame; this allows for example to look at IceTop in one window, and at the same time at the deep detector in the other

  • Added “Reload all” action to File menu

  • Internal errors now cause the log viewer to be opened automatically (can be turned off in the preferences)

  • Allow main window to become very small

Artist Particles:

  • Scales Particle arrows as a function of their energy (can be turned off by setting “power” to zero) (introduced by berghaus, modified by hdembinski)

  • Angle of Cherenkov cone now adapts to particle speed

Artist IceTopViewer:

  • IceTopViewer gained two additional settings to display several particles simultaneously; this is useful to compare simulated shower and reconstructed shower, and the likes

  • Fixed a bug where an event was not displayed at all if the I3Particle has NaN position or NaN direction

  • Improved handling of plot margins, stopping axis labels from overlapping

  • New option to show tanks without hits in the LDF plot

  • Added support for new I3LaputopParams object

  • Fixed a bug that prevented correct update of IceTopViewer on the very first frame in a file, if IceTopViewer is the active view on startup

Artist Position:

  • Also handles collections of things with positions now, like I3VectorI3Position or I3VectorI3Particles

Documentation:

  • Greatly expanded artist documentation of Bubbles and IceTopViewer

  • Added more practical filter examples

December 14, 2015, don la dieu (nega@icecube.umd.edu)

Release V15-12-00

General:

  • Revived the Map app

  • Added Steamshovel LogViewer (accessible from menu Help) to allow users of the Mac app to look at log messages

  • Added GUI support for really long events (in time)

  • Added more tests, in particular some tests that run a steamshovel script and check its output

  • Improved/updated docs (hdembinski, berghaus)

  • Fixed a bug that occurs if steamshovel is called with several start-up scripts

  • Fixed movie generation and support more encoders: ffmpeg, avconv, mencoder

User interface:

  • Allow user to open more than one file at once

  • Simplified online filter and made it easier to use

  • Speed of event playback is now defined in absolute units, nanoseconds (in event) per second (real time), and can be set to precise values with a spin box, in addition to the slider

  • Enhanced “Save Frame” dialog

    • added a field to specify individual frames or ranges to save

    • added check box to automatically “Save parents” or not (“parent” frames contain data needed in the current frame, e.g. the Geometry frame is a parent of most other frames)

  • Added option in configuration dialog to change the default font and font size used in Steamshovel

  • RangeSettings are now edited with a new widget that combines a slider and spin box (ShovelSlider), which makes it easier to set specific numeric values

  • Delete key removes Artists in the Display tab

  • IPython widget is now hidden by default, and only shown if the user activates it by pressing Ctrl+T (or through the menu); when it is active, it gets more space by replacing the tabbed widget in the top right corner

shovelio:

  • shovelio uses central I3FrameMixer now, so that frame mixing is consistent with icetray

  • Fixed several bugs in shovelio and made it simpler

Artists:

  • Added IceTopViewer, the first Aven… erm, WidgetArtist

  • Particles

    • added option to draw light fronts in Cherenhov blue (berghaus)

    • added option to draw secondary particles in color code, if particles are visualized from an I3MCTree (see documentation for meaning of colors) (berghaus)

  • Bubbles

    • added option to draw hits as a kind of after glow, with user-defined decay length (david.schultz)

    • added option to use a secondary time window for coloring, instead of the central one (added to ChargeBubbles by berghaus, ported to Bubbles by hdembinski)

  • Removed ChargedBubbles, its features were ported into Bubbles

  • TextSummary supports D4R objects (hbretz)

  • Detector

    • outline option is back with new edge detection algorithm

August 31, 2015, Alex Olivas (olivas@icecube.umd.edu)

New Artist:

  • CoordinateSystem shows the arrows of the IceCube coordinate system; the location and length of arrows can be set in physical units (Python version based on C++ code from M. Zoll)

Interface Changes:

  • Artist classes were renamed and joined, focussing on the type of visualization rather than the association to an I3FrameObject (one Artist can typically visualize a range of related types)

  • Mapping from old names of artists in Steamshovel to new names:

    Animated I3Particle,
       I3Postion marker -> Position
    Accumulated charge,
       Animated charge -> ChargeBubbles
    Accumulated MC charge,
       DOMLaunch start times,
       DOMs in list,
       DOMs in map,
       MCHit start times,
       MCPE start times -> Bubbles
    DOMLaunch time histogram -> DOMLaunchHistogram
    I3Geometry -> Detector
    I3EventHeader summary,
       I3FilterMask,
       I3MCTree summary,
       I3Particle summary,
       I3Time,
       Value label -> TextSummary
    I3Particle,
       MCTree -> Particles
    I3Particle Uncertainty estimation -> ParticleUncertainty
    IceCube logo -> StaticImage
    Pulse plot -> RecoPulseWaveform
    Selected DOM label -> DOMLabel
    Uncalibrated waveform -> Waveform
    
  • Descriptions of Artists in Steamshovel now agree with their class name, making it easier to talk about them and find them in the code

New Features:

  • The Ice artist got an optional alternative dust layer visualization, enabled by the setting “3D dust” (feedback is appreciated)

  • The color of DOMs can be customized in the Detector artist

  • New cmd line option “–testmode” runs Steamshovel in a sandbox, without touching user settings (good for running test scripts)

  • New option “Save frame” in the “File” menu saves the current frame into an i3 file

  • Open files can be closed now

  • PyArtists can draw arrows on the scene, using .addArrow(…)

  • Filter interface allows to set arbitrary filters to pick out frames of interest

  • Steamshovel got a lot faster by avoiding the unnecessary de-serialization of I3FrameObjects

  • RangeFinder key is now saved as part of the session, solution to ticket 953

  • RangeFinder finds keys for range computation in the frame much faster -> significant speed-up when switching frames

  • New menu “Help” to show steamshovel’s documentation

  • New dialog to inform users about updates in the GUI that change work flow

  • IO system re-written: users can start browsing immediately, frames are loaded in the background

  • New dialog “Configuration” in “Windows” menu, to set cache sizes and frame keys to ignore

  • New filter system: users can define Python filters to show only selected frames

  • Steamshovel remembers window geometry

  • Big speed boost when browsing frames through internal switch to string-based type identification

  • Steamshovel compiles with Python-3.4 (some PyArtists may be broken, as Python-3.4 is not yet officially supported)

Bug Fixes:

  • New artist “I3Particle(s)” fixes bugs in “MCTree” and “I3Particle” (tickets 939, 926)

  • Corrected directions in AngleClock which sometimes displayed wrong angles

  • Screenshots turned out too bright in some viewers, solved by making formerly fixed gamma correction an option in the “Screenshot” dialog

March 15, 2015, Alex Olivas (olivas@icecube.umd.edu)

V15-03-00

  • Plot paraboloid fits as cones using the uncertainty estimate

  • Add a DMG target to facilitate automatic Steamshovel builds.

  • Implements session menu

    • artists are sorted alphabetically when “add …” button is clicked

    • in focus menu: . new focus point “IceCenter”, between IceTop and

    • IceCube, for looking at coincident events.

    • New item “Reset camera” to place camera back in default position.

    • added docu about new session menu

  • New CoordSysArtist

  • Angleclock shows I3Directions too, also make the legend plot the name of the displayed object

  • I3Particles show how they are incoming/outgoing if they happen to be reconstructed as contained

  • Tweaks for new I3MCTree

November 20, 2014, Alex Olivas (olivas@icecube.umd.edu)

V14-11-00

Under the hood:

  • Added new Artist settings: KeySetting and ChoiceSetting

  • Changed internal interfaces such that RangeSetting, KeySetting and ChoiceSetting are treated consistenty and uniformly

  • Added unit test for new setting types that check proper behavior in Python (test_setting.py)

  • MPLArtist can request to updates to steamshovels colormap and time line

  • Added automatic conversion from PyString to QString and vice versa

  • Store position of and focus of camera between steamshovel sessions

  • Store “active” state of artists between steamshovel sessions

  • Added OS-dependent keyboard shortcuts to jump to next/previous P frame (PageDown, PageUp)

  • Added OS-dependent keyboard shortcut to close application (Ctrl+Q on Linux)

  • New artists are automatically discovered by steamshovel if placed in the python/artists folder

Artists:

  • Major update of IceTopLDF artist, with many new features and configuration options that make use of KeySetting, ChoiceSetting

  • Added AngleClock artist which shows zenith and azimuth angle in a playful way

  • Minor update of GeometryArtist: added option to hide IceCube for pure IceTop users and vice versa

  • Minor update of Ice artist: added options to chose colors for ice/dust/bedrock layers