Releases: imcf/python-imcflibs
Releases Β· imcf/python-imcflibs
Release list
python-imcflibs-2.0.0
This major release brings a host of additions and breaking changes across
multiple modules. For detailed information, please refer to the
API documentation.
Added β¨
New functions in imcflibs.imagej.bioformats
imcflibs.imagej.bioformats.get_readergets the reader used for opening a
file, allowing support for multi series files, and gets the highest pyramid
level for infos.
New functions in imcflibs.imagej.bdv
imcflibs.imagej.bdv.read_metadata_from_xmlallows reading metadata back
from the xml of a H5/XML couple.
New functions in imcflibs.imagej.misc
imcflibs.imagej.misc.bytes_to_human_readableconverts size from bytes to a
more readable format.
New functions in imcflibs.imagej.trackmate
imcflibs.imagej.trackmate.set_spotfilterto set a TrackMate spot filter
with specified filter key and values.
New functions in imcflibs.imagej.pathtools
imcflibs.imagej.pathtools.join_files_with_channel_suffixto generate lists
of filenames with channel suffixes, facilitating workflows where each
channel is stored in a separate file.
Changed β»οΈ
- Minimum required version for [python-micrometa] increased to
15.2.3.
imcflibs.imagej.bdv
imcflibs.imagej.bdv.define_dataset_autodoes not split time points by
default any more.imcflibs.imagej.bdv.define_dataset_manualnow supports passing a list of
files (list_files) directly, enabling the use of explicit file lists in
"show_list" mode rather than relying solely on file patterns.imcflibs.imagej.bdv.fuse_dataset_bdvp:- Fix a bug and expose additional parameters.
- Allow specifying the number of resolution levels, LZW compression, and the
fusion method; update parameter names and documentation for clarity and
flexibility.
imcflibs.imagej.bdv.interest_points_registration: Fix typo and add missing
options.imcflibs.imagej.bdv.resave_as_h5: use the correct processing options
object and change the ImageJ command to "Resave as HDF5 (local)" for better
accuracy.
imcflibs.imagej.bioformats
imcflibs.imagej.bioformats.import_imagenow accepts importing a
specified image region (crop). Also fix a spelling mistake.imcflibs.imagej.bioformats.get_stage_coordsreturns the filename
instead of full path.
imcflibs.imagej.misc
imcflibs.imagej.misc.run_imarisconvert:- Now allows to select an output folder.
- Adds pixel calibration to the converted file.
imcflibs.imagej.misc.subtract_imagesnow validates the slice count is equal
for both images.imcflibs.imagej.misc.save_image_with_extension: fix issue with java path
object.imcflibs.imagej.misc.save_image_in_format: This method also accepts a new
optional parametersuffixto append custom text to output filenames.
imcflibs.imagej.objects3d
imcflibs.imagej.objects3d.segment_3d_image: add option to filter out 3D
objects touching the image borders when creating a label image.
imcflibs.imagej.resultstable
imcflibs.imagej.resultstable.add_results_to_resultstable:- Add support for writing values to specific rows in a results table.
- Raise an error when provided values don't match target rows.
- Update docstring description and examples.
imcflibs.imagej.trackmate
- Improve support for 3D data and fix an issue for diameter of objects to be
found using TrackMate.
imcflibs.imagej.omerotools
imcflibs.imagej.omerotools.parse_url: safely handle empty input strings, and
strip the link to ignore trailing white spaces.
imcflibs.pathtools
imcflibs.pathtools.listdir_matching:- Add support for recursive directory traversal.
- Add
recursiveparameter to include files from subdirectories.
Removed ποΈ
imcflibs.imagej.objects3d
imcflibs.imagej.objects3d.get_objects_within_intensityhas been removed as
it is now present in the Image3D suite. The method
mcib3d.geom.Objects3DPopulation.getObjectsWithinIntensityRangeperforms
the same function as the removed method from this package.
Documentation π
- Update
README.mdinstallation instructions to install imcflibs into a
"vanilla" Fiji, including required dependencies.
Interactive Tests π§ͺ
- All interactive test files in
tests/interactive-imagejare now.py, so
that they can be dragged directly into a Fiji and run.
python-imcflibs-2.0.0.a6
What's Changed
- Add calibration to the converted file by @lguerard in #92
- Fix issue with java path object by @lguerard in #104
- feat(pathtools): add recursive option to listdir_matching by @lguerard in #116
- Add dependencies to installation instructions by @CellKai in #110
- Add tmspotfilter function by @CellKai in #112
- Fix issue with CZI autostitch options by @lguerard in #105
- Fix
bioformats.get_stage_coordsand add option toresultstable.add_resultsby @rohangirishrao in #97 - Fix Ruff errors by @CellKai in #124
- Add the option to add a suffix to the newly created file name by @lguerard in #103
- Add method to save Fiji script parameters, and add example to opening an image by @rohangirishrao in #111
- Fix typo in
apply_thresholdby @rohangirishrao in #121 - fix(bdv): correct lambda spelling and improve formatting by @lguerard in #130
- Validate slice count before subtraction by @lguerard in #117
- Fix/129 bdv variable type mixup by @lguerard in #131
- Validate processing settings by @lguerard in #132
- Add method to read metadata back from the xml by @lguerard in #102
- Bdv update library by @lguerard in #118
- Remove method
objects3d.get_objects_within_intensityby @rohangirishrao in #123 - Add option to save IMS file in a specified location by @lguerard in #100
- Add option to crop region by @CellKai in #108
- Add installation instructions by @rohangirishrao in #133
- Add markdownlint action by @ehrenfeu in #135
- Sanitize input string in
omerotools.parse_urlby @rohangirishrao in #134 - Fix function to not split time points by default by @CellKai in #107
- Update installation instructions for Omero packages by @rohangirishrao in #141
- Add function to convert size from bytes to a more readable format by @lguerard in #101
- Add options to segment_3d_image for removing objects touching borders by @lguerard in #139
- Add tests for
pathtools.listdir_matchingby @lguerard in #122
Full Changelog: python-imcflibs-1.5.0...python-imcflibs-2.0.0.a6
python-imcflibs-2.0.0.a5
What's Changed
- Add calibration to the converted file by @lguerard in #92
- Fix issue with java path object by @lguerard in #104
- feat(pathtools): add recursive option to listdir_matching by @lguerard in #116
- Add dependencies to installation instructions by @CellKai in #110
- Add tmspotfilter function by @CellKai in #112
- Fix issue with CZI autostitch options by @lguerard in #105
- Fix
bioformats.get_stage_coordsand add option toresultstable.add_resultsby @rohangirishrao in #97 - Fix Ruff errors by @CellKai in #124
- Add the option to add a suffix to the newly created file name by @lguerard in #103
- Add method to save Fiji script parameters, and add example to opening an image by @rohangirishrao in #111
- Fix typo in
apply_thresholdby @rohangirishrao in #121 - fix(bdv): correct lambda spelling and improve formatting by @lguerard in #130
- Validate slice count before subtraction by @lguerard in #117
- Fix/129 bdv variable type mixup by @lguerard in #131
- Validate processing settings by @lguerard in #132
- Add method to read metadata back from the xml by @lguerard in #102
- Bdv update library by @lguerard in #118
- Remove method
objects3d.get_objects_within_intensityby @rohangirishrao in #123 - Add option to save IMS file in a specified location by @lguerard in #100
- Add option to crop region by @CellKai in #108
- Add installation instructions by @rohangirishrao in #133
- Add markdownlint action by @ehrenfeu in #135
- Sanitize input string in
omerotools.parse_urlby @rohangirishrao in #134
Full Changelog: python-imcflibs-1.5.0...python-imcflibs-2.0.0.a5
python-imcflibs-1.5.0
What's Changed
- 3d suite by @lguerard in #11
- Changes to tracker creation by @rohangirishrao in #13
- Add testing file and formatting changes by @rohangirishrao in #15
- Add
simple_flatfield_correction()toshadingmodule by @ehrenfeu in #16 - Add missing import by @lguerard in #18
- Improve and add docstring by @lguerard in #14
- Remove wrong and duplicate import by @ehrenfeu in #28
- Fix the Works on convention by @lguerard in #27
- Merge changes in labelimage branch by @ehrenfeu in #29
- Small fix for BDV and improve documentation for global vars by @lguerard in #30
- Add imagej.projections.project_stack() by @CellKai in #40
- Pathtools docs and tests for tab, newline and other special chars by @ehrenfeu in #42
- Enable automatic ruff linting by @ehrenfeu in #44
- Add some pathtools tests by @ehrenfeu in #48
- Re-remove create_directory() by @CellKai in #50
- Use pre-releases of
imcf-fiji-mocksin Python2 setups by @ehrenfeu in #51 - Update for latest version BigStitcher, add fusion (BDV-playground) by @lguerard in #39
- Remove docstrings for internal globals by @ehrenfeu in #54
- BDV docstrings by @ehrenfeu in #55
- Follow-ups from the coding session on 2025-03-11 by @lguerard in #49
- Changes to
send_mailfunction by @rohangirishrao in #52 - Change log updates for 1.5.0 release by @rohangirishrao in #63
- Move
pad_number()tostrtoolsby @lguerard in #64 - Rename function to
apply_rollingball_bg_subtraction()by @lguerard in #65 - Update documentation for OMERO tools requirements by @lguerard in #66
- Add notes to calculate_mean_and_stdv for empty input handling by @lguerard in #67
- Fix indentation of function by @lguerard in #68
- Fix
fix_ij_optionsdocstring and set tested options by @rohangirishrao in #69 - Attempt to fix docstring rendering in pdoc by @ehrenfeu in #70
- Add info about changes for BDV by @lguerard in #72
- Fix path with BDV test by @lguerard in #73
- Fix issues with TrackMate by @lguerard in #75
- Usage instructions for
send_notification_emailby @CellKai in #76 - Add methods to changelog by @lguerard in #78
- Rename methods and fix docstrings by @lguerard in #79
- Changes to bioformats module's metadata retrieval by @rohangirishrao in #74
- Update Changelog.md for
project_stackfunction by @CellKai in #77 - Add methods for
imcflibs.imagej.processingby @lguerard in #80 - Update changelog by @lguerard in #81
- Fix changelog broken link by @lguerard in #85
- Start finalizing the
imcflibs-1.5.0release by @ehrenfeu in #86 - Explain IJ options
iterationsandcountby @CellKai in #87 - Final changes for the
imcflibs-1.5.0release by @ehrenfeu in #88
Contributors
Full Changelog: python-imcflibs-1.4.0...python-imcflibs-1.5.0
python-imcflibs-1.4.1
Nothing changed except packaging metadata for the Python wheel (despite the README still claiming no such thing exists).
python-imcflibs-1.4.0
β¨ π See the Change Log in the public API Documentation for a nice overview with clickable links! π β¨
Added
imcflibs.strtools.sort_alphanumericallyto sort a list of strings taking
into account numerical values correctly.
Changed
imcflibs.pathtools.listdir_matchingis now using the new
sort_alphanumerically()function from above.
Artifacts
python-imcflibs-1.3.0
β¨ π See the Change Log in the public API Documentation for a nice overview with clickable links! π β¨
Added
- New functions in
imcflibs.pathtools:imcflibs.pathtools.join2can be used to join paths, much like
os.path.joinexcept that it will work withjava.io.Fileobjects as well
(but doesn't support more than two path components / parameters).imcflibs.pathtools.find_dirs_containing_filetypeimcflibs.pathtools.folder_size
- New functions in
imcflibs.imagej.misc:imcflibs.imagej.misc.calculate_mean_and_stdvimcflibs.imagej.misc.elapsed_time_sinceimcflibs.imagej.misc.find_focusimcflibs.imagej.misc.get_free_memoryimcflibs.imagej.misc.percentageimcflibs.imagej.misc.progressbarimcflibs.imagej.misc.setup_clean_ij_environmentimcflibs.imagej.misc.timed_log
- New
imcflibs.imagej.labelimagesubmodule, providing:imcflibs.imagej.labelimage.filter_objectsimcflibs.imagej.labelimage.label_image_to_roi_listimcflibs.imagej.labelimage.measure_objects_size_shape_2dimcflibs.imagej.labelimage.relate_label_images
- New
imcflibs.imagej.gpusubmodule, providing:imcflibs.imagej.gpu.erode_labelsimcflibs.imagej.gpu.dilate_labelsimcflibs.imagej.gpu.merge_labels
- New
imcflibs.imagej.resultstablesubmodule, providing:imcflibs.imagej.resultstable.add_results_to_resultstableimcflibs.imagej.resultstable.get_resultstableimcflibs.imagej.resultstable.preset_results_column
- New
imcflibs.imagej.roimanagersubmodule, providing:imcflibs.imagej.roimanager.add_rois_to_roimanagerimcflibs.imagej.roimanager.change_roi_colorimcflibs.imagej.roimanager.clear_ij_roi_managerimcflibs.imagej.roimanager.count_all_roisimcflibs.imagej.roimanager.enlarge_all_roisimcflibs.imagej.roimanager.extract_color_of_all_roisimcflibs.imagej.roimanager.get_roimanagerimcflibs.imagej.roimanager.load_rois_from_zipimcflibs.imagej.roimanager.measure_in_all_roisimcflibs.imagej.roimanager.rename_rois_by_numberimcflibs.imagej.roimanager.rename_roisimcflibs.imagej.roimanager.save_rois_to_zipimcflibs.imagej.roimanager.scale_all_roisimcflibs.imagej.roimanager.select_rois_above_min_intensityimcflibs.imagej.roimanager.shift_roi_by_bounding_boximcflibs.imagej.roimanager.show_all_rois_on_image
Changed
- The functions below now also accept parameters of type
java.io.File(instead
ofstr), making them safe for being used directly with variables retrieved
via ImageJ2's Script Parameter@# File:imcflibs.pathtools.parse_pathimcflibs.strtools.filename
- Several changes in
imcflibs.pathtools.parse_path:- The returned dict now contains an additional key
basenamethat provides
the filename without extension. - OME-TIFF filenames are now treated as special cases in the sense that the
.omepart is stripped from thebasenamekey and added to theextkey
instead (as it is part of the suffix).
- The returned dict now contains an additional key
imcflibs.pathtools.listdir_matchingnow has an additional optional argument
sort(defaulting toFalse) to request the resulting list to be sorted.- Many improvements / clarifications in function docstrings.
Artifacts
python-imcflibs-1.2.0
Changes
- 64cfb3a: import submodules automatically, so any part of the package can be accessed with a simple
import imcflibsand then using the fully qualified name of a function
Artifacts
python-imcflibs-1.1.0
Changes
- 5d3b5f3: add
imagej.shading.process_files() - cf1e290: add an optional parameter
fullpathtopathtools.listdir_matching() - a61a260: make
imagej.projections.create_and_save()return a bool - 1aed64f: make
imagej.shading.correct_and_project()return a tuple of bool - 5d3b5f3: update dependency for jython-scijava-logging to 0.5.2
Fixes
- a0fd333: fix an issue in
imagej.bioformats.export() - fed8217: fix an issue in
imagej.shading.correct_and_project()when model isNone
Artifacts
python-imcflibs-1.0.0
Changes
- 92b9b2f: calls to
show_status()andshow_progress()don't require a logger object any more - 58ab521: add
imagej.stitchingmodule - b65c563: add
pathtools.derive_out_dir() - 710070f: add
imagej.misc.error_exit() - 25b8746: allow shading model to be
Noneinimagej.shading.correct_and_project() - ab1d6ed: allow model file name to be
-orNONEinimagej.shading.process_folder()
Fixes
- f6f545e: add a workaround for uncalibrated
ICS/IDSexports in Bio-Formats 6.0 series