Changed:
- Add
project.upload.archive_tasks()
for bulk archival of tasks.
Changed:
- Move changelog to https://docs.redbrickai.com/changelogs/redbrick-sdk-changelog
Changed:
- Add
project.created_at
andproject.updated_at
properties.
Changed:
- Internal changes.
Changed:
- Add
org.delete_taxonomies()
for bulk delete of taxonomies.
Changed:
- Update
org.taxonomies()
to return complete list of taxonomies. - Add
org.delete_projects()
for bulk delete of archived projects.
Changed:
- API keys will be exported as
API Key - {keyName}
- Improve concurrency of file downloads
Changed:
- All exported label objects contain a
labelId
property, which can be directly used to create entity-level comments viaproject.upload.create_comment()
Requires: RedBrick v1.5.0+
- Ability to add pins to global/entity comments:
- Internal API changes
📢 We’re Now on DeepWiki!redbrick-sdk is now live on DeepWiki — with built-in, high-quality AI chat support.
Ask questions, get code examples, and explore docs with DeepWiki’s smart, conversational assistant — all powered by our latest documentation.
- Enable webhook option
Changed:
- Updated nibabel to force numpy v2
- Fixed update webhook API
Changed:
- org.get_dataset() now returns RBDataset instead of Dict
Changed:
- Export.list_tasks() to return tasks currently in the given stage if no
search
filter is specified
Added
- DICOM Seg support in upload and export modules (
--dicom-seg
in CLI)
- Stage name validation in send_tasks_to_stage
- Update docs
Added
- Create task comments - https://sdk.redbrickai.com/sdk.html#redbrick.common.upload.Upload.create_comment
- Add review_comment while reviewing tasks - https://sdk.redbrickai.com/sdk.html#redbrick.common.labeling.Labeling.put_tasks
- Update ModelStage.Config
- Silently bypass empty mask error on upload
Changed:
- Added org.archive_project() / org.unarchive_project() to manage soft deletion.
- org.delete_project() now performs a full hard delete operation.
Changed:
- Fix license check with tools like liccheck
- @marcus-wirtz-snkeos made their first contribution in https://github.com/redbrick-ai/redbrick-sdk/pull/214
- AltaDB Datasets
- Performance upgrade for semantic and binary mask exports
Requires RedBrick: v1.4.0+Added
- OrgMember.is_active: bool
- Organization.Team.enable_members(member_ids: List[str]) -> None
- Organization.Team.disable_members(member_ids: List[str]) -> None Updated
- Organization.Team.list_members(active: bool = True) -> List[OrgMember]
- Workspace.update_datapoint_attributes(dp_id: str, attributes: Dict) -> None
- StorageMethod.AltaDB is now a RedBrick integrated storage method Removed
- Organization.Team.remove_members(member_ids: List[str]) -> None
- Use default series names in file paths
- Add storageId to task list and export
- Fix MHD segmentation direction
- Add labels export deserialization
- org.team.remove_members
- Support for multiple assignees
- Fix org.team.list_invites()
Requires RedBrick: v1.3.0+
Organization
- team
- get_member(member_id: str) -> OrgMember
- list_members() -> List[OrgMember]
- remove_member(member_id: str) -> None
- list_invites() -> List[OrgInvite]
- invite_user(invitation: OrgInvite) -> OrgInvite
- revoke_invitation(invitation: OrgInvite) -> None
- storage
- get_storage(storage_id: str) -> StorageProvider
- list_storages() -> List[StorageProvider]
- create_storage(storage: StorageProvider) -> StorageProvider
- update_storage(storage_id: str, details: StorageProvider.Details) -> StorageProvider
- delete_storage(storage_id: str) -> bool
- verify_storage(storage_id: str, path: str) -> bool Workspace
- create_datapoints(storage_id: str, points: List[InputTask], concurrency: int = 50) -> List[Dict]
- delete_datapoints(dp_ids: List[str], concurrency: int = 50) -> bool
- update_datapoints_metadata(storage_id: str, points: List[Dict]) -> None
- add_datapoints_to_projects(project_ids: List[str], dp_ids: List[str], is_ground_truth: bool = False) -> None Project
- workforce
- get_member(member_id: str) -> ProjectMember
- list_members() -> List[ProjectMember]
- add_members(members: List[ProjectMember]) -> List[ProjectMember]
- update_members(members: List[ProjectMember]) -> List[ProjectMember]
- remove_members(member_ids: List[str]) -> None
- Unified control for client session
- Update consensus stage names
- Add status in task export
- Compress MHD segmentations
Compatible with redbrick@v1.2.0+
- Dropped Python 3.8 support - https://endoflife.date/python
- Datapoint classification: https://sdk.redbrickai.com/formats/index.html#redbrick.types.task.OutputTask.datapointClassification
- MHD segmentations:
- Upload: https://sdk.redbrickai.com/sdk.html#redbrick.upload.Upload.create_datapoints & https://sdk.redbrickai.com/sdk.html#redbrick.upload.Upload.update_tasks_labels
- Label: https://sdk.redbrickai.com/sdk.html#redbrick.labeling.Labeling.put_tasks
- Export: https://sdk.redbrickai.com/sdk.html#redbrick.export.Export.export_tasks
- Also added
prune_segmentations
support in Label & Upload labels methods, which does a two-way pruning of uncommon instances in segmentMap and segmentations
- Upload attributes along with the datapoints
- Improve processing time of process_nifti_upload
- Fix bug in process_nifti_upload
- fix input types
- (v2.19.8) Fixes #197
- Make pydicom dep more flexible
- Download AltaDB series while exporting a taks
- export seriesFrameIndex only when it has a non null value
- Improve speed of binary mask exports
Fixes:
- Fix workspace datapoint update query
- Fix bug in segmentations upload
Changed:
- Improve processing time of process_nifti_upload
- 🎉 @anaoum made their first contribution in https://github.com/redbrick-ai/redbrick-sdk/pull/192
- Fixes segmentation uploads to azure containers.
- Fixes length measurement labels exports.
- Adds more model sub types to CT Segmentator.
Changed:
- Add datapoint classification to export
- fix(redbrick/utils/rb_dicom_utils.py): Fix datapoint exports using SDK
- fix docker build dependencies
- Python 3.13
- Add python 3.13 support
- allow mixed formats task updates
- Patch an edge case in export of half-split data
- remove “test” from updated series name
- invalidate series items during update
Changed:
- remove gzipping on upload
- Fields in label computed on label editor to be optional
Changed:
- SDK changes for read only labels
- Update metadata along for tasks
- Fix consensus index issue
Changed:
- Set Consensus Settings during or after project creation
Changed:
- project.settings.task_duplication
- SDK Support for Local and External HeatMaps
- @AvanishCodes made their first contribution in https://github.com/redbrick-ai/redbrick-sdk/pull/178
Changed:
- SDK Support for Local and External HeatMaps
- @AvanishCodes made their first contribution in https://github.com/redbrick-ai/redbrick-sdk/pull/178
Support for custom application logging level using environment variable
REDBRICK_SDK_LOG_LEVEL
or through redbrick.config.log_level
attribute.For example, in order to suppress all INFO and WARNING messages and only log for ERROR:REDBRICK_SDK_LOG_LEVEL=40 redbrick clone ...
-
import redbrick redbrick.config.log_level = 40 project = redbrick.get_project(…)
Update deps
- Fix consensus segmentation export with empty base
- Boost CT Segmentator
- Minor patch
Changed:
- Now available as a Docker image - https://hub.docker.com/r/redbrickai/redbrick-sdk
- Project creation improvements
- Project Webhooks
- Update task labels at any point in pipeline
- Workspaces support
- PNG binary mask upload
- Export only final labels
- Improve task export performance
- Trigger readthedocs build
- Docs improvements
- More docs improvements
- Update docs links
- Fix docs build
- update docstrings and readthedocs for formats by @shivam124081 🎉
- Add taxonomy types
- Fix label export index
- Global redbrick.config
- Add types for upload and export
- Export improvements
- Improved support for RT-Struct
- context.config.verify_ssl for upload/download files
- Add context.config
- Check global segmentations during upload
- TASK_CORRECTED event
- Advanced project creation
- Improved labeling metrics
- Import DICOM RT-Struct segmentations
- Use
rt_struct=True
inproject.upload.create_datapoints()
OR--rt-struct
inredbrick upload
- The keys of
segmentMap
will be ROI names instead of instance ids ->{"Segment_1": "category"}
- Update Dependencies
Changed:
- Chima/maj 2537 unit tests of sdkcli
- updated list_tasks
assignee
format
- uploaded dicom files are stored in raw format
- Add .dicom support
Changed:
- Feat/add tests
- Addresses #173
- @cAtaman made their first contribution in https://github.com/redbrick-ai/redbrick-sdk/pull/170
- Docs updates
- Bug fix (project clone)
- Logging improvements
- Add top-level series to consensus tasks
CLI (redbrick export)
--without-masks
: Exports only tasks JSON without downloading any segmentation masks. Note: This is not recommended for tasks with overlapping labels.--semantic
: Whether to export all segmentations as semantic_mask. This will create one segmentation file per class. If this is set to True and a task has multiple instances per class, then attributes belonging to each instance will not be exported.--binary-mask
: Whether to export all segmentations as binary masks. This will create one segmentation file per instance.--single-mask
: Whether to export all segmentations in a single file. Binary mask will be considered if both binary_mask and single_mask are set.
without_masks: bool = False
: Same as--without-masks
without_json: bool = False
: Doesn’t create the tasks JSON file.semantic_mask: bool = False
: Same as--semantic
binary_mask: Optional[bool] = None
: True is same as--binary-mask
and False is same as--single-mask
- Fix non-binary semantic class merging
- CLI:
redbrick export
- Fix typo
Added
RBProject.settings
member to manage project-level settings (https://redbrick-sdk.readthedocs.io/en/stable/sdk.html#redbrick.settings.Settings)- Export cuboid labels
Fixes
- Export groundtruth (c1431b9b519322c7aa0c1ff84429c987fb477c0a)
- Export consensus items (ea631b108c01370e2a78cb642d8cae954c7d19fc)
- Create project taxonomy (ae113dd77f2991e24af0e53179f31ceff9477185)
- Fix taxonomy format docs link
- Fix taxonomy format docs link
- Fix export series mapping
- Add sec. user ids to consensus export
- Fix ‘redbrick report’
Fixes:
- Internal server error on Export.get_active_time when task_id provided (#166)
Fixes:
- Unable to programatically determine the outcome of a create/update taxonomy operation (#165)
- Type distribution
Added
PEP-561 type distribution (#164)
Removed
- Implicit version checking (#163)
- SDK:
redbrick.version()
- CLI:
redbrick -v
- Fix segmentation export re-map issue
- Import NRRD images
Added:Changed:
- Support to export segmentations in DICOM RT-Struct format using
--rt-struct
in redbrick export /rt_struct: bool
in Export.export_tasks - Export.get_active_time
- Export.list_tasks added param
- Renamed RBOrganization.create_taxonomy_new -> RBOrganization.create_taxonomy
- Export.export_tasks now returns Iterator[Dict]
- Export.list_tasks now returns Iterator[Dict]
- Export.get_task_events now returns Iterator[Dict]
- Unified all
user
entities across exports to email of user.
- Export.search_tasks
- Export.redbrick_nifti
- Labeling.get_tasks
- Labeling.get_task_queue
- Labeling.assign_tasks (removed current_user param)
- Support DICOM RT-Struct segmentations export
- Export enhancements
- fix super truth export
Changed:
- fix super truth export
Added:Changed:
- Support to export segmentations in DICOM RT-Struct format using
--rt-struct
in redbrick export /rt_struct: bool
in Export.export_tasks - Export.get_active_time
- Export.list_tasks added param
- Renamed RBOrganization.create_taxonomy_new -> RBOrganization.create_taxonomy
- Export.export_tasks now returns Iterator[Dict]
- Export.list_tasks now returns Iterator[Dict]
- Export.get_task_events now returns Iterator[Dict]
- Unified all
user
entities across exports to email of user.
- Export.search_tasks
- Export.redbrick_nifti
- Labeling.get_tasks
- Labeling.get_task_queue
- Labeling.assign_tasks (removed current_user param)
Changed:
- Support DICOM RT-Struct segmentations export
Changed:
- Fix image export for consensus tasks
Changed:
- (v2.12.8) - Add superTruth in consensus export
Changed:
- (v2.12.7) - Add extra info in Export.list_tasks
Changed:
- Upload.update_tasks_priority (v2.12.6)
- release v2.12.6
Changed:
- Fix readthedocs (v2.12.5)
Changed:
- Fix readthedocs (v2.12.4)
Changed:
- Fix GH Actions (v2.12.3)
Changed:
- Fix and update docs (v2.12.2)
Changed:
- Update docs - Export.list_tasks
Changed:
- Nested taxonomy and hints
- Labeling.update_tasks_priority + Series level meta data
- Misc improvements
Changed:
- Labeling.update_tasks_priority + Series level meta data
Changed:
- Nested taxonomy and hints
Changed:
- Extensionless dicom files upload
- Update docs for enums
- Restrict project creation to use Taxonomy V2
Changed:
- v2.11.1 - Fix project creation
Changed:
- Workspace, tasks filter and major improvements
- alpha release
- list_tasks fix
- list_tasks fix
- release v2.11.0
Changed:
- list_tasks fix
Changed:
- list_tasks fix
Changed:
- Workspace, tasks filter and major improvements
- alpha release
Changed:
- improve handling file upload/download concurrency
Changed:
- json handle dcm upload without extension
Changed:
- Optimize non-segmentation task export
Changed:
- v2.10.1 update packages
Added
- Allow updating task items
- Support put labeling tasks with existing labels
- Add from_timestamp in task report export
- Export task report for all labeling cycles Fixed
- Memory management in nifti import/export processing
- Fast export for single task
- Export frameindex for DCM videos Deprecated
- Discontinue to_timestamp in task export
Changed:
- v2.9.1 - Instance Classification
Changed:
- Support Python 3.10 and 3.11
Changed:
Added
- Labeling interface changes
Added
Labeling.assign_tasks
- Assign multiple tasks at once in the stage that they are currently in Changed:
Labeling.put_tasks
- All arguments except
stage_name
andtasks
are keyword-only. finalize
boolean indicates whether to submit or save the task as draft in the label stagereview_result
boolean indicates whether to accept or reject all tasks in the review stage
Labeling.get_task_queue
- Get tasks in users’ queue based on their email Removed
Labeling.assign_task
- In favour of
Labeling.assign_tasks
Changed:
- Update readthedocs theme, and docstrings.
Changed:
- add ellipse and measurement stats to export
Changed:
- CLI export images ‘—dicom-to-nifti’
- change task events report userId to email
Changed:
- Remove rasterio dependency
Changed:
- Generate task events report + Deprecate legacy export and import
- Add
concurrency
in upload - better handle segmentation files with volume index without a label instance
- redbrick_nifti :: return-type labels
- update attribute format docs
- report command to fetch task events report
- deprecate legacy projects data import/export
- Add option for concurrency (Default: 50) in data upload
- Improve error feedback
- Compress all request and response data
- single series segmentation labels
Changed:
- RB-1175 : Deprecate active learning
- Task Pre-Assignment
- fix nifti mask color for taxonomy v2
Changed:
- project members list
- sdk support for new tax labels
Changed:
- NIfTI png export, New Taxonomy
- Properly bump version
Changed:
- Improvements to task import/export
- fix segmentation input type
Changed:
- Fix export series index issue + Disable creating legacy project types
Changed:
- Drop Python3.6 support
- redesign task format
- Consensus Tasks
Changed:
- Drop Python3.6 support
- redesign task format
Changed:
- simplify segmentation upload
- deleteTasks and new task object format
Changed:
- simplify segmentation upload
Changed:
- typo fix and support local paths when labelsPath is a list
Changed:
- fix no labels export issue
Changed:
- nifti - import/export overlapping labels
Changed:
- fix readthedocs import issue and build
Changed:
- support label from external storage on upload
Changed:
- set label storage
Changed:
- active learning + mask taxonomy colour + other improvements
- upgrade pillow==9.0.1 for python > 3.6
- cli export by stage
Changed:
- fix data paginator iteration
Changed:
- add ima to supported dicom extensions
- org.create_taxonomy + .nii, .nii.gz DICOM image upload
Changed:
- task labeling time information per org
Changed:
- add labeling methods to docs
Changed:
- resurrect notebook event loop handler
Changed:
- add methods to docs
Changed:
- add task search and taxonomies methods
Changed:
- sdk dicom upload with labels
- support custom storage id in upload + lint fixes
- Bump pillow from 8.3.2 to 9.0.0
- move task to start api
- pillow to 8.4.0 for python 3.6 support
- minor changes
- fix groundtruth tasks export
- export input labels
Changed:
- skip task in export for all errors
- slicer: first draft
- remove slicer
- fix mask labels data type
Changed:
- skip task in export for all errors
- slicer: first draft
Changed:
- add cli export test
- segmentation export
- redbrick_nifti export
- workflow tests
- prep v1
- error handling and improvements
- CLI NIfTI export
- better file path and naming sync
- CLI upload
- polishing upload
Changed:
- add exists_okay check to project creation
- automatically attach nest_asyncio when there is a running event loop
- make url an optional arg in main methods
- get task id for uploads
- CLI - I
- active learning info get only unassigned tasks
- cli export caching
- fix:: check dpId existence in cached dimensions
- minor improvement for cache validity
- Hotfix/segmentation export
Bug fix for segmentation export.
Speed up to direct upload with async io.
Added support for image and video direct upload.
- fix client error management
Changed:
- use latestTaskData and labelsData for export
- @pritamrungta made their first contribution in https://github.com/redbrick-ai/redbrick-sdk/pull/50
- New method for checking processing state of training.
- bug fix: upload of segmentation masks with single class fixed.
- Connection request limiting and session re-use
- Allow get_learning_info call after start_processing
Use environment markers in setup.py.
- Version bump for setup.py modifications.
- Rasterio has been removed as a dependency for windows machines. To upload/export png masks, windows users will have to manually install rasterio.
- Create datapoint with masks interface has been updated.
- datapoint.json file now uses task_id instead of dp_id.
0.6.5 - add is_ground_truth flag to upload
- bug fix: correctly handle 0 label tasks in segmentation export.
- Variable naming changes.
- Bug fix: If RedBrick AI polygon segmentation holes/regions have only 2 vertices, ignore for PNG mask export.
- Feature: Fill holes on segmentation mask PNG export.
Changed:
- Active learning upgrade
- Active learning v2
Include datapoint map in png export
Updating matplotlib package.
Support for PNG export format for segmentation projects.
- minor bug fix for coco bbox area calculation
- Handle incorrect api key error
Active learning create project
Assign task to labeler
Single task export
ocr value added to query
Add coco format
Small bug fixes to export