GET /api/v1/scannerdb/scan_reports/117/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "admin_comment": null,
    "attachments": [
        "https://www.openpaper.work/api/v1/scannerdb/scan_report_attachments/162/?format=api",
        "https://www.openpaper.work/api/v1/scannerdb/scan_report_attachments/163/?format=api",
        "https://www.openpaper.work/api/v1/scannerdb/scan_report_attachments/2658/?format=api",
        "https://www.openpaper.work/api/v1/scannerdb/scan_report_attachments/2659/?format=api"
    ],
    "creation_date": "2018-04-09T16:11:14.502000Z",
    "id": 117,
    "last_update": "2020-12-30T16:37:44.001791Z",
    "locale": null,
    "moderated": true,
    "os": "linux",
    "scan_library": "pyinsane2 2.0.12-15-g5f6fc99",
    "scan_program": "ironscanner 1.1.0-13-geb4c48b",
    "scan_source": "Flatbed",
    "scanner": "https://www.openpaper.work/api/v1/scannerdb/scanners/67/?format=api",
    "scanner_type": "flatbed",
    "sealed": true,
    "successful": true,
    "url": "https://www.openpaper.work/api/v1/scannerdb/scan_reports/117/?format=api",
    "user_url": "https://www.openpaper.work/scannerdb/report/117/",
    "data": {
        "scantest": {
            "config": {
                "mode": "Color",
                "source": "Flatbed",
                "resolution": 150
            },
            "successful": 1
        },
        "user": {
            "comment": "",
            "name": ""
        },
        "system": {
            "sys_machine": "x86_64",
            "sys_cpu_freq": 2400,
            "versions": {
                "scan_library": "pyinsane2 2.0.12-15-g5f6fc99",
                "pillow": "5.0.0",
                "test_program": "ironscanner 1.1.0-13-geb4c48b"
            },
            "sys_mem": 3969183744,
            "sys_platform_detailed": "Linux-4.13.0-16-generic-x86_64-with-Ubuntu-17.10-artful",
            "sys_platform_uname": "['Linux', 'xubuntu', '4.13.0-16-generic', '#19-Ubuntu SMP Wed Oct 11 18:35:14 UTC 2017', 'x86_64', 'x86_64']",
            "sys_os_uname": "['Linux', 'xubuntu', '4.13.0-16-generic', '#19-Ubuntu SMP Wed Oct 11 18:35:14 UTC 2017', 'x86_64']",
            "sys_release": "4.13.0-16-generic",
            "sys_nb_cpus": 2,
            "sys_arch": "['64bit', 'ELF']",
            "sys_proc": "x86_64",
            "sys_platform_short": "linux",
            "sys_type": "posix",
            "sys_system": "Linux",
            "sys_python": "3.5.3 (default, Jan 19 2017, 14:11:04) \n[GCC 6.3.0 20170118]",
            "sys_swap": 0
        },
        "scanner": {
            "fullname": "Canon LiDE 120 (genesys:libusb:001:004)",
            "devid": "genesys:libusb:001:004",
            "options": {
                "red-gamma-table": {
                    "title": "Red intensity",
                    "constraint": "(0, 65535, 0)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
                    "desc": "Gamma-correction table for the red band.",
                    "size": "1024",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "resolution": {
                    "title": "Scan resolution",
                    "constraint": "[4800, 2400, 1200, 600, 300, 150, 100, 75]",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Dpi (4)",
                    "initial_value": "75",
                    "desc": "Sets the resolution of the scanned image.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Word list (2)"
                },
                "mode": {
                    "title": "Scan mode",
                    "constraint": "['Color', 'Gray', 'Lineart']",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "Gray",
                    "desc": "Selects the scan mode (e.g., lineart, monochrome, or color).",
                    "size": "8",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : String (3)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : String list (3)"
                },
                "swdeskew": {
                    "title": "Software deskew",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Request backend to rotate skewed pages digitally",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "swskip": {
                    "title": "Software blank skip percentage",
                    "constraint": "(0, 6553600, 65536)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Percent (5)",
                    "initial_value": "0",
                    "desc": "Request driver to discard pages with low numbers of dark pixels",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "despeck": {
                    "title": "Software despeckle diameter",
                    "constraint": "(1, 9, 1)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
                    "desc": "Maximum diameter of lone dots to remove from scan",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "page-loaded": {
                    "title": "Page loaded",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Inactive,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
                    "desc": "Page loaded",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "lamp-off-time": {
                    "title": "Lamp off time",
                    "constraint": "(0, 60, 0)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "15",
                    "desc": "The lamp will be turned off after the given time (in minutes). A value of 0 means, that the lamp won't be turned off.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "depth": {
                    "title": "Bit depth",
                    "constraint": "[8, 16]",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "8",
                    "desc": "Number of bits per sample, typical values are 1 for \"line-art\" and 8 for multibit scans.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Word list (2)"
                },
                "expiration-time": {
                    "title": "Calibration cache expiration time",
                    "constraint": "(-1, 30000, 1)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "60",
                    "desc": "Time (in minutes) before a cached calibration expires. A value of 0 means cache is not used. A negative value means cache never expires.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "threshold-curve": {
                    "title": "Threshold curve",
                    "constraint": "(0, 127, 1)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "50",
                    "desc": "Dynamic threshold curve, from light to dark, normally 50-65",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "blue-gamma-table": {
                    "title": "Blue intensity",
                    "constraint": "(0, 65535, 0)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
                    "desc": "Gamma-correction table for the blue band.",
                    "size": "1024",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "tl-x": {
                    "title": "Top-left x",
                    "constraint": "(0, 14155776, 0)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Mm (3)",
                    "initial_value": "0",
                    "desc": "Top-left x position of scan area.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "threshold": {
                    "title": "Threshold",
                    "constraint": "(0, 6553600, 65536)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Percent (5)",
                    "initial_value": "3276800",
                    "desc": "Select minimum-brightness to get a white point",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "copy": {
                    "title": "Copy button",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Copy button",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "brightness": {
                    "title": "Brightness",
                    "constraint": "(-100, 100, 1)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Controls the brightness of the acquired image.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "green-gamma-table": {
                    "title": "Green intensity",
                    "constraint": "(0, 65535, 0)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
                    "desc": "Gamma-correction table for the green band.",
                    "size": "1024",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "swderotate": {
                    "title": "Software derotate",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Request driver to detect and correct 90 degree image rotation",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "custom-gamma": {
                    "title": "Use custom gamma table",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Determines whether a builtin or a custom gamma-table should be used.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "br-y": {
                    "title": "Bottom-right y",
                    "constraint": "(0, 19660800, 0)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Mm (3)",
                    "initial_value": "19660800",
                    "desc": "Bottom-right y position of scan area.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "scan": {
                    "title": "Scan button",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Scan button",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "power": {
                    "title": "Power button",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Inactive,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
                    "desc": "Power button",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "extra": {
                    "title": "Extra button",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Inactive,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
                    "desc": "Extra button",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "file": {
                    "title": "File button",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "File button",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "disable-dynamic-lineart": {
                    "title": "Disable dynamic lineart",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Disable use of a software adaptive algorithm to generate lineart relying instead on hardware lineart.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "contrast": {
                    "title": "Contrast",
                    "constraint": "(-100, 100, 1)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Controls the contrast of the acquired image.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "swdespeck": {
                    "title": "Software despeck",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Request backend to remove lone dots digitally",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "ocr": {
                    "title": "OCR button",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Inactive,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
                    "desc": "OCR button",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "calibration-file": {
                    "title": "Calibration file",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "/home/xubuntu/.sane/canon-lide-120.cal",
                    "desc": "Specify the calibration file to use",
                    "size": "4096",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : String (3)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "need-calibration": {
                    "title": "Need calibration",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Inactive,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
                    "desc": "The scanner needs calibration for the current settings",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "color-filter": {
                    "title": "Color filter",
                    "constraint": "['Red', 'Green', 'Blue']",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "Green",
                    "desc": "When using gray or lineart this option selects the used color.",
                    "size": "6",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : String (3)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : String list (3)"
                },
                "disable-interpolation": {
                    "title": "Disable interpolation",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "When using high resolutions where the horizontal resolution is smaller than the vertical resolution this disables horizontal interpolation.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "tl-y": {
                    "title": "Top-left y",
                    "constraint": "(0, 19660800, 0)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Mm (3)",
                    "initial_value": "0",
                    "desc": "Top-left y position of scan area.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "lamp-off-scan": {
                    "title": "Lamp off during scan",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "The lamp will be turned off during scan. ",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "gamma-table": {
                    "title": "Image intensity",
                    "constraint": "(0, 65535, 0)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
                    "desc": "Gamma-correction table.  In color mode this option equally affects the red, green, and blue channels simultaneously (i.e., it is an intensity gamma table).",
                    "size": "1024",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "source": {
                    "title": "Scan source",
                    "constraint": "['Flatbed', 'Transparency Adapter']",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
                    "desc": "Selects the scan source (such as a document-feeder).",
                    "size": "21",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : String (3)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : String list (3)"
                },
                "br-x": {
                    "title": "Bottom-right x",
                    "constraint": "(0, 14155776, 0)",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Mm (3)",
                    "initial_value": "14155776",
                    "desc": "Bottom-right x position of scan area.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)"
                },
                "email": {
                    "title": "Email button",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Email button",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "swcrop": {
                    "title": "Software crop",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Request backend to remove border from pages digitally",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                },
                "preview": {
                    "title": "Preview",
                    "constraint": "None",
                    "capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
                    "unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
                    "initial_value": "0",
                    "desc": "Request a preview-quality scan.",
                    "size": "4",
                    "type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
                    "contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)"
                }
            },
            "nicename": "genesys:libusb:001:004",
            "model": "LiDE 120",
            "vendor": "Canon",
            "type": "flatbed"
        },
        "software": {
            "scan_library": "pyinsane2 2.0.12-15-g5f6fc99",
            "test_program": "ironscanner 1.1.0-13-geb4c48b",
            "operating_system": "linux"
        }
    }
}