You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: blog/release.md
+37-33Lines changed: 37 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,17 +4,17 @@ title: Release Notes
4
4
date: 2025-07-19
5
5
---
6
6
7
-
We're excited to announce the release of image-js-typescript, a complete rewrite of the popular image-js library. This new version brings TypeScript support and a more intuitive API while maintaining the powerful image processing capabilities you love.
7
+
We're excited to announce the release of a new major version of ImageJS. This version brings TypeScript support and a more intuitive API while maintaining the powerful image processing capabilities you love.
8
8
9
-
<!--- truncate --->
9
+
<!-- truncate -->
10
10
11
11
# API Changes
12
12
13
13
## β οΈ Breaking changes
14
14
15
-
### Changed the way images are loaded and created
15
+
### Changes in the way images are loaded and created
16
16
17
-
Static method `load` for reading and method `save` for writing images have been replaced with dedicated functions `read` and `write`.
17
+
Static method `load()` for reading and method `save()` for writing images have been replaced with dedicated functions `read()` and `write()`.
Dedicated Mask class provides better type safety, clearer API, and optimized performance for binary operations.
57
+
Dedicated `Mask` class provides better type safety, clearer API, and optimized performance for binary operations.
58
58
59
-
The new Mask class uses 1 byte per pixel (vs 8 pixels per byte), trading ~8x memory usage for significantly faster bit operations and simpler data manipulation.
59
+
The new `Mask` class uses 1 byte per pixel (vs 8 pixels per byte), trading ~8x memory usage for significantly faster bit operations and simpler data manipulation.
60
60
61
61
### Modification of Sobel and Scharr filters
62
62
@@ -92,31 +92,36 @@ Several methods have been renamed for consistency:
92
92
93
93
**Drawing methods**:
94
94
95
-
img.paintPolyline() β img.drawPolyline()
96
-
img.paintPolygon() β img.drawPolygon()
97
-
img.paintCircle() β img.drawCircle()
95
+
`img.paintPolyline()` β‘οΈ `img.drawPolyline()`
96
+
97
+
`img.paintPolygon()` β‘οΈ `img.drawPolygon()`
98
+
99
+
`img.paintCircle()` β‘οΈ `img.drawCircle()`
98
100
99
101
**Other methods**:
100
102
101
-
img.copy() β img.clone()
102
-
img.clearBit() β img.setBit()
103
-
img.getLocalMaxima() β img.getExtrema()
104
-
img.getChannel() β img.extractChannel()
103
+
`img.copy()` β‘οΈ `img.clone()`
104
+
105
+
`img.clearBit()` β‘οΈ `img.setBit()`
106
+
107
+
`img.getLocalMaxima()` β‘οΈ `img.getExtrema()`
108
+
109
+
`img.getChannel()` β‘οΈ `img.extractChannel()`
105
110
106
111
Consistent naming follows common conventions (draw\* for rendering, clone for copying objects).
107
112
108
113
## π New Features
109
114
110
115
### `transform()` function
111
116
112
-
The `transform` function allows applying transformation matrix on the image. Which means that the image can now be translated or sheared or warped based on the matrix that the user entered. `transform()` function accepts both 2x3 and 3x3 matrices, depending on whether you want an affine transformation or a perspective one.
117
+
The `transform()` function allows applying transformation matrix on the image. Which means that the image can now be translated or sheared or warped based on the matrix that the user entered. `transform()` function accepts both 2x3 and 3x3 matrices, depending on whether you want an affine transformation or a perspective one.
113
118
114
119
```ts
115
120
const matrix =getPerspectiveWarp(sourcePoints);
116
121
const warped =img.transform(matrix);
117
122
```
118
123
119
-
For more details visit our [tutorial](/docs/Tutorials/Applying transform function on images.md) on how image transformations work.
124
+
For more details visit our [tutorial](/docs/Tutorials/Applying%20transform%20function%20on%20images) on how image transformations work.
**Use case**: Object detection, image segmentation, feature extraction. You can learn more about it [here](../docs/Features/Morphology/Canny Edge Detector.md).
147
+
**Use case**: Object detection, image segmentation, feature extraction. You can learn more about it [here](../docs/Features/Morphology/Canny%20Edge%20Detector).
**Use case**: Object detection, image segmentation, feature extraction. You can learn more about it [here](../docs/Features/Morphology/Morphological Gradient.md).
157
+
**Use case**: Object detection, image segmentation, feature extraction. You can learn more about it [here](../docs/Features/Morphology/Morphological%20Gradient).
153
158
154
159
### Migration from deprecated methods:
155
160
156
-
`warpingFourPoints` function has been deprecated.Now you have [`getPerspectiveWarp`](../docs/Features/Geometry/Get Perspective Warp Matrix.md) function that returns a matrix that can be applied on an image of interest in a new `transform` function.
161
+
`warpingFourPoints()` function has been deprecated.Now you have [`getPerspectiveWarp()`](../docs/Features/Geometry/Get%20Perspective%20Warp%20Matrix) function that returns a matrix that can be applied on an image of interest in a new `transform()` function.
**Use case**: Rectification of a perspective angle of an image. You can learn more about it [here](../docs/Features/Geometry/Get Perspective Warp Matrix.md).
172
+
**Use case**: Rectification of a perspective angle of an image. You can learn more about it [here](../docs/Features/Geometry/Get%20Perspective%20Warp%20Matrix).
168
173
169
-
# ποΈ Removed Features
174
+
##ποΈ Removed Features
170
175
171
176
The following deprecated features have been removed:
172
177
173
-
-`countAlphaPixel()` - Use custom pixel counting with getPixel()
174
-
-`paintLabels()` - Feature was removed due to poor performance.
178
+
-`countAlphaPixel()` - Use custom pixel counting with `getPixel()`
179
+
-`paintLabels()` - Feature was removed due to dependency issues. We plan to add it back in the future updates.
175
180
-`warpingFourPoints()` - Use `getPerspectiveWarp()` + `transform()`.
181
+
- 32-bit color depth has been currently deprecated. We plan to add it back in the future updates as well.
176
182
177
-
# π§ Compatibility & Requirements
183
+
##π§ Compatibility & Requirements
178
184
179
185
- Node.js: 18+ (previously 14+)
180
186
- TypeScript: 5.2.2+ (if using TypeScript)
181
187
182
-
# π Getting Started
188
+
##π Getting Started
183
189
184
-
To get started with ImageJS, we recommend visiting our [\"Get started\"](../docs/Getting started.md) guide
190
+
To get started with ImageJS, we recommend visiting our [\"Get started\"](../docs/Getting%20started) guide
0 commit comments