Recent Releases of PlantCV
PlantCV - v4.7
What's Changed
- adding json2csv to run-workflow by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1658
- docs: add eseigeldanf as a contributor for bug, tutorial, and doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1661
- changing parallelization defaults by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1654
- docs: add trogers623 as a contributor for tutorial, and doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1662
- docs: add Sunitalama2 as a contributor for tutorial, and doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1663
- docs: add clhendrikse as a contributor for tutorial, and doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1665
- Update d type in fill_holes.py check by @eseigel in https://github.com/danforthcenter/plantcv/pull/1668
- Add deprecation warning about
label
from the detect color card function by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1664 - Parallelization docs linking by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1653
- Fix mask kmeans output type by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1648
- updating install instructions by @annacasto in https://github.com/danforthcenter/plantcv/pull/1656
- Update closing.py by @eseigel in https://github.com/danforthcenter/plantcv/pull/1669
- Linking to scribe tutorial for parallelization by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1657
- updating the getting started page by @annacasto in https://github.com/danforthcenter/plantcv/pull/1659
- Update crop_position_mask.py by @eseigel in https://github.com/danforthcenter/plantcv/pull/1670
- add
metadata
to_package_index
in spectral_index.py by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1673 - Update PlantCV installation instructions and conda environment file to use only the conda-forge channel by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1681
- add tassel tutorial to gallery (merge updates to tutorial repo first) by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1642
- Added background image input to visualize.pseudocolor by @rayn-alex in https://github.com/danforthcenter/plantcv/pull/1680
- Update pinnings to NumPy v2 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1687
New Contributors
- @eseigel made their first contribution in https://github.com/danforthcenter/plantcv/pull/1668
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v4.6...v4.7
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl 26 days ago

PlantCV - v4.6
What's Changed
- Speed improvements for creating multiple ROIs by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1584
- Update obj props source code by @emmanuel-ferdman in https://github.com/danforthcenter/plantcv/pull/1611
- docs: add emmanuel-ferdman as a contributor for bug, and doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1612
- docs: add jbraley1107 as a contributor for review, and userTesting by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1614
- Obj size ecdf docs bugfix by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1621
- docs: add hkmanching as a contributor for bug by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1622
- Kmeans grayscale by @leafism9 in https://github.com/danforthcenter/plantcv/pull/1570
- update prune _debug to plot the other debug img by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1619
- Make color card chip size a metadata term & Enhance debug
pcv.transform.detect_color_card
by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1609 - Minor example code fix by @mlohbihler in https://github.com/danforthcenter/plantcv/pull/1627
- docs: add mlohbihler as a contributor for bug, and doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1634
- Update arabidopsis_multi_plant_tutorial.md by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1628
- Update seed_analysis_tutorial.md by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1631
- Update morphology_tutorial.md by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1630
- Update watershed_segmentation_tutorial.md by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1632
- docs: add jbraley1107 as a contributor for bug by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1636
- Auto color correct wrapper by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1625
- 1615 adding houghcircles by @maliagehan in https://github.com/danforthcenter/plantcv/pull/1616
- Update grayscale_tutorial.md by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1633
New Contributors
- @emmanuel-ferdman made their first contribution in https://github.com/danforthcenter/plantcv/pull/1611
- @leafism9 made their first contribution in https://github.com/danforthcenter/plantcv/pull/1570
- @mlohbihler made their first contribution in https://github.com/danforthcenter/plantcv/pull/1627
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v4.5.1...v4.6
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl 4 months ago

PlantCV - PlantCV v4.5.1
What's Changed
- Added NPCI and GLI indices to spectral_index by @rayn-alex in https://github.com/danforthcenter/plantcv/pull/1593
- Add metadata to outputs by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1594
- mac-and-windows-install-docs by @annacasto in https://github.com/danforthcenter/plantcv/pull/1586
- Update warn to utilize the verbose global parameter by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1600
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v4.5...v4.5.1
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren 7 months ago

PlantCV - v4.5
What's Changed
- update-to-jupyter-notebook-instructions by @annacasto in https://github.com/danforthcenter/plantcv/pull/1587
- Fixed bug: crash when ROI was empty by @rayn-alex in https://github.com/danforthcenter/plantcv/pull/1589
- Add geospatial metadata attribute to spectral_data class by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1595
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v4.4...v4.5
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl 7 months ago

PlantCV - PlantCV v4.4
What's Changed
- Pin NumPy to v1.x by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1560
- Using generators instead of list comprehension by @natejly in https://github.com/danforthcenter/plantcv/pull/1544
- Adding missing docstrings by @natejly in https://github.com/danforthcenter/plantcv/pull/1547
- Deepsource f string fix by @natejly in https://github.com/danforthcenter/plantcv/pull/1542
- Style fixes by @natejly in https://github.com/danforthcenter/plantcv/pull/1543
- replacing implicit enumerate by @natejly in https://github.com/danforthcenter/plantcv/pull/1539
- added-buttons-to-public by @ghernandez-57 in https://github.com/danforthcenter/plantcv/pull/1524
- added google colab and github buttons to thermal tutorial by @ghernandez-57 in https://github.com/danforthcenter/plantcv/pull/1527
- add buttons to hyperspectral_smf_tutorial by @ghernandez-57 in https://github.com/danforthcenter/plantcv/pull/1530
- add google colab and github buttons to machine_learning_tutorial.md by @ghernandez-57 in https://github.com/danforthcenter/plantcv/pull/1531
- Moved self's "n" attribute initialization to init by @natejly in https://github.com/danforthcenter/plantcv/pull/1528
- Unnecessary lambda removal by @natejly in https://github.com/danforthcenter/plantcv/pull/1540
- 1553-combined-object-filter by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1555
- Constella reworks by @natejly in https://github.com/danforthcenter/plantcv/pull/1541
- Suppress divide by zero and invalid number warnings by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1563
- Turn plotting off after use in tests to avoid warnings by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1565
- Fix casting issues that trigger NumPy deprecation warnings by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1564
- auto_grid error handling by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1562
- Add geospatial attributes to spectral_data class by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1580
- Add quality control for image color by @kmurphy61 in https://github.com/danforthcenter/plantcv/pull/1574
- Add kmeans cli by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1571
- Add "Quick Cutto" ROI function by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1576
- 1575 image tiling by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1578
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v4.3.1...v4.4
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren 9 months ago

PlantCV - PlantCV v4.3.1
What's Changed
- Prune test and doc files from sdist by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1551
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v4.3...v4.3.1
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren 11 months ago

PlantCV - PlantCV v4.3
What's Changed
- fix-PY-W0069 by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1433
- docs: add k034b363 as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1437
- fix-PYL-R1705 by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1432
- fix-PTC-W0010 by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1435
- fix part of PYL-R1710 by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1438
- Randomize color order default for pcv.watershed() by @tj-schultz in https://github.com/danforthcenter/plantcv/pull/1441
- docs: add tj-schultz as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1445
- Change None values to none strings by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1442
- fix-PYL-C0209 by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1439
- Add min_size to
detect_color_card
kwargs by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1449 - visualize.colorspaces.py bugfix by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1451
- Deepsource fix remove extra line return in init file by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1447
- 1436 merging function by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1446
- Update codecov action by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1462
- Add pcv.filters.eccentricity by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1430
- Add DEEPSOURCE_DSN to environment by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1464
- Correct camera distortions using checkerboard calibration by @annacasto in https://github.com/danforthcenter/plantcv/pull/1422
- Improved handling of empty submasks in analyze.spectral_reflectance by @rayn-alex in https://github.com/danforthcenter/plantcv/pull/1463
- Changed label from segment_sort output obs access to params value by @tj-schultz in https://github.com/danforthcenter/plantcv/pull/1458
- docs: add tj-schultz as a contributor for code, and bug by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1465
- docs: add rayn-alex as a contributor for code, bug, and question by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1466
- Run pytest on the whole project directory by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1469
- casted dict keys into list to avoid type error by @natejly in https://github.com/danforthcenter/plantcv/pull/1468
- docs: add natejly as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1470
- Exclude configs from coverage analysis by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1471
- fixing assigning result of a function call with no return value by @natejly in https://github.com/danforthcenter/plantcv/pull/1467
- Exclude more files from coverage analysis by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1472
- Add method to quickly filter binary images by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1477
- New function analyze.distribution by @kmurphy61 in https://github.com/danforthcenter/plantcv/pull/1473
- Fixed uninformative assert statements in tests for transform.merge_images() by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1480
- Bump supported versions of Python to 3.9-3.11 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1491
- Add kmeans classifier function by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1478
- update _make_pseudo_rgb with more accurate target wavelength for red by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1492
- Fix bug in plotting debug mode by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1496
- fix-PYL-W0612 by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1497
- Added fatal_error for incorrect block_size value in detect_color_card by @tj-schultz in https://github.com/danforthcenter/plantcv/pull/1457
- Added tuple check to compare variables by @natejly in https://github.com/danforthcenter/plantcv/pull/1495
- Removing list comprehension to allow for short circuit evaluation by @natejly in https://github.com/danforthcenter/plantcv/pull/1494
- Removed generator in threshold_methods.py by @kaitlynrying in https://github.com/danforthcenter/plantcv/pull/1448
- docs: add kaitlynrying as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1501
- Remove deprecated files by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1499
- Rois debug numbering by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1488
- Fixed error in documentation for camera calibration by @annacasto in https://github.com/danforthcenter/plantcv/pull/1505
- Clean up pytest errors by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1517
- draw_roi bugfix by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1511
- parallel docs for windows Update by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1519
- Update watershed.py to make the function return
labels
by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1482 - Add kmeans tutorial by @k034b363 in https://github.com/danforthcenter/plantcv/pull/1512
- bugfix for roi_type="largest" in roi.filter by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1518
- Adding simple rgb tutorial to the tutorial gallergy by @annacasto in https://github.com/danforthcenter/plantcv/pull/1502
- Adding camera calibration tutorial by @annacasto in https://github.com/danforthcenter/plantcv/pull/1506
- add buttons to vis tutorial by @ghernandez-57 in https://github.com/danforthcenter/plantcv/pull/1521
- docs: add ghernandez-57 as a contributor for code, and doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1525
- Added buttons to vis-nir tutorial by @ghernandez-57 in https://github.com/danforthcenter/plantcv/pull/1522
- google colab button to grayscale tutorial by @ghernandez-57 in https://github.com/danforthcenter/plantcv/pull/1523
affine_color_correct
docs - code example calling wrong function by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1533- Read images over HTTP by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1532
New Contributors
- @k034b363 made their first contribution in https://github.com/danforthcenter/plantcv/pull/1433
- @tj-schultz made their first contribution in https://github.com/danforthcenter/plantcv/pull/1441
- @rayn-alex made their first contribution in https://github.com/danforthcenter/plantcv/pull/1463
- @natejly made their first contribution in https://github.com/danforthcenter/plantcv/pull/1468
- @kaitlynrying made their first contribution in https://github.com/danforthcenter/plantcv/pull/1448
- @ghernandez-57 made their first contribution in https://github.com/danforthcenter/plantcv/pull/1521
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v4.2.1...v4.3
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren 11 months ago

PlantCV - v4.2.1
What's Changed
- Update PyPi deploy workflow to use OIDC authentication by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1424
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v4.2...v4.2.1
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl over 1 year ago

PlantCV - v4.2
What's Changed
- Enable multi label input by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1361
- 1363 floodfill function by @maliagehan in https://github.com/danforthcenter/plantcv/pull/1364
- Documentation minor bug fixes by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1372
- Update spectral wavelengths for CropReporter datasets by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1374
- Update README.md with Deepsource badge by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1386
- add new function called detect_color_card by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1362
- added flexibility to handle rotation in color cards, consistent chip labeling regardless of orientation, and reduced number of input parameters. Pre-existing
pcv.transform.find_color_card
still exists but will be deprecated in the future.
- added flexibility to handle rotation in color cards, consistent chip labeling regardless of orientation, and reduced number of input parameters. Pre-existing
- Bugfix/data wrangling update: Roi coord dtype cast by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1376
- too many leading '#' for block comment by @dhiraj-ms in https://github.com/danforthcenter/plantcv/pull/1402
- Removed whitespace surrounding docstring text by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1392
- Whitespace after "," by @dhiraj-ms in https://github.com/danforthcenter/plantcv/pull/1399
- PTC-W0019 - Consider using literal syntax by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1408
- changing doc string conventions for deepsource best practices by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1391
- FLK-D200 by @kmurphy61 in https://github.com/danforthcenter/plantcv/pull/1393
- grouping imports per deepsource by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1396
- changing max linewidth in file by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1398
- changes for deepsource expecting 2 blank lines by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1401
- Deleted variable mask=mask by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1404
- removing redundant object specification by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1403
- Py w0069 by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1406
- docs: add mtwatso2-eng as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1409
- changed comparison order per deepsource standards by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1394
- added line after docstring by @AFis-245 in https://github.com/danforthcenter/plantcv/pull/1397
- docs: add AFis-245 as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1410
- Replaced obs with _ by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1405
- Removing unused libraries by @dhiraj-ms in https://github.com/danforthcenter/plantcv/pull/1407
- Update colorspaces.py add CMYK by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1390
- PYL-W0612 deepsource replace unused vars by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1395
- Remove old utility scripts by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1411
- Add metadata method by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1375
- Updated color correction tutorial by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1415
New Contributors
- @AFis-245 made their first contribution in https://github.com/danforthcenter/plantcv/pull/1397
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v4.0.1...v4.2
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl over 1 year ago

PlantCV - PlantCV v4.0.1
What's Changed
- Bug fix: collapse hierarchical headers for CSV files by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1350
- docs: add maldil as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1351
- Update Points.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1352
- Bump upper version of NumPy by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1347
- Update matplotlib supported versions by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1353
- Update pandas supported versions by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1354
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v4.0...v4.0.1
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 1 year ago

PlantCV - PlantCV v4.0
Many thanks to all the contributors for all that hard work that has gone into this release!
What's Changed
- Update 4.x branch by @DannieSheng in https://github.com/danforthcenter/plantcv/pull/785
- Update the 4.x branch from the main branch by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/803
- update photosynthesis package to use xarray and analyze entire induction curve protocols by @dschneiderch in https://github.com/danforthcenter/plantcv/pull/790
- Update 4x from main by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/806
- Update 4x by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/812
- Synchronize the main branch with the 4x branch by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/824
- Addition of constellation homologies workflow with tutorials by @jgerardhodge in https://github.com/danforthcenter/plantcv/pull/690
- Update YII and NPQ measurements and options by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/826
- Update 4x by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/835
- Update 4x by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/847
- Annotation sub-package and point annotation tool (a.k.a. interactive CustomROI) by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/816
- Rebase from master by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/854
- Two io functions by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/823
- Update with master by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/857
- Update 4x by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/860
- Pixel scatter visualization by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/810
- 2D threshold by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/840
- Merges docs fix into the 4x branch by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/862
- Rebase 4.x branch on the main branch by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/878
- Create time lapse video (visualize sub package) by @DannieSheng in https://github.com/danforthcenter/plantcv/pull/762
- Update 4x by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/884
- Watershed segmentation by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/767
- Update 4x by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/897
- Hyperspectral rotation by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/888
- Update 4x by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/908
- Write hyperspectral data by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/889
- Update 4x by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/919
- Refactor parallel subpackage to use dataframes and grouping by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/887
- Added automatic grid detection to multi by @jdavidpeery in https://github.com/danforthcenter/plantcv/pull/911
- Update sample_images to handle phenodata datasets by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/925
- replace list expression with explicit for loop in segment_image_series by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/929
- Apply bugfix to v4 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/936
- Update 4x by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/943
- Add helper function to centralize usage of OpenCV findContours by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/939
- Update 4.0 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/944
- Update roi rectangle objects class by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/946
- Update roi.ellipse to use objects class by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/951
- Update roi custom objects class by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/953
- Update find objects objects class by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/947
- standard color correction matrix function by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/931
- Fix test cache dir by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/957
- Pin matplotlib version by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/960
- use objects class in roi2mask by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/952
- Reconfigure dask futures and client management by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/958
- Update release 4.0 by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/969
- Update 4.x by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/970
- Add parameters to mean adaptive thresh by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/937
- Update release 4.0 by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1004
- Update 4.x by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1005
- Utilize Objects class in pcv.roi.from_binary_image by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/980
- Update report size marker objects class by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/955
- Update roi circle objects class by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/993
- Update visualize_ovelay_two_imgs.md by @jmgordon1223 in https://github.com/danforthcenter/plantcv/pull/1016
- make Objects class return Objects instance while iterating by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/1068
- Pull down updates into 4.x branch by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1091
- Update release 4.0 by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1093
- Hsi read data flexible hdr format by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/956
- Changed print to plot in otsu_thresholds.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1101
- Changed print to plot in output_mask.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1102
- Changed print to plot in photosynthesis_analyze_fvfm.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1103
- Limit upper pandas version by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1107
- Update 4x by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1104
- Update release-4.0 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1108
- Replace command-line scripts with console scripts by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1099
- Changed print to plot in rgb2lab.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1117
- Changed print to plot in rgb2hsv.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1116
- Changed print to plot in rgb2gray.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1115
- Changed print to plot in rgb2cmyk.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1114
- Changed print to plot in report_size_marker.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1113
- Changed print to plot in rectangle_mask.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1112
- Changed print to plot in read_image.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1111
- Changed print to plot in photosynthesis_read_cropreporter.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1109
- Changed print to plot in read_bayer.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1110
- Changed print to plot in roi_objects.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1118
- Changed print to plot in scharr_filter.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1124
- Changed print to plot in scale_features.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1123
- Changed print to plot in saturation_threshold.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1122
- Changed both prints to plot in rotate2.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1121
- Changed print to plot in roi2mask.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1120
- Changed print to plot in roi_rectangle.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1119
- Rename objects parameter in pcv.auto_crop by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/954
- update roi_objects with Objects class by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/1037
- Changed second print to plot in roi_objects.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1126
- Changed print to plot in segment_angle.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1127
- Changed print to plot in segment_curvature.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1128
- Changed print to plot in segment_euclidean_length.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1129
- Changed print to plot in segment_id.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1130
- Changed both prints to plot in opening.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1131
- Changed print to plot in segment_insertion_angle.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1133
- Changed print to plot in segment_pathlength.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1134
- Changed print to plot in segment_skeleton.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1135
- Changed print to plot in segment_sort.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1136
- Changed print to plot in segment_tangent_angle.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1137
- Changed print to plot in shift.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1138
- Update 4x with updates in main by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1139
- Simplify histogram code and fix bug in minimum value calculation by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1141
- Update 4.x by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1142
- Update release 4.0 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1143
- Fix threshold dual channels returning bad dtype by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/1144
- Release 4.0 bugfix by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1146
- Make helper roi_filter function by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/1147
- Add
pcv.create_labels
function by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1149 - Add iteration helper function by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1148
- Add composition helper function by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1152
- Add grayscale to rgb helper by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1153
- Add affine color correction function by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/1150
- Update release 4 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1157
- Add analysis submodule and shape analysis function by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1154
- Added-warn-function-replace-print by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1159
- Add warn cluster contour splitimg by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1160
- Add-warn-replace-print-obj-comp by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1163
- add-warn-replace-print-roi_objects by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1164
- add-warn-replace-print-analyze_index by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1165
- add-warn-replace-print-roi_methods by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1166
- add-warn-replace-print-threshold_methods by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1167
- add-warn-replace-print-helpers by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1168
- Add analyze color function to analyze submodule by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1170
- start function bound horizontal by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/1161
- Define type for markers in watershed by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1175
- Update release4 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1176
- Iterate analyze grayscale by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1172
- Add updated analysis function for thermal images that utilizes iteration by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1177
- Add type to markers by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1181
- Update codecov action to v3 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1180
- Update release 4.0 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1183
- Add analyze.spectral_reflectance function by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1178
- Add analyze.spectral_index function by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1179
- Remove obj from homology.acute by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1186
- Update x axis pseudolandmarks, remove
obj
input parameter by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1169 - Update y axis pseudolandmarks by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1185
- Updates to stored "tips" and "branch_pts" getting stored to observations during Morphology workflows by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/995
- Skip CSV output for x-y points by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1198
- Update pseudocolor remove obj and obj_padding by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1184
- auto_crop replace objects param with mask by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1192
- Move landmark_reference_pt_dist to the homology submodule by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1199
- Refactor scale_features by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1200
- Deprecate cluster_contours by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1195
- Deprecate cluster contours splitimg by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1196
- Deprecate cluster contours mask by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1197
- Generalize photosynthesis filenaming by @wurDevTim in https://github.com/danforthcenter/plantcv/pull/984
- Deprecate acute_vertex by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1187
- Deprecate analyze bound horizontal by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1188
- Deprecate analyze bound vertical by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1189
- Deprecate analyze color by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1190
- find_color_card typo fix, move "label" param into correct function by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1202
- Minor docs fixes by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1204
- Deprecate analyze_nir_intensity by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1205
- Deprecate analyze_object by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1206
- Deprecate analyze_thermal_values by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1207
- Remove hyperspectral.analyze_index by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1208
- Deprecate rectangle mask by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1209
- Iterate psii analysis by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1201
- remove max_val param from threshold.binary() by @afinit in https://github.com/danforthcenter/plantcv/pull/1210
- remove max_val param from threshold.mean() by @afinit in https://github.com/danforthcenter/plantcv/pull/1212
- remove max_val param from threshold.otsu() by @afinit in https://github.com/danforthcenter/plantcv/pull/1213
- remove max_val param from threshold.gaussian() by @afinit in https://github.com/danforthcenter/plantcv/pull/1214
- remove max_val param from threshold.triangle() by @afinit in https://github.com/danforthcenter/plantcv/pull/1218
- remove max_val param from threshold.texture() by @afinit in https://github.com/danforthcenter/plantcv/pull/1219
- remove max_val param from threshold._call_threshold() by @afinit in https://github.com/danforthcenter/plantcv/pull/1220
- remove max_val param from threshold._call_adaptive_threshold() by @afinit in https://github.com/danforthcenter/plantcv/pull/1221
- Remove deprecated plantcv.rotate function by @afinit in https://github.com/danforthcenter/plantcv/pull/1222
- remove max_val param from threshold.dual_channels() by @afinit in https://github.com/danforthcenter/plantcv/pull/1224
- Add all-contributors table and badge by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1215
- Deprecate object composition by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1216
- optimizing naive_bayes_classifier by @afinit in https://github.com/danforthcenter/plantcv/pull/1223
- Add config file for Read the Docs by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1226
- Update release-4.0 from main by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1230
- Deprecate visualize cluster contours by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1229
- Deprecate roi objects by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1228
- docs: add maliagehan as a contributor for projectManagement, code, and 3 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1234
- docs: add HaleySchuhl as a contributor for code, doc, and 6 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1236
- docs: add DannieSheng as a contributor for code, doc, and 2 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1240
- docs: add dschneiderch as a contributor for code, doc, and 2 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1242
- docs: add GrantKonkel as a contributor for code, and doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1245
- docs: add bganglia as a contributor for code, doc, and test by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1246
- docs: add JoeDuenwald as a contributor for doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1248
- docs: add JorgeGtz as a contributor for code, doc, and 4 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1251
- docs: add sdkenney42 as a contributor for doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1253
- docs: add maxjfeldman as a contributor for code, doc, and ideas by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1254
- docs: add jshoyer as a contributor for code, doc, and ideas by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1255
- docs: add jdavidpeery as a contributor for code, doc, and 2 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1256
- docs: add leowlima as a contributor for doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1257
- docs: add jberry47 as a contributor for code, doc, and 2 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1258
- docs: add calizarr as a contributor for code, doc, and test by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1259
- docs: add aapokor as a contributor for code, doc, and test by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1260
- docs: add scallen81 as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1261
- docs: add lacostag as a contributor for doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1262
- docs: add Stylopidae1793 as a contributor for doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1263
- docs: add jwheeler5 as a contributor for code, doc, and test by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1264
- docs: add AdamDimech as a contributor for code, doc, and 2 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1265
- docs: add annacasto as a contributor for code, doc, and 4 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1266
- docs: add ic as a contributor for code, doc, and test by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1267
- docs: add lchavez037 as a contributor for doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1268
- docs: add adrianethompson as a contributor for code, doc, and tutorial by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1269
- docs: add SethPolydore as a contributor for code, doc, and test by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1270
- docs: add Jake-Jasper as a contributor for code, and doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1271
- docs: add joshqsumner as a contributor for code, doc, and 3 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1272
- docs: add vektorious as a contributor for code, doc, and test by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1273
- docs: add cluebbert as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1274
- docs: add AzlinII as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1275
- docs: add jmgordon1223 as a contributor for doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1276
- docs: add zeeuqsze as a contributor for doc, tutorial, and 2 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1277
- docs: add fbarbe00 as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1278
- docs: add typelogic as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1279
- docs: add Sanazjd as a contributor for code, doc, and 2 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1280
- docs: add fabid as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1281
- docs: add jgerardhodge as a contributor for code, doc, and test by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1282
- docs: add kmurphy61 as a contributor for doc, tutorial, and 3 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1283
- docs: add stiphyMT as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1284
- docs: add ygarrot as a contributor for doc by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1285
- docs: add stevenhwu as a contributor for code by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1286
- docs: add kbgilbert as a contributor for design by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1287
- docs: add nfahlgren as a contributor for projectManagement, code, and 8 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1288
- docs: add maliagehan as a contributor for talk, tutorial, and 3 more by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1289
- docs: add wurDevTim as a contributor for code, doc, and test by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1290
- docs: add afinit as a contributor for code, doc, and test by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1291
- Update release-4.0 [skip ci] by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1292
- Deprecate get_nir by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1294
- Deprecate analyze spectral by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1295
- Update Watershed tutorial by @maliagehan in https://github.com/danforthcenter/plantcv/pull/1298
- Add grayscale tutorial and replace old NIR by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1300
- Limit jupyterlab [skip ci] by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1307
- Update PSII dataset names by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1309
- Tutorial update vis nir by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1301
- Tutorial Update thermal by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1302
- Update vis tutorial by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1303
- Update multi object tutorial by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1305
- Update ml / Naive Bayes tutorial by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1306
- Update morphology_tutorial by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1308
- Update tutorial input output by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1311
- Hyperspectral tutorial by @maliagehan in https://github.com/danforthcenter/plantcv/pull/1313
- Remove max value references by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1314
- Replace plotnine with altair by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1319
- Update seed tutorial URLs by @Stylopidae1793 in https://github.com/danforthcenter/plantcv/pull/1316
- Add hyperspectral crop by @maliagehan in https://github.com/danforthcenter/plantcv/pull/1323
- update contribution guide by @maliagehan in https://github.com/danforthcenter/plantcv/pull/1320
- Revise updating.md by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1324
- Only add tabulate naive bayes.md [skip ci] by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1318
- Rename to ksize in adaptive thresholding methods by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1325
- Cropreporter adding pam by @wurDevTim in https://github.com/danforthcenter/plantcv/pull/1217
- Add extra table of contents links by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1326
- Deprecate print results by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1327
- smf gallery wall by @maliagehan in https://github.com/danforthcenter/plantcv/pull/1329
- Rename job_extra to job_extra_directives by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1333
- Update installation guide by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1332
- Add sample label param by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1328
- Remove binder buttons from tutorial gallery by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1331
- Change license mpl2 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1334
- Update PSII tutorial by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1336
- Update json2csv outputs by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1335
- Tutorial arabidopsis multi plant by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1338
- Set num_labels to num ROIs by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1340
- Remove find objects functions by @dhiraj-ms in https://github.com/danforthcenter/plantcv/pull/1341
- docs: add dhiraj-ms as a contributor for code, doc, and test by @allcontributors in https://github.com/danforthcenter/plantcv/pull/1342
- update docs by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/1339
- Release 4.0 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/1346
New Contributors
- @wurDevTim made their first contribution in https://github.com/danforthcenter/plantcv/pull/984
- @afinit made their first contribution in https://github.com/danforthcenter/plantcv/pull/1210
- @allcontributors made their first contribution in https://github.com/danforthcenter/plantcv/pull/1234
- @dhiraj-ms made their first contribution in https://github.com/danforthcenter/plantcv/pull/1341
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v3.14.3...v4.0
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 1 year ago

PlantCV - PlantCV v3.14.3
What's Changed
- Fix ImportError in plantcv caused by change in skimage.feature function name by @fbarbe00 in https://github.com/danforthcenter/plantcv/pull/998
- Fixed check for binary image by @vektorious in https://github.com/danforthcenter/plantcv/pull/996
- Updated link and debug print to plot in texture_threshold.md by @kmurphy61 in https://github.com/danforthcenter/plantcv/pull/1008
- Changed print to plot in analyze_shape.md by @lacostag in https://github.com/danforthcenter/plantcv/pull/1012
- Update analyze_NIR_intensity.md by @Stylopidae1793 in https://github.com/danforthcenter/plantcv/pull/1009
- Change print to plot in analyze color by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1017
- Changed print to plot in analyze_thermal_values.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1028
- Update save_matrix.md to remove quotations surrounding filename by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1010
- Typo fix to mask in thermal_hist by @lchavez037 in https://github.com/danforthcenter/plantcv/pull/1011
- Updated plot to print in analyze_boundary (vertical and horizontal) by @leowlima in https://github.com/danforthcenter/plantcv/pull/1013
- Fixed typo in visualize_colorspace.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1014
- test PR, changed python versions listed for testing by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1015
- Changed print to plot in analyze_spectral.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1019
- changed print to plot in analyze_spectral by @lacostag in https://github.com/danforthcenter/plantcv/pull/1020
- Changed print to plot in analyze_stem.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1023
- Update apply_mask.md by @Stylopidae1793 in https://github.com/danforthcenter/plantcv/pull/1021
- Update PULL_REQUEST_TEMPLATE.md changed PR template link from stable branch to latest branch. by @zeeuqsze in https://github.com/danforthcenter/plantcv/pull/1022
- 1018 add install pytest cov to contribution guide by @maliagehan in https://github.com/danforthcenter/plantcv/pull/1024
- Scipy ndimage namespace fix by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1025
- Update print to plot gaussian_blur.md by @leowlima in https://github.com/danforthcenter/plantcv/pull/1026
- changed print to plot in apply_mask by @lacostag in https://github.com/danforthcenter/plantcv/pull/1027
- Changed print to plot in watershed.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1032
- change print to plot in acute_vertex.md.md by @lchavez037 in https://github.com/danforthcenter/plantcv/pull/1033
- changed white balance print to plot by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1034
- Update_print to plot_gaussian_threshold.md by @leowlima in https://github.com/danforthcenter/plantcv/pull/1035
- removed an 'else: pass' from analyze_object by @joshqsumner in https://github.com/danforthcenter/plantcv/pull/1036
- Update HistEqualization by @leowlima in https://github.com/danforthcenter/plantcv/pull/1038
- update print to plot in watershed by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1039
- Changed print to plot in erode.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1040
- Update canny_edge_detect.md by @jmgordon1223 in https://github.com/danforthcenter/plantcv/pull/1041
- changed print to plot in cluster_contours by @lacostag in https://github.com/danforthcenter/plantcv/pull/1042
- Change print to plot in skeletonize.md by @lchavez037 in https://github.com/danforthcenter/plantcv/pull/1043
- Update_image_add_print to plot by @leowlima in https://github.com/danforthcenter/plantcv/pull/1044
- update print to plot in triangle_threshold by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1045
- changed print to plot in check_cycles by @lacostag in https://github.com/danforthcenter/plantcv/pull/1046
- change print to plot transform rescale by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1047
- Update_image_subtract by @leowlima in https://github.com/danforthcenter/plantcv/pull/1048
- Changed print to plot in fill_segments.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1089
- Update_naive_bayes_classifier by @leowlima in https://github.com/danforthcenter/plantcv/pull/1088
- Updated print to plot in find_objects by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1087
- updated print to plot in get_nir by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1086
- Update_median_blur by @leowlima in https://github.com/danforthcenter/plantcv/pull/1085
- updated print to plot in image_add by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1084
- Update_Mean_Threshold by @leowlima in https://github.com/danforthcenter/plantcv/pull/1083
- update print to plot in image_subtract by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1082
- Changed print to plot in fill_holes.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1081
- Changed print to plot in canny_edge_detect.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1080
- Changed print to plot in check_cycles.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1079
- Changed print to plot in closing.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1078
- update print to plot in invert by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1077
- Changed print to plot in cluster_contours_splitimg by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1076
- change print to plot stdev_filter.md by @lchavez037 in https://github.com/danforthcenter/plantcv/pull/1073
- Update_logical_or_print to plot by @leowlima in https://github.com/danforthcenter/plantcv/pull/1067
- Changed print to plot in crop_position_mask.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1066
- changed print to plot in roi_multi by @lacostag in https://github.com/danforthcenter/plantcv/pull/1065
- changed print to plot in roi_from_binary_image by @lacostag in https://github.com/danforthcenter/plantcv/pull/1064
- Update_logical_and_print to plot by @leowlima in https://github.com/danforthcenter/plantcv/pull/1062
- Changed print to plot in crop.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1061
- change print to plot in roi_ellipse by @lacostag in https://github.com/danforthcenter/plantcv/pull/1060
- changed print to plot in spectral_index by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1059
- Update_laplace_filter_print to plot by @leowlima in https://github.com/danforthcenter/plantcv/pull/1058
- change print to plot in roi_circle by @lacostag in https://github.com/danforthcenter/plantcv/pull/1057
- Change print to plot spatial_clustering.md by @lchavez037 in https://github.com/danforthcenter/plantcv/pull/1056
- Changed print to plot in custom_range_threshold.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1055
- Changed print to plot in dilate.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1054
- Update_landmark_reference_pt_dist by @leowlima in https://github.com/danforthcenter/plantcv/pull/1053
- changed print to plot in stdev_filter by @sdkenney42 in https://github.com/danforthcenter/plantcv/pull/1052
- Change print to plot in distance_transform.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1051
- Change print to plot to sobel_filter by @lchavez037 in https://github.com/danforthcenter/plantcv/pull/1050
- Update closing.md by @jmgordon1223 in https://github.com/danforthcenter/plantcv/pull/1049
- Changed print to plot in extract_wavelength.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1094
- Changed print to plot in gaussian_threshold.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1095
- Changed print to plot in logical_xor.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1096
- Changed print to plot in nonuniform_illumination.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1097
- Changed print to plot in object_composition.md by @JoeDuenwald in https://github.com/danforthcenter/plantcv/pull/1098
New Contributors
- @fbarbe00 made their first contribution in https://github.com/danforthcenter/plantcv/pull/998
- @kmurphy61 made their first contribution in https://github.com/danforthcenter/plantcv/pull/1008
- @lacostag made their first contribution in https://github.com/danforthcenter/plantcv/pull/1012
- @Stylopidae1793 made their first contribution in https://github.com/danforthcenter/plantcv/pull/1009
- @sdkenney42 made their first contribution in https://github.com/danforthcenter/plantcv/pull/1017
- @JoeDuenwald made their first contribution in https://github.com/danforthcenter/plantcv/pull/1028
- @zeeuqsze made their first contribution in https://github.com/danforthcenter/plantcv/pull/1010
- @leowlima made their first contribution in https://github.com/danforthcenter/plantcv/pull/1013
- @joshqsumner made their first contribution in https://github.com/danforthcenter/plantcv/pull/1015
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v3.14.2...v3.14.3
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren about 2 years ago

PlantCV - v3.14.2
What's Changed
- Add gif to gitattributes to treat as binary by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/935
- Rename main branch by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/940
- Update code conduct by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/941
- Enable actions release4 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/942
- Pin matplotlib to < 3.6 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/959
- Add wavelength means Observation to analyze_spectral function by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/964
- Added compatibility for BIP data format of hsi images in read_image by @vektorious in https://github.com/danforthcenter/plantcv/pull/972
- Update installation.md by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/977
- Morphology segment combine update by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/933
New Contributors
- @vektorious made their first contribution in https://github.com/danforthcenter/plantcv/pull/972
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v3.14.1...v3.14.2
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl over 2 years ago

PlantCV - PlantCV v3.14.1
What's Changed
- Update segment_sort.py by @jdavidpeery in https://github.com/danforthcenter/plantcv/pull/892
- update documentation for visualize_colorspace by @jdavidpeery in https://github.com/danforthcenter/plantcv/pull/894
- fix bug in dtype_dict in hyperspectral read_data by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/890
- New docs page for pr review process by @jdavidpeery in https://github.com/danforthcenter/plantcv/pull/895
- Document default values by @jdavidpeery in https://github.com/danforthcenter/plantcv/pull/899
- Fix overindented docstrings by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/901
- Remove unnecessary use of comprehension by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/904
- Iterate dictionary directly by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/905
- Remove blank lines after docstring by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/900
- Group imports from same package by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/903
- Doc updates by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/910
- Hsi filename pattern matching by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/916
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v3.14...v3.14.1
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 2 years ago

PlantCV - PlantCV v3.14
What's Changed
- Finish refactor debugging by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/848
- add line return to Sample Images function by @HaleySchuhl in https://github.com/danforthcenter/plantcv/pull/856
- Add deepsource.io config file to repository by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/858
- Reorganize tests into separate modules by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/850
- Replace symlinks with image files by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/861
- Remove unnecessary whitespace by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/865
- Remove commented out code by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/866
- Merge
isinstance
calls by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/867 - Replace multiple
==
checks within
by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/868 - Refactor unnecessary
else
/elif
whenif
block has areturn
statement by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/870 - Remove blank lines after docstring by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/871
- Remove blank lines after docstring by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/872
- Remove blank lines after docstring by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/873
- Use literal syntax instead of function calls to create data structure by @deepsource-autofix in https://github.com/danforthcenter/plantcv/pull/874
- Update analysis_approach.md by @ygarrot in https://github.com/danforthcenter/plantcv/pull/876
- Update versioneer from 0.18 to 0.21 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/864
- Omit coverage for the file _version.py by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/877
- Imported name is not used anywhere in the module PY-W2000 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/869
- added sample column to case without variables by @stiphyMT in https://github.com/danforthcenter/plantcv/pull/882
- support for other dtypes in color correction by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/885
New Contributors
- @deepsource-autofix made their first contribution in https://github.com/danforthcenter/plantcv/pull/865
- @ygarrot made their first contribution in https://github.com/danforthcenter/plantcv/pull/876
- @stiphyMT made their first contribution in https://github.com/danforthcenter/plantcv/pull/882
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v3.13.4...v3.14
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren about 3 years ago

PlantCV - PlantCV v3.13.4
What's Changed
- Update dependency OpenCV to v4 by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/846
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v3.13.3...v3.13.4
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 3 years ago

PlantCV - PlantCV v3.13.3
What's Changed
- Use fewer contours in testing roi_objects by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/844
- Update hyperspectral calibration function by @nfahlgren and @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/845. Thanks to @billygrahamram for bringing the issue to our attention and providing the sample data
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v3.13.2...v3.13.3
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 3 years ago

PlantCV - PlantCV v3.13.2
What's Changed
- Scale color correction matrices to 0-255 in quick color check by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/831
- Fix bug in channel order in color correction by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/832
- Trigger GitHub Actions deployment workflow when a release is published by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/833
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v3.13.1...v3.13.2
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 3 years ago

PlantCV - PlantCV v3.13.1
What's Changed
- Fix line endings when switching between macOS/Linux and Windows by @nfahlgren in https://github.com/danforthcenter/plantcv/pull/811
- Increase flexibility for processing hyperspectral ENVI header files by @typelogic in https://github.com/danforthcenter/plantcv/pull/813
- Configure most functions to use the _debug module by @dschneiderch in https://github.com/danforthcenter/plantcv/pull/807
- Cast contour tuple as a list in find_objects by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/830
- Fix bug in color correction by @JorgeGtz in https://github.com/danforthcenter/plantcv/pull/829
New Contributors
- @typelogic made their first contribution in https://github.com/danforthcenter/plantcv/pull/813
Full Changelog: https://github.com/danforthcenter/plantcv/compare/v3.13.0...v3.13.1
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 3 years ago

PlantCV - PlantCV v3.13.0
PlantCV Version 3.13 Updates
- Update imports to discontinue the deprecation warnings in
pcv.watershed
- Update
scikit-image
requirement toscikit-image>=0.13
- Reorganizes our tutorials in several ways:
- There is now a main tutorials page that is organized as a gallery of tutorial "cards" that can be filtered by keyword tags. Each card has a launch Binder button to access the interactive tutorial and a link to the static tutorial.
- The tutorial card images and links to notebooks are remote and can be hosted from any GitHub (or other) repository.
- The static tutorial pages are now grouped in a directory called "tutorials."
- The static tutorial pages now only have a launch Binder button and render the complete Jupyter notebooks using nbviewer, rather than having a page that recreates the workflow and has a script version of the workflow.
- Added
pcv.transform.gamma_correct
which performs gamma correction on the input image (wrapper of the skimage gamma correction function). - Updated the
debug
method in the backend within more miscellaneous functions. - Expand the functionality of the metadata matcher portion of
plantcv-workflow
to support the matching of multiple metadata values.- Syntax at the command line
(--match id:1,id:2,id:3)
- Also supports lists in configuration file based parallelization
- Syntax at the command line
- Updates plantcv.hyperspectral.read_data to support Band Sequential (BSQ) in addition to Band Interleaved by Line (BIL) raw data formats for ENVI type multi/hyperspectral datasets.
- Adds
pcv.visualize.obj_sizes
function for annotating the sizes of separate objects onto a visualization. - Add
pcv.visualize. obj_size_ecdf
for a new way to visualize: empirical cumulative distribution function (eCDF). - Converted to base python classes
int
andbool
since numpy is deprecatingnp.int
andnp.bool
datatypes. - Update the fill_segments function in the morphology sub-package
- The added observations are corrected.
- Also return the
filled_mask
(which is a label image as an output) along with thefilled_image
as outputs. - The
filled_img
is generate by calling the addedcolorize_label_img
visualization function.
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl over 3 years ago

PlantCV - PlantCV v3.12.1
PlantCV Version 3.12.1 Updates
-
Bugfix (from #770 ) for an update since
OpenCV
functionpointPolygonTest
was impacting 3 analysis functions from PCV. -
Numpy is deprecating
np.int
andnp.bool
; converted these to base python classes int and bool.
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl almost 4 years ago

PlantCV - PlantCV v3.12.0
PlantCV Version 3.12 Updates
- Updated the
pcv.apply_mask()
, changed thergb_img
parameter toimg
since the function is now able to handle grayscale, NIR, and hyperspectral data. - Add json datatype check in the
add_observation
method. - Started to move some internal code within functions across the package to start using a debug module rather than having repetitive code for plotting/printing debugging images.
- Extend the
pcv.cluster_contours_splitimg
functionality to grayscale images. - Added a
bounding
parameter topcv.clustered_contours()
function so circles can be turned on or off (default behavior as on). - Added a
pcv.deprecation_warning
function for warning statements internal use within functions.- Add a "verbose" variable to pcv.params such that users have the option to turn off (deprecation) warnings by setting it to "False".
- Update and resolve a bug within the
random_sample
utility function so that it works as intended on datasets with subdirectories. - Added a new method (save_results) to the Outputs class.
outputs.save_results
supports two output formats, JSON and CSV. The code fromplantcv.print_results
was moved to the save_results method and a deprecation warning is now printed via print_results. When run with outformat = "json",outputs.save_results
has the same functionality asplantcv.print_results
. When run with outformat = "csv", a single CSV table in "long" format is produced that is compatible with use in R. CSV format is useful for a user who runs workflows only in Jupyter or wants to utilize data for testing from Jupyter. The output format JSON must be used for parallel workflows as before.- Users will need to migrate workflows from
pcv.print_results(args.result)
topcv.outputs.save_results(args.result)
beforepcv.print_results
is removed.
- Users will need to migrate workflows from
- Addition of RGB2CMYK function to PlantCV to allow the conversion of images from the RGB colour space to CMYK colour space and split the channels.
- Updated the way PlantCV handles subdaily timestamps for parallelization. Now will work with months and days even where there are no years.
Version 3.12.0 breaking changes
pcv.apply_mask()
, changed thergb_img
parameter toimg
pcv.cluster_contours_splitimg
, changed thergb_img
parameter toimg
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl about 4 years ago

PlantCV - PlantCV v3.11.1
Release v3.11.1
This release is an update of v3.11.0 to correctly trigger a deployment to PyPI and conda-forge.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren about 4 years ago

PlantCV - PlantCV v3.11.0
3.11.0 updates
- Added a
label
parameter to all PlantCV functions that save observations. Thelabel
parameter can be used to set asample
name when saving observations. Multiple samples can be saved per image now, allowing for repeated measurements, which simplifies workflows that measure multiple objects or regions of interest - Added a
sample
parameter toOutputs.add_observation
.Outputs
class observations are now organized undersample
names so that multiple samples can be associated with a single workflow. - Add function
pcv.transform.warp
to fuse images that have different size/scale/proportions, e.g. from two (different) cameras in different locations. The function accepts 2 images and 4 pairs of points in order to compute a perspective transformation matrix so the images overlay nicely. - Update the function
pcv.hyperspectral.analyze_index
to be more robust to NaN values and to also only consider finite values when calculating index statistics even when values range to positive or negative infinity. - Documentation updates
- Prioritize the conda-forge channel in environment.yml
- Minor updates/bug fixes
- Add conda-forge badge to README
- Set
.gitattributes
to use Linux line endings on all platforms - A handful of minor changes to functions inside the morphology sub-package.
- Segment insertion angle was failing on skeleton structures that should have been successful, so a tweak to the part of the algorithm that combines the stem segments into a single object helps.
- Branch and tip points should be integers.
- Bugfix within
pcv.canny_edge_detect function
where the debug parameter had no effect when the line thickness is set. - Replaced MAINTAINER command in Dockerfile with LABEL because MAINTAINER is deprecated
- The workflow parallelization was duplicating the name of the image for the metadata "image". Removed the concatenation of the path (including name) and the name.
- Moved
pcv.resize
to the transform sub-packed. Also extended the functionality into the newpcv.transform.resize
andpcv.transform.resize_factor
.
Version 3.11.0 breaking changes
- A new
sample
input was added to theOutputs.add_observations
class method. - Observations stored in
Outputs
class instances have an extra hierarchical layer to account for sample names. To access an observation, the sample name needs to be included, for example: pcv.resize
deprecated and replaced withpcv.transform.resize
andpcv.transform.resize_factor
pcv.outputs.observations["sample_name"]["variable_name"]
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren about 4 years ago

PlantCV - PlantCV v3.10.1
3.10.1 updates:
- Updates
plantcv.plot_image
and various other plotting methods to create a new figure for each plot. PlantCV now works better with the%matplotlib notebook
plotting method in Jupyter. - Fixes an issue where
plantcv.visualize.pseudocolor
plotted the image even when debug mode was disabled. - Various documentation updates, corrections, and reformatting.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 4 years ago

PlantCV - PlantCV v3.10.0
3.10 updates:
- Integration with GitHub actions.
- More specifically, makes the deploy packaging Actions job dependent on the proceeding build job. I.e. we should only upload packages to PyPI if tests pass.
- Update plantcv.auto_crop to allow users to separately parameterize the padding.
- This edit allows users to add custom padding to the top, bottom, left, and right of a cropped image.
‘padding_x’ and ‘padding_y’ can both accept tuples (optionally)
- This edit allows users to add custom padding to the top, bottom, left, and right of a cropped image.
- Modified the Dockerfile to install dependencies (other than OpenCV) from the requirements.txt file (Dockerfile had previously hardcoded dependencies for PlantCV). The Docker container is now built with the correct dependencies each time without manually updating the Dockerfile.
- Python multiprocessing was local parallelization (i.e. computing took place where the program plantcv-workflow.py was run). This functionality is maintained by using the dask.distributed LocalCluster option. However, using dask-jobqueue, we now support remote, distributed computing using cluster options available through dask-jobqueue, currently: HTCondorCluster, LSFCluster, MoabCluster, OARCluster, PBSCluster, SGECluster, and SLURMCluster.
- Add and revise testing to bring code coverage to 100%!
- Added plantcv.morphology.fill_segments
- This function propogates the labels of a segmented skeleton to fill a mask, using a watershed algorithm. Data about the area of each filled segments automatically gets store to Outputs.
- Added a photosynthesis sub-package
- Refactored plantcv.fluor_fvfm which is now plantcv.photosynthesis.analyze_fvfm to be consistent with the naming of other analysis functions. Also fixed a bug within this function. Previously, the function returned the Fm image to users. Now corrected so that Fv/Fm image is getting returned.
- Added support for CropReported fluorescence image data. This was achieved by adding a new function, called plantcv.photosynthesis.read_cropreporter, that reads in, reshapes, and pulls out fdark, fmin, and fmax from a .DAT file which also utilizing the metadata recorded about image data in the corresponding .INF file.
Version 3.10 breaking changes:
- Refactored plantcv.fluor_fvfm which is now plantcv.photosynthesis.analyze_fvfm to be consistent with the naming of other analysis functions. Input parameters are unchanged.
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl over 4 years ago

PlantCV - PlantCV v3.9.0
Version 3.9 updates:
plantcv.morphology.find_tips
andplantcv.morphology.find_branch_pts
now saves observations (a list of coordinates of the relevant points identified from a skeleton image) to the Outputs class.- Reworked the
plantcv.color_palette
function to use matplotlib colormaps instead, so users now have a wide range of coloring options.- Added three new parameters to
pcv.params
to controlcolor_palette
(and functions that use it). The parameters arecolor_scale
: the name of the colormap,color_sequence
: "sequential" or "random", andsaved_color_scale
: stores the last color scale. The latter is important for the morphology functions to plot results correctly as the colors of the segments need to get reused to match up from function to function.
- Added three new parameters to
- Add
plantcv.morphology.analyze_stem
- This function measures stem height, length, and angle from sorted segments of a skeletonized plant.
- Plots debug image that shows detected height and angle
- Internal updates to the
plantcv.transform.find_color_card
function- Updates to the contour sorting algorithm to compensate for changes in the outputs of the OpenCV function
cv2.minAreaRect
in version 3.4.10. Their updates were having implications in the sensitivity of the PlantCV algorithm and causing colorcards to stop being identified in example images. - This function now also stores observations to the Outputs class for the mean/median (user defined) color chip area, height, and width. This functionality should remove the need to to include a size marker for scaling measurements in images that already have a color card.
- Updates to the contour sorting algorithm to compensate for changes in the outputs of the OpenCV function
- Updates the documentation and README file to fix a few typos/formatting issues and update some content for relevance to the current version of PlantCV.
- Update/bugfix to
plantcv.hyperspectral.calibrate
- There was a mistake in the calibration code that resulted in the actual algorithm differing slightly from the proposed (raw-dark)/(white-dark).
- Now also truncate any negative values to 0
- PEP8 and other miscellaneous code cleanup to clear the way for GitHub Actions
- Replace prior continuous integration platform with GitHub Actions
- Add
plantcv.spatial_clustering
- New function that segments features of images based on their distance from each other.
- Takes a binary mask, minimum number of clusters, which algorithm to use (either “DBSCAN” or “OPTICS”), the maximum distance between two pixels before they can be considered part of the same cluster, and outputs a clustered image as well as the masks of each cluster.
- Update Dockerfile recipe to fix missing libGL dependency, which was causing an ImportError
- Update
plantcv.hyperspectral.read_data
, which is used ifmode=”ENVI”
duringplantcv.readimage
so that we now set a default wavelength units to “nm” to enable more flexibility in the image files that we can read in. - Bugfix to the data getting saved out to the
hue_circular_std
observation while runningplantcv.analyze_color
. - Add summary statistics to the observations recorded while running
plantcv.analyze_nir
so they now include mean, median, and stdev observations in the Outputs class while running NIR workflows. - Update the order of debug images plotted to match the order of outputs in
plantcv.rectangle_mask
andplantcv.threshold.*
. - Updated and improved documentation for the machine learning tutorial.
- Update
plantcv.threshold.custom_range
to be R,G,B instead of B,G,R - Added many new indices and completely restructured the spectral index family of options into their own functions beneath the
spectral_index
sub-package.- See here for the latest list of supported spectral indices.
- Add
plantcv.visualize.auto_threshold_methods
which aims to assist in streamlining workflow development. - Update input parameter in the function
plantcv.threshold.custom_range
fromrgb_img
toimg
since the function also works on grayscale images. - Internal enhancements to the
plantcv.hyperspectral.extract_index
to significantly increase speed and decrease memory needed for hyperspectral workflows. - Add
plantcv.stdev_filter
- Creates a grayscale image of pixel-wise standard deviation from a grayscale input image
- Made two small updates to
plantcv.utils.sample_images
- Removes newline characters from each row of
SnapshotInfo.csv
- Only appends rows of
SnapshotInfor.csv
to a list for random sampling if the row has image data records
- Removes newline characters from each row of
- Removed a Non-ascii character causing an error.
Version 3.9 breaking changes:
- Update input parameter in the function
plantcv.threshold.custom_range
fromrgb_img
toimg
since the function also works on grayscale images. - Removed
plantcv.hyperspectral.extract_index
and replaced it with theplantcv.spectral_index
subpackage (see above).
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl almost 5 years ago

PlantCV - PlantCV v3.8.0
- Fixed a few missing pages and broken links within the documentation.
- Add
plantcv.hyperspectral.analyze_index
- This function now accepts min/maximum bin labels, or can auto-calculate bins based on image data range.
- Collects frequency data for all integrated indices (mean, median, std, frequency).
- Optionally plots a histogram of frequency values.
- Add links to source code throughout documentation pages. This allows users to more easily find the raw, source code for those interested in learning more of the mechanics of a function than the documentation page provides.
- Adds a
border_width
parameter toplantcv.within_frame
.- Allows the user to specify how many pixels from the image edge they want to consider for detecting out-of-frame objects.
- The default is 1 px, which maintains the previous default behavior.
- Made some updates to the documentation based on usage on Windows.
- Update dependencies in
requirements.txt
- Add
plantcv.roi.roi2mask
which allows user to create a binary mask from any contour. - Added
plantcv.plantcv.visualize.colorspaces
which- Used to quickly view all potential colorspaces, that are often used for thresholding/object segmentation steps.
- Plots out an image will all potential colorspaces, labeled with which colorspace each is, next to the original image.
- Add indices to the
plantcv.hyperspectral.extract_index
function- Add PRI (Photochemical reflectance index)
- Add ARI (anthocyanin reflectance index)
- Add ACI (anthocyanin content index)
- Add and update
plantcv.hyperspectral.analyze_spectral
function- Was storing out information, mainly about the global statistics like the maximum reflectance value for the entire datacube.
- Average reflectance per band was the only per-band measurement that we had been doing but really most of the stats could be per-band rather than global.
- Modify various .npz test data files in code tests (avoid using Numpy object arrays and the pickle module)
- In plantcv.transform.create_color_card_mask() the exclude input option required users to input excluded color chip IDs in descending numerical order.
- Adds
plantcv.threshold.saturation
function for masking saturated pixels.- Any channel at or above a certain threshold
- All channels at or above a certain threshold.
- The user can also pick this threshold (default = 255).
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl about 5 years ago

PlantCV - PlantCV v3.7.0
- Dropped Python v2.7 support (https://python3statement.org/).
- Added a Hyperspectral tool sub-package:
- Read in ENVI hyperspectral data with new option for the existing
plantcv.readimage
function. While reading in hyperspectral data a pseudo-rgb image is also created. - Calibrate raw hyperspectral image data with white and dark reference images with
plantcv.hyperspectral.calibrate
. - Calculate indices (e.g. NDVI) from a hyperspectral datacube with
plantcv.hyperspectral.extract_index
. - Extract bands from a hyperspectral datacube that are the closest to user defined wavelengths with
plantcv.hyperspectral.extract_wavelength
. - Add functionality to the existing function
plantcv.apply_mask
that allows users to mask hyperspectral images. - Add documentation pages and edit existing documentation pages to reflect all additions.
- Add a hyperspectral workflow tutorial.
- Read in ENVI hyperspectral data with new option for the existing
- Add documentation
- Underlying functions used in
plantcv-workflow
. - Information about updating PlantCV.
- Underlying functions used in
- Minor update to
plantcv.morphology.segment_sort
to ensure the function is robust. - Enhance various region of interest
plantcv.roi.*
functions to draw the debug image before hitting the fatal error when an ROI extends beyond the image boundaries and start printing a warning if a user defined grid causes ROI's to overlap
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl over 5 years ago

PlantCV - PlantCV v3.6.2
- Documentation updates.
- Coerce n to be an integer in
plantcv.util.sample_images
function. - Add regex metadata parsing option to PlantCV workflow.
- Add ISO standard for timestamp separator.
- Minor bug fixes.
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl over 5 years ago

PlantCV - PlantCV v3.6.1
- Add a new template for opening an issue for discussions, requesting a new feature, and for reporting an issue/requesting help.
- Give more detail in documentation (how to change version of documentation, types of images compatible with workflow parallelization, example batch script for windows).
- Updates to
plantcv.analyze_color
. Users are given the option to create histograms from data about all available colorspaces or just a subset but data was getting stored out for all channels regardless of the selected colorspace. Update so that only data requested gets saved out (since color frequency data is verbose). - Update method for
plantcv.apply_mask
to make it more robust to the types of data that can get masked. - Bugfix with
plantcv.cluster_contours
to allow number of row and/or columns to exceed 9. - Update method for
plantcv.roi_objects
since the old algorithm fails when a ROI is small enough to be fully enclosed by a contour. - Bugfix for the sorting algorithm within
plantcv.morphology.segment_insertion_angle
since it was overly sensitive. - Update docker.
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl over 5 years ago

PlantCV - PlantCV v3.6.0
PlantCV v3.6.0 adds new functionality and fixes several bugs.
Summary of changes
- Updated
pcv.visualize.pseudocolor
to stop scaling the background values - Add image dataset random sampling tool
plantcv-utils.py sample_images
- Added custom ROI polygon tool
pcv.roi.custom
- Added grayscale image value rescaling function
pcv.transform.rescale
- Fixed bug in
pcv.roi_objects
for evaluating the largest contour - Fixed bugs in documentation
- Added function for correcting for non-uniform illumination
pcv.nonuniform_illumination
- Restricted scikit-image dependency to v0.14.2 to bypass an issue with v0.14.3 in Windows
- Added function to generate kernel structuring elements
- Added pip to conda environment dependencies in
environment.yml
- Added improvements to
pcv.morphology
functions- Make it optional for the first segment to be classified as stem regardless in the segment_sort function
- Update method for sorting through segments in the segment_insertion_angle function, makes it quicker and more robust to measuring every leaf.
- Update plotting method for segment_id since the previous method can give a weird artifact when plotting segments that have been combined.
- Update pruning function
- Removing old warnings that aren't really relevant anymore
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 5 years ago

PlantCV - PlantCV v3.5.0
PlantCV v3.5.0 adds new functionality and fixes several bugs and usability issues.
Summary of changes:
- Added
pcv.analyze_thermal_values
to handle thermal data analysis. - Update Dockerfile
- Added a thermal tutorial
- Added functionality to
pcv.readimage
to allow it to handle .csv format files for thermal imaging. - Add
pcv.visualize.clustered_contours
which creates an image that assists with debugging parameters upstream of usingpcv.cluster_contours
- Bug fix regarding listing observations while running PlantCV parallel workflows.
- Removed legacy format where
pcv.analyze_*
functions returned lists. When a function returns a single image it will no longer store that image inside a list object. - Various documentation updates and improvements
- The function
pcv.within_frame
now stores an observation in addition to returning a boolean to the user
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl almost 6 years ago

PlantCV - PlantCV v3.4.1
PlantCV v3.4.1 is an intermediate release to address a few issues, particularly with the new JSON output data format.
Summary of changes:
- Updated format of JSON output files
- Added
plantcv-utils.py
script with ajson2csv
conversion tool for exporting CSV files from the JSON output data plantcv-workflow.py
,plantcv-train.py
, andplantcv-utils.py
are now installed in the environmentbin
directorypcv.visualize.pseudocolor
now has the ability to apply custom padding when cropping- Updated skeleton pruning algorithm
- Combined pruning and skeleton segmentation
- Put the iterative pruning method into an internal function
- set roi_type='partial' default for the roi_objects function
- Add fill_holes function that does a flood fill on black holes inside a binary mask
- Various documentation updates and improvements
- Updated the
analyze_nir_intensity
function to usecv2.calcHist
instead ofnp.histogram
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren almost 6 years ago

PlantCV - PlantCV v3.4.0
Biosphere - Plants and Vegetation
- Python
Published by HaleySchuhl almost 6 years ago

PlantCV - PlantCV v3.3.0
PlantCV v3.3.0 adds new functionality and fixes several bugs and usability issues. Big thanks to @HaleySchuhl, @dschneiderch, @JLJ90, @huberma, and @karnoldbio for work and guidance on the updates below.
Summary of changes:
- Added
plantcv.visualize
sub-package- Moved
pseudocolor
andhistogram
into sub-package - Added
colorize_masks
function to sub-package to make false-colored images from a set of binary masks (e.g. output masks from the naive Bayes classifier)
- Moved
- Added
plantcv.opening
andplantcv.closing
functions (removes salt and pepper noise) - Added
plantcv.threshold.custom_range
function (threshold based on upper and lower values) - Added
plantcv.within_frame
function (tests if object, in a binary image, is within the field of view) - Added
plantcv.morphology
sub-package- Added
skeletonize
function to sub-package (skeletonizes a binary image) - Added
prune
function to sub-package (removes spurs from skeleton) - Added
check_cycles
function to sub-package (checks for connected cycles in skeleton) - Added
find_branch_pts
function to sub-package (finds branch points in skeleton) - Added
find_tips
function to sub-package (finds tips in skeleton) - Added
segment_skeleton
function to sub-package (segments a skeleton into component paths) - Added
segment_sort
function to sub-package (sorts segments into primary and secondary groups) - Added
segment_id
function to sub-package (plots/labels segment IDs) - Added
segment_path_length
function to sub-package (calculates segment lengths) - Added
segment_euclidean_length
function to sub-package (calculates segment Euclidean lengths) - Added
segment_curvature
function to sub-package (calculates the ratio of path length to Euclidean length) - Added
segment_angle
function to sub-package (calculates the overall angle of the segment) - Added
segment_insertion_angle
function to sub-package (calculates the angle that a segment intersects another segment) - Added
segment_tangent_angle
function to sub-package (calculates the angle between the tangents of the ends of each segment)
- Added
- Added
parallel
sub-package.- The sub-package contains functions that were originally from the
plantcv-pipeline.py
script file - Renamed
plantcv-pipeline.py
toplantcv-workflow.py
- Removed SQLite database and requirements. Data are now output in a JSON-formatted text file
- The sub-package contains functions that were originally from the
plantcv.print_results
now outputs data in JSON format- The
Outputs
class now stores data in a single dictionary - Added
add_observation
method to theOutputs
class. Allows user to add custom observations to the output - Output observations are stored by a unique variable name along with a trait name, method, scale (units), data type, value, and label(s)
- Keep 1st generation sub contours when using 'largest' in
roi_objects
- In
analyze_color
, color and color property scales now use the conventional scale for each type (e.g. hue is a value from 0-359 degrees while green is a value from 0-255) - Added summary statistics for hue in
analyze_color
: median hue value, circular mean hue value, and the circular mean standard deviation of hue - Removed the
bins
argument fromanalyze_color
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren almost 6 years ago

PlantCV - PlantCV v3.2.0
PlantCV v3.2.0 adds new functionality and fixes several bugs and usability issues.
Summary of changes:
- Added functionality to the
plantcv.print_results
function. It now allows users to print the data returned, naming the .txt file whatever they would like. - Added complete scripts at the bottom of each PlantCV tutorial in the documentation.
- Added new function
plantcv.roi.multi
, allowing users to specify parameters for a grid of regions of interest (ROIs) or supply a list of centers for ROIs if they are not in a grid arrangement.
Restructure the wayplantcv.analyze_*
functions return outputs. Each function now returns the images so the user can save them. - Enhancements to the
plantcv.pseudocolor
function including the addition of an “image” background option, adding the option to turn off titles/axes and colorbar, and an auto-crop option.
Changed Matplotlib import (now imported globally inplantcv.__init__.py
), fixing the non-fatal warning from setting the matplotlib backend multiple times. - Added debug mode to
plantcv.analyze_color
function.
plantcv.analyze_bound_horizontal
was previously determining line position differently than the rest of the functions in PlantCV. Instead ofline_position=0
signifying the bottom of the image, it will now signify the top of the image. - Add a
line_thickness
graphics options to theparams
class so users can change the line thickness for the functions plotting lines onto images (analyze_object, all ROI functions, analyze_bound_horizontal, analyze_bound_vertical, acute_vertex, x_axis_pseudolandmark, y_axis_pseudolandmark, scale_features, roi_objects, object_composition). - Add a link in the table of contents to the PlantCV Hyperspectral subproject documentation.
- Add an “image” background option to the
plantcv.auto_crop
function. - Improved code testing coverage to 100%.
- Allow string arguments to be case insensitive.
- Added a new option to
roi_type
inplantcv.roi_objects
which allows only the largest contour to to be kept. - Standardize argument order and naming across functions.
- Updated functionality of the
plantcv.plot_hist
function, including adding an optional mask argument and allowing users to save histograms.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren about 6 years ago

PlantCV - PlantCV v3.1.0
PlantCV v3.1.0 addresses several bugs and usability issues. Big thanks to @HaleySchuhl and @dschneiderch!
- All analysis functions now output visualization images rather than attempting to save them directly. This removes the
filename
input parameter and gives users the flexibility to save, plot, etc. what they want to where they want. - A new function
pseudocolor
was added to give users the ability and flexibility to take grayscale images and colorize them with anymatplotlib
colormap, autocrop them to the plant (or other object), mask out background, etc. This function can be used with the changes made above to customize visualization of output images. Colorized images have a built-in color scale bar. - Due to the changes above, the
plot_colorbar
function was removed as it's no longer used. - Histograms are now plotted with
plotnine
instead ofmatplotlib
. - A Canny edge detection function was added (
canny_edge_detect
). - A color standard card auto-detection method (
transform.find_color_card
) was added.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren about 6 years ago

PlantCV - PlantCV v3.0.5
This release modifies the Travis CI build procedure to use dependencies installed from PyPI rather than conda
. This should fix issues with deployed versions of PlantCV on PyPI and allow us to identify dependency incompatibilities faster. It also decreased build and testing types by more than half.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 6 years ago

PlantCV - PlantCV v3.0.4
This release fixes an issue that prevents PlantCV from being installed with OpenCV v4, which is not currently supported. The documentation and docstrings were thoroughly revised for correctness, completeness, and consistency. The installation instructions were updated to include methods for installing PlantCV from PyPI and Bioconda.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 6 years ago

PlantCV - PlantCV v3.0.3
PlantCV v3.0.3 fixes some minor issues with PyPI deployment.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 6 years ago

PlantCV - PlantCV v3.0.2
PlantCV v3.0.2 only changes PyPI authentication information.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 6 years ago

PlantCV - PlantCV v3.0.1
PlantCV v3.0.1 adds a new Travis CI build method on git tags that should also trigger auto-deployment to PyPI.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 6 years ago

PlantCV - PlantCV v3.0
With PlantCV v3.0 PlantCV should be available on PyPI (if all goes well). Big thanks to @HaleySchuhl and @dschneiderch for all the pull requests and all the other contributors.
PlantCV v3.0 contains the following new features/changes:
plantcv.fill
is now significantly faster using a scikit-image backendplantcv.median_blur
now allows the kernel size to be asymmetric (a two-element tuple)- Fixed issues with Read the Docs rendering
- Documentation was updated to fix typos, command examples, etc.
- Some test data was reduced in size to shrink the memory footprint during build tests
- Fixed some package usage syntax to avoid future method deprecation issues
- Added color card mask helper function
- Added color card checker analysis function
- Added color card auto detection method (thanks to @bhive01 for the method inspiration)
- Improved code testing coverage to 98%
- Added method to read raw Bayer images
- Updated
plantcv.fluor_fvfm
to accept 8-bit images in addition to 16-bit images - Added conda environment YAML configuration files for quick conda installation
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 6 years ago

PlantCV - PlantCV v3.0.dev2
PlantCV v3.0.dev2 is an early release in the v3 release cycle. A full v3 will be released at a later date. While this is an early release, it should be considered essentially production-ready. Note that this release breaks previous syntax/functionality with the goal of making things easier. Updating existing code to the new styles should be fairly straightforward.
Overview of changes:
- The input and output
device
has been eliminated for all functions. The step counter still exists in the background. - The input
debug
has been eliminated for all functions. It can now be set globally with the classParams
: https://plantcv.readthedocs.io/en/latest/params/. - The output location of images printed in debug mode can now be set using the
plantcv.params.debug_outdir
global setting: https://plantcv.readthedocs.io/en/latest/params/ - Some function arguments were refactored. Many were changed to make it more explicit what type of input image is required. The new vocabulary is generally:
img
= all image types,rgb_img
= RGB images only,gray_img
= Grayscale images only,bin_img
ormask
= Binary images only. Some other inputs were renamed for consistency and/or PEP8 formatting guidelines. All function call changes are summarized here: https://plantcv.readthedocs.io/en/latest/updating/#updating-to-v3. - Several functions were removed and replaced with updated versions.
define_roi
: replaced with the functions in the subpackageroi
.analyze_bound
: replaced with the functionsanalyze_bound_horizontal
andanalyze_bound_vertical
.rotate_img
: replaced with the functionrotate
.- The threshold functions
binary_threshold
,adaptive_threshold
,otsu_auto_threshold
, andtriangle_auto_threshold
were moved to a new subpackage and are now:plantcv.threshold.binary
,plantcv.threshold.gaussian
,plantcv.threshold.mean
,plantcv.threshold.otsu
,plantcv.threshold.triangle
. - These changes are also summarized here: https://plantcv.readthedocs.io/en/latest/updating/#updating-to-v3.
- Testing coverage was increased to 94%.
- Some additional general documentation and docstring reformatting for consistency.
- The FAQ was updated.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 6 years ago

PlantCV - PlantCV v3.0.dev1
PlantCV v3.0.dev1 is an early release in the v3 release cycle. A full v3 will be released at a later date. While this is an early release, it should be considered essentially production-ready.
Some features already included in the v3 release:
- Distance transformation
- Release of PlantCV through Docker containerization
- Full and tested Python2/3 and OpenCV2/3 compatibility
- Global settings and simplified API framework
- New boundary line tools
- Simplified region of interest (ROI) tools
- Color correction/standardization
- Package namespace reorganization
- Documentation improvements and bug fixes
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren almost 7 years ago

PlantCV - PlantCV v2.1
The PlantCV release v2.1 is an update to the v2.0 release. The release contains some minor bug fixes and updated documentation based on feedback we received for the PlantCV v2.0 preprint.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 7 years ago

PlantCV - PlantCV v2.0
The PlantCV release v2.0 marks the final commit used in our upcoming manuscript describing improvements to PlantCV since v1.0. If you are updating from v1, please see our instructions here.
A brief description of changes since the v1.0 release:
- Changed license from GPLv2 to MIT
- Reformatted code for PEP8 compliance
- General improvements for Python2.7 and 3 compatibility
- Updated documentation (installation methods, tutorials, contribution guide, function documentation)
- Added issue and pull request templates
- Added continuous integration (Travis CI)
- Added unit test coverage (Coveralls)
- Added continuous documentation (Read the Docs)
- Added Jupyter notebook integration
- Improved metadata parsing
- Rewrote the parallelization and data management tool in Python (plantcv-pipeline.py)
- New functions
- White balance (white_balance)
- Triangle auto-threshold (triangle_auto_threshold)
- Otsu auto-threshold (otsu_auto_threshold)
- Adaptive threshold (adaptive_threshold)
- Gaussian blur (gaussian_blur)
- Size marker normalization (report_size_marker_area)
- Multi-plant detection (cluster_contours, cluster_contours_split_img, rotate_img, shift_img)
- Combined image processing (get_nir, resize, crop_position_mask)
- Watershed segmentation (watershed_segmentation)
- Landmarking functions for morphometrics (acute, acute_vertex, x_axis_pseudolandmarks, y_axis_pseudolandmarks, scale_features)
- Added machine learning training (plantcv.learn submodule) and classifier tools
- Training program (plantcv-train.py) with two methods:
- Naive Bayes (naive_bayes)
- Naive Bayes multiclass (naive_bayes_multiclass)
- Classifier (naive_bayes_classifier)
- Training program (plantcv-train.py) with two methods:
Citation
Gehan MA., Fahlgren N., Abbasi A., Berry JC., Callen ST., Chavez L., Doust AN., Feldman MJ., Gilbert KB., Hodge JG., Steen Hoyer J., Lin A., Liu S., Lizárraga C., Lorence A., Miller M., Platon E., Tessman M., Sax T. 2017. PlantCV v2.0: Image analysis software for high-throughput plant phenotyping. PeerJ Preprints 5:e3225v1. DOI: 10.7287/peerj.preprints.3225v1.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren over 7 years ago

PlantCV - PlantCV v1.1
This is a minor release that adds mkdocs build files to the v1.0 release so that documentation can be built automatically with readthedocs.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren almost 9 years ago

PlantCV - PlantCV v1.0
PlantCV release v1.0 marks the final commit used in our manuscript [1]. If you want to repeat an analysis from the paper, checkout tag v1.0 after cloning the repository.
- Fahlgren N, Feldman M, Gehan MA, Wilson MS, Shyu C, Bryant DW, Hill ST, McEntee CJ, Warnasooriya SN, Kumar I, Ficor T, Turnipseed S, Gilbert KB, Brutnell TP, Carrington JC, Mockler TC, Baxter I (2015) A versatile phenotyping system and analytics platform reveals diverse temporal responses to water availability in Setaria. Molecular Plant, in press.
Biosphere - Plants and Vegetation
- Python
Published by nfahlgren almost 10 years ago
