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/78/?format=api",
"https://www.openpaper.work/api/v1/scannerdb/scan_report_attachments/79/?format=api",
"https://www.openpaper.work/api/v1/scannerdb/scan_report_attachments/2586/?format=api",
"https://www.openpaper.work/api/v1/scannerdb/scan_report_attachments/2587/?format=api"
],
"creation_date": "2018-03-08T17:57:16.661000Z",
"id": 65,
"last_update": "2021-01-01T11:48:23.342087Z",
"locale": null,
"moderated": true,
"os": "linux",
"scan_library": "pyinsane2 2.0.12-10-g7d43ae4",
"scan_program": "ironscanner 1.1.0-7-g25f117c",
"scan_source": "Flatbed",
"scanner": "https://www.openpaper.work/api/v1/scannerdb/scanners/31/?format=api",
"scanner_type": "flatbed",
"sealed": true,
"successful": false,
"url": "https://www.openpaper.work/api/v1/scannerdb/scan_reports/65/?format=api",
"user_url": "https://www.openpaper.work/scannerdb/report/65/",
"data": {
"user": {
"comment": "",
"name": "Jerome"
},
"system": {
"sys_swap": 15999168512,
"sys_python": "3.5.3 (default, Jan 19 2017, 14:11:04) \n[GCC 6.3.0 20170118]",
"sys_platform_uname": "['Linux', 'chambre-verte', '4.9.0-6-amd64', '#1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02)', 'x86_64', '']",
"sys_machine": "x86_64",
"sys_type": "posix",
"sys_arch": "['64bit', 'ELF']",
"sys_mem": 8328761344,
"sys_proc": "",
"sys_nb_cpus": 4,
"sys_cpu_freq": 2900,
"sys_platform_detailed": "Linux-4.9.0-6-amd64-x86_64-with-debian-9.3",
"sys_os_uname": "['Linux', 'chambre-verte', '4.9.0-6-amd64', '#1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02)', 'x86_64']",
"versions": {
"test_program": "ironscanner 1.1.0-7-g25f117c",
"pillow": "5.0.0",
"scan_library": "pyinsane2 2.0.12-10-g7d43ae4"
},
"sys_platform_short": "linux",
"sys_release": "4.9.0-6-amd64",
"sys_system": "Linux"
},
"scantest": {
"successful": 1,
"config": {
"source": "Flatbed",
"mode": "Color",
"resolution": 150
}
},
"scanner": {
"model": "Perfection 660",
"type": "flatbed",
"options": {
"quality-cal": {
"initial_value": "1",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
"constraint": "None",
"desc": "Do a quality white-calibration",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
"title": "Quality calibration"
},
"red-gamma-table": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
"constraint": "(0, 65535, 1)",
"desc": "Gamma-correction table for the red band.",
"size": "4096",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Red intensity"
},
"analog-gamma-bind": {
"initial_value": "0",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
"constraint": "None",
"desc": "In RGB-mode use same values for each color",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
"title": "Bind analog gamma"
},
"negative": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
"constraint": "None",
"desc": "Swap black and white",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect, Inactive,]",
"title": "Negative"
},
"analog-gamma-g": {
"initial_value": "117964",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
"constraint": "(0, 262144, 0)",
"desc": "Analog gamma-correction for green",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
"title": "Analog gamma green"
},
"contrast": {
"initial_value": "0",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
"constraint": "(-6553600, 26214400, 65536)",
"desc": "Controls the contrast of the acquired image.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Percent (5)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
"title": "Contrast"
},
"analog-gamma": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
"constraint": "(0, 262144, 0)",
"desc": "Analog gamma-correction",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Analog gamma correction"
},
"gs-lpr": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
"constraint": "(1, 50, 1)",
"desc": "Number of scan lines to request in a SCSI read. Changing this parameter allows you to tune the speed at which data is read from the scanner during scans. If this is set too low, the scanner will have to stop periodically in the middle of a scan; if it's set too high, X-based frontends may stop responding to X events and your system could bog down.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect, Inactive, Advanced,]",
"title": "Greyscale lines per read"
},
"analog-gamma-r": {
"initial_value": "117964",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
"constraint": "(0, 262144, 0)",
"desc": "Analog gamma-correction for red",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
"title": "Analog gamma red"
},
"resolution": {
"initial_value": "300",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
"constraint": "[50, 75, 100, 150, 200, 300, 450, 600]",
"desc": "Sets the resolution of the scanned image.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Word list (2)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Dpi (4)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect,]",
"title": "Scan resolution"
},
"depth": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
"constraint": "[8]",
"desc": "Number of bits per sample, typical values are 1 for \"line-art\" and 8 for multibit scans.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Word list (2)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Bit (2)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Bit depth"
},
"high-quality": {
"initial_value": "0",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
"constraint": "None",
"desc": "Highest quality but lower speed",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect,]",
"title": "Quality scan"
},
"blue-gamma-table": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
"constraint": "(0, 65535, 1)",
"desc": "Gamma-correction table for the blue band.",
"size": "4096",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Blue intensity"
},
"mode": {
"initial_value": "Color",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : String (3)",
"constraint": "['Color', 'Halftone', 'Gray', 'Lineart']",
"desc": "Selects the scan mode (e.g., lineart, monochrome, or color).",
"size": "32",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : String list (3)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect,]",
"title": "Scan mode"
},
"tl-x": {
"initial_value": "0",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
"constraint": "(0, 14155776, 0)",
"desc": "Top-left x position of scan area.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Mm (3)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect,]",
"title": "Top-left x"
},
"Focus-mode": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : String (3)",
"constraint": "['Auto', 'Manual']",
"desc": "Use manual or automatic selection of focus point.",
"size": "16",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : String list (3)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Auto or manual focus"
},
"Frame": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
"constraint": "(1, 6, 1)",
"desc": "Frame number of media holder that should be scanned.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Frame to be scanned"
},
"br-x": {
"initial_value": "14155776",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
"constraint": "(0, 14155776, 0)",
"desc": "Bottom-right x position of scan area.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Mm (3)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect,]",
"title": "Bottom-right x"
},
"green-gamma-table": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
"constraint": "(0, 65535, 1)",
"desc": "Gamma-correction table for the green band.",
"size": "4096",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Green intensity"
},
"tl-y": {
"initial_value": "0",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
"constraint": "(0, 19464192, 0)",
"desc": "Top-left y position of scan area.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Mm (3)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect,]",
"title": "Top-left y"
},
"preview": {
"initial_value": "0",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
"constraint": "None",
"desc": "Request a preview-quality scan.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect,]",
"title": "Preview"
},
"source": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : String (3)",
"constraint": "['Flatbed']",
"desc": "Selects the scan source (such as a document-feeder).",
"size": "8",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : String list (3)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect, Inactive,]",
"title": "Scan source"
},
"br-y": {
"initial_value": "19464192",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
"constraint": "(0, 19464192, 0)",
"desc": "Bottom-right y position of scan area.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Mm (3)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect,]",
"title": "Bottom-right y"
},
"predef-window": {
"initial_value": "None",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : String (3)",
"constraint": "['None', '6x4 (inch)', '8x10 (inch)', '8.5x11 (inch)']",
"desc": "Provides standard scanning areas for photographs, printed pages and the like.",
"size": "32",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : String list (3)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
"title": "Predefined settings"
},
"gamma-table": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
"constraint": "(0, 65535, 1)",
"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": "4096",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Image intensity"
},
"preview-mode": {
"initial_value": "Auto",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : String (3)",
"constraint": "['Auto', 'Color', 'Halftone', 'Gray', 'Lineart']",
"desc": "Select the mode for previews. Greyscale previews usually give the best combination of speed and detail.",
"size": "32",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : String list (3)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect, Advanced,]",
"title": "Preview mode"
},
"rgb-lpr": {
"initial_value": "4",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
"constraint": "(1, 50, 1)",
"desc": "Number of scan lines to request in a SCSI read. Changing this parameter allows you to tune the speed at which data is read from the scanner during scans. If this is set too low, the scanner will have to stop periodically in the middle of a scan; if it's set too high, X-based frontends may stop responding to X events and your system could bog down.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Automatic, Soft_select, Soft_detect, Advanced,]",
"title": "Colour lines per read"
},
"threshold": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
"constraint": "(0, 6553600, 65536)",
"desc": "Select minimum-brightness to get a white point",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Percent (5)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Threshold"
},
"halftoning": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
"constraint": "None",
"desc": "Selects whether the acquired image should be halftoned (dithered).",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Halftoning"
},
"custom-gamma": {
"initial_value": "0",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Boolean (0)",
"constraint": "None",
"desc": "Determines whether a builtin or a custom gamma-table should be used.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : None (0)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
"title": "Use custom gamma table"
},
"Focus-point": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Integer (1)",
"constraint": "(0, 768, 6)",
"desc": "Focus point for scanning.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Focus point"
},
"halftone-pattern": {
"initial_value": "(Exception: <class 'pyinsane2.sane.rawapi.SaneStatus'> : Data is invalid (4))",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : String (3)",
"constraint": "['DispersedDot8x8', 'DispersedDot16x16']",
"desc": "Defines the halftoning (dithering) pattern for scanning halftoned images.",
"size": "32",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : String list (3)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Inactive,]",
"title": "Halftone pattern"
},
"brightness": {
"initial_value": "0",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
"constraint": "(-26214400, 26214400, 65536)",
"desc": "Controls the brightness of the acquired image.",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : Percent (5)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
"title": "Brightness"
},
"analog-gamma-b": {
"initial_value": "117964",
"type": "<class 'pyinsane2.sane.rawapi.SaneValueType'> : Fixed (2)",
"constraint": "(0, 262144, 0)",
"desc": "Analog gamma-correction for blue",
"size": "4",
"contrainttype": "<class 'pyinsane2.sane.rawapi.SaneConstraintType'> : Range (1)",
"unit": "<class 'pyinsane2.sane.rawapi.SaneUnit'> : None (0)",
"capabilities": "<class 'pyinsane2.sane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]",
"title": "Analog gamma blue"
}
},
"fullname": "EPSON Perfection 660 (snapscan:libusb:001:010)",
"devid": "snapscan:libusb:001:010",
"vendor": "EPSON",
"nicename": "snapscan:libusb:001:010"
},
"software": {
"scan_library": "pyinsane2 2.0.12-10-g7d43ae4",
"test_program": "ironscanner 1.1.0-7-g25f117c",
"operating_system": "linux"
}
}
}