Skip to content

Commit a831278

Browse files
Revert "Fix volume annotation tool availability on datasets with rotation tra…" (#8438)
This reverts commit 99d9de5.
1 parent 99d9de5 commit a831278

File tree

3 files changed

+9
-13
lines changed

3 files changed

+9
-13
lines changed

CHANGELOG.unreleased.md

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released
2020
### Fixed
2121
- Fixed a bug that would lock a non-existing mapping to an empty segmentation layer under certain conditions. [#8401](https://github.com/scalableminds/webknossos/pull/8401)
2222
- Fixed the alignment of the button that allows restricting floodfill operations to a bounding box. [#8388](https://github.com/scalableminds/webknossos/pull/8388)
23-
- Fixed a bug for rotated dataset where volume tools were disabled although the dataset was rendered untransformed. [#8432](https://github.com/scalableminds/webknossos/pull/8432)
2423
- Fixed rare bug where saving got stuck. [#8409](https://github.com/scalableminds/webknossos/pull/8409)
2524
- Fixed a bug where reverting annotations could get stuck if some of its layers had been deleted in the meantime. [#8405](https://github.com/scalableminds/webknossos/pull/8405)
2625
- Fixed a bug where newly added remote datasets would always appear in root folder, regardless of actual selected folder. [#8425](https://github.com/scalableminds/webknossos/pull/8425)

frontend/javascripts/oxalis/model/accessors/dataset_layer_transformation_accessor.ts

+6-10
Original file line numberDiff line numberDiff line change
@@ -191,10 +191,6 @@ export function isLayerWithoutTransformationConfigSupport(layer: APIDataLayer |
191191
);
192192
}
193193

194-
function toIdentityTransformMaybe(transform: Transform | null): Transform {
195-
return transform && !equalsIdentityTransform(transform) ? transform : IdentityTransform;
196-
}
197-
198194
function _getTransformsForLayerOrNull(
199195
dataset: APIDataset,
200196
layer: APIDataLayer | APISkeletonLayer,
@@ -214,7 +210,7 @@ function _getTransformsForLayerOrNull(
214210
const layerTransforms = getOriginalTransformsForLayerOrNull(dataset, layer as APIDataLayer);
215211
if (nativelyRenderedLayerName == null) {
216212
// No layer is requested to be rendered natively. -> We can use the layer's transforms as is.
217-
return toIdentityTransformMaybe(layerTransforms);
213+
return layerTransforms;
218214
}
219215

220216
// Apply the inverse of the layer that should be rendered natively
@@ -225,11 +221,11 @@ function _getTransformsForLayerOrNull(
225221
if (transformsOfNativeLayer == null) {
226222
// The inverse of no transforms, are no transforms. Leave the layer
227223
// transforms untouched.
228-
return toIdentityTransformMaybe(layerTransforms);
224+
return layerTransforms;
229225
}
230226

231227
const inverseNativeTransforms = invertTransform(transformsOfNativeLayer);
232-
return toIdentityTransformMaybe(chainTransforms(layerTransforms, inverseNativeTransforms));
228+
return chainTransforms(layerTransforms, inverseNativeTransforms);
233229
}
234230

235231
export const getTransformsForLayerOrNull = memoizeWithThreeKeys(_getTransformsForLayerOrNull);
@@ -243,7 +239,7 @@ export function getTransformsForLayer(
243239
);
244240
}
245241

246-
function equalsIdentityTransform(transform: Transform) {
242+
export function isIdentityTransform(transform: Transform) {
247243
return transform.type === "affine" && _.isEqual(transform.affineMatrix, Identity4x4);
248244
}
249245

@@ -270,7 +266,7 @@ function _getTransformsForLayerThatDoesNotSupportTransformationConfigOrNull(
270266
const someLayersTransformsMaybe = usableReferenceLayer
271267
? getTransformsForLayerOrNull(dataset, usableReferenceLayer, nativelyRenderedLayerName)
272268
: null;
273-
return toIdentityTransformMaybe(someLayersTransformsMaybe);
269+
return someLayersTransformsMaybe;
274270
} else if (nativelyRenderedLayerName != null && allLayersSameRotation) {
275271
// If all layers have the same transformations and at least one is rendered natively, this means that all layer should be rendered natively.
276272
return null;
@@ -285,7 +281,7 @@ function _getTransformsForLayerThatDoesNotSupportTransformationConfigOrNull(
285281
return null;
286282
}
287283

288-
return toIdentityTransformMaybe(invertTransform(transformsOfNativeLayer));
284+
return invertTransform(transformsOfNativeLayer);
289285
}
290286

291287
export const getTransformsForLayerThatDoesNotSupportTransformationConfigOrNull = memoizeOne(

frontend/javascripts/oxalis/view/left-border-tabs/layer_settings_tab.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import {
4040
settingsTooltips,
4141
} from "messages";
4242
import type { Vector3 } from "oxalis/constants";
43-
import Constants, { ControlModeEnum, IdentityTransform, MappingStatusEnum } from "oxalis/constants";
43+
import Constants, { ControlModeEnum, MappingStatusEnum } from "oxalis/constants";
4444
import defaultState from "oxalis/default_state";
4545
import {
4646
getDefaultValueRangeOfLayer,
@@ -55,6 +55,7 @@ import {
5555
getTransformsForLayer,
5656
getTransformsForLayerOrNull,
5757
hasDatasetTransforms,
58+
isIdentityTransform,
5859
isLayerWithoutTransformationConfigSupport,
5960
} from "oxalis/model/accessors/dataset_layer_transformation_accessor";
6061
import {
@@ -207,7 +208,7 @@ function TransformationIcon({ layer }: { layer: APIDataLayer | APISkeletonLayer
207208
if (!showIcon) {
208209
return null;
209210
}
210-
const isRenderedNatively = transform == null || transform === IdentityTransform;
211+
const isRenderedNatively = transform == null || isIdentityTransform(transform);
211212

212213
const typeToLabel = {
213214
affine: "an affine",

0 commit comments

Comments
 (0)