---
title: "DeskewSettings"
canonical_url: "https://www.nutrient.io/api/python/settings/vision/advanced/deskew-settings/"
md_url: "https://www.nutrient.io/api/python/settings/vision/advanced/deskew-settings.md"
last_updated: "2026-06-12T15:43:20.748Z"
description: "Settings for Deskew. Values fall back through three levels: document → SDK → built-in default."
---

Settings for Deskew. Values fall back through three levels: document → SDK → built-in default. Writes target the document only when set on a document's settings, otherwise the SDK globally when set on SdkSettings.

**Tags:** `Vision`, `Advanced`

```python

from nutrient_sdk import DeskewSettings

```

## Construction

`DeskewSettings` is accessed through a [`Document`](/api/python/document/) instance for per-document overrides, or via [`SdkSettings`](/api/python/settings/document/sdk-settings/) for SDK-wide defaults.

```python

# Per-document override

with Document.open("input.pdf") as doc:
    settings = doc.settings.deskew_settings
    settings.some_field = new_value          # mutate fields directly

# SDK-wide default (applies to all documents)

SdkSettings.deskew_settings.some_field = new_value

```

Settings are configured by writing to fields on the returned object. The settings property itself cannot be reassigned — `doc.settings.deskew_settings = other_settings` is rejected.

## Properties

### enable_deskew

```python

@property
def enable_deskew(self) -> bool

@enable_deskew.setter
def enable_deskew(self, value: bool) -> None

```

Indicates whether automatic deskewing is enabled.

**Type:** `bool`

**Default:** `true`

---

### inverse_deskew

```python

@property
def inverse_deskew(self) -> bool

@inverse_deskew.setter
def inverse_deskew(self, value: bool) -> None

```

Indicates whether the inverse deskew transform is enabled. When disabled, bounding boxes remain in deskewed-image coordinates.

**Type:** `bool`

**Default:** `true`

---

### skew_binarization_method

```python

@property
def skew_binarization_method(self) -> str

@skew_binarization_method.setter
def skew_binarization_method(self, value: str) -> None

```

Binarization method for skew detection. Supported values: "default" (internal Modified Otsu), "sauvola" (better for poor contrast), "otsu" (explicit Modified Otsu).

**Type:** `str`

**Default:** `"default"`

---

### skew_tolerance

```python

@property
def skew_tolerance(self) -> float

@skew_tolerance.setter
def skew_tolerance(self, value: float) -> None

```

Maximum skew angle tolerance in degrees.

**Type:** `float`

**Default:** `15.0f`

---

---

## Related pages

- [Per-document override](/api/python/settings/vision/advanced/ai-augmenter-settings.md)
- [Per-document override](/api/python/settings/vision/advanced/claude-api-settings.md)
- [Per-document override](/api/python/settings/vision/advanced/content-extraction-settings.md)
- [Per-document override](/api/python/settings/vision/advanced/document-layout-json-export-settings.md)
- [Per-document override](/api/python/settings/vision/advanced/handwriting-settings.md)
- [Advanced](/api/python/settings/vision/advanced.md)
- [Per-document override](/api/python/settings/vision/advanced/open-ai-api-endpoint-settings.md)
- [Per-document override](/api/python/settings/vision/advanced/vision-descriptor-settings.md)
- [Per-document override](/api/python/settings/vision/advanced/table-recognition-settings.md)

