Releases: cardiacvision/optimap
Releases · cardiacvision/optimap
v0.2.4
What's Changed
- Support numpy>2.0 in #4
- Fix MATLAB video reader to work with files from other labs
- load_metadata: Include number of frames/image size for MultiRecorder imports
- Interactive segmentation: Add largest connected component filter, update icons
- The monochrome PyPi package was renamed to monochrome from monochrome-viewer
- Fix video looping in documentation
- Update documentation
Full Changelog: v0.2.3...v0.2.4
v0.2.3
What's Changed
- Migrated docs from readthedocs to GitHub pages (due to memory limits). Automatic docs builds are now much faster!
- Updated and improved docs and tutorials
- Added support for python 3.13
- Added video importer for .mp4/.avi/.mov/...
- Added
export_image()
function in addition tosave_image()
.export_image()
will always convert to uint8 for best compatibility with image viewers. save_image()
: added compat parameter to convert image to 8bit- Renamed
export_video_collage()
toexport_videos()
, now included in main namespace - Fixed issue with numpy>=2.0, require numpy<2.0 as some dependencies rely on it for now
- Fixed videoplayer out of bounds
- Fixed
export_videos()
cmap and alpha clipping - Fixed animation reset after saving to mp4 bug
- Fixed
compare_traces()
for videos with different lengths - Removed WIP
adp
module to feature branch - Fixed documentation builds for sphinx >= 7.4.6
Full Changelog: v0.2.2...v0.2.3
v0.2.2
What's Changed
- Renamed video.play* functions to start with show_video, old functions are deprecated
- Renamed
retrieve_example_data()
todownload_example_data()
, added to top-level import. Old function name is deprecated. - Renamed example data file names, added dual channel example. Old file names are deprecated.
- Changed order of arguments for video.save_image_sequence, path is now first arg. Old convention is deprecated.
- Change order of arguments for show_positions, positions are now first argument
video.normalize
: adedd dtype argument, infer maximum for integer output dtypes, support complex numbers- Temporal difference filter: added
fill_value
andcenter
arguments - Contrast enhancement: support mask of valid values
- Added kwargs to
load_video()
for plugins InteractivePlayer.save()
: added hide_slider/buttons/framecounter params- Fixed
export_video()
for odd-sized videos - Fixed
print_properties()
for videos with NaNs
Full Changelog: v0.2.0...v0.2.2
v0.2.0: Interactive masking and more
What's Changed
Interactive masking editor and more:
interactive_mask.mp4
Breaking changes:
om.video.resize
: parameters are nowshape
orscale
, instead ofnewx
,newy
- All
save
andexport
functions now expect the filename first, e.g.save(filename, value, ...)
instead ofsave(value, filename, ...)
. The deprecatedsave(value, filename, ...)
order will raise a warning but still work. om.load_video
: RaisesFileNotFoundError
instead ofValueError
if file not found- MacOS 12+ is now required
New functionality & other changes
Python 3.12 is now supported.
optimap.image
:
- Added
interactive_mask()
: Create a mask interactively by drawing on an image. - Added
load_mask()
function show_mask()
: only show True values in overlay. If no image passed show a black border around mask. Addedalpha
,color
,cmap
parameters- Fixed
load_mask()
- Added
collage()
function to arrange list of images in a grid - Added
resize()
,rotate_left()
,rotate_right()
,flip_left_right()
,flip_up_down()
,crop()
,pad()
functions analogous to theom.video
equivalents - Fixed
smooth_gaussian()
for RGB(A) images
optimap.video
:
- Added
om.video.export_video_collage()
to arrange a list of videos in a grid and save to a media file om.video.load_image_folder()
function is now public API in addition to theload_video()
wrapperom.video.InteractivePlayer
class is now public APIom.video.MultiRecorderImporter
: addedget_frametimes()
function to load the frametimings (if supported by MultiRecorder camera plugin)export_video()
,export_video_with_overlay()
: addprogress_bar
parameterresize
: addinterpolation
parameter for the different OpenCV interpolation methods
optimap.trace
:
show_positions()
: add size, cmap, vmin, vmax and kwargs parameters- Fixed
random_positions()
- Add
collage_positions()
as equivalent toimage.collage()
orvideo.export_video_collage()
Full Changelog: v0.1.4...v0.2.0
v0.1.4
What's Changed
Breaking Changes
compute_activation_map
: returns time in milliseconds instead of seconds for computed activation times whenfps
parameter is specified
New Functionality
- Added
smooth_gaussian
,erode_mask
,dilate_mask
,binary_closing
,binary_opening
functions toimage
module image.show_image
: addedshow_colorbar
andcolorbar_title
parametersimage.show_mask
addedtitle
parametercompute_activation_map
: addedshow
(for plotting,True
by default),inverted
, andset_nan_for_inactive
parameters
Other Changes
- Ignore NaNs for
play_video()
and other functions - Added support for Python 3.12
- Improved error handling for MultiRecorderImporter
Full Changelog: v0.1.3...v0.1.4
v0.1.3
- Add minmal GUI to
om.play_video
video.play/play2/playn
- Fix
om.load_video()
when using a combination ofstep
andframes
parameters - Add vmin1, vmax1, vmin2, vmax2 arguments to
video.play2
video.normalize
: add vmin and vmax paramters- Fix overlay video code when overlay contains NaNs
v0.1.2
- Switch from QtCairo to QtAgg for the default interactive matplotlib backend. Simplifies installation as we don't depend on cairo anymore.
- fix
select_traces()
- fix
load_tiff_folder()
- fix error handling when OpenCV is not installed
- fix save_image_sequence for tiff files
- add
fps
andx
parameter toselect_traces()
andcompare_traces()
- added WIP ratiometry tutorial example