Hello, i have a problem that,
the version is matlab R2020a 64-bit, PTB 3.0.17, under macOS Catalina. the GPU is Radeon Pro 560X 4 GB. The iMac is Retina 21.5-inch(40962304).
When I enter ScreenTest, the return value of the window is 20481152, 8-bit per color component framebuffer. I need the actual resolution 4096*2304 and 10bit color depth display, how can I set it?
Try to install PsychtoolboxKernelDriver, but it doesn’t work.
Thank you!
PTB-INFO: This is Psychtoolbox-3 for Apple OS X, under Matlab 64-Bit (Version 3.0.17 - Build date: Dec 17 2020).
PTB-INFO: OS support status: OSX 10.15 minimally supported and tested.
PTB-INFO: Type ‘PsychtoolboxVersion’ for more detailed version information.
PTB-INFO: Most parts of the Psychtoolbox distribution are licensed to you under terms of the MIT License, with
PTB-INFO: some restrictions. See file ‘License.txt’ in the Psychtoolbox root folder for the exact licensing conditions.
PTB-INFO: For information about paid priority support, community membership and commercial services, please type
PTB-INFO: ‘PsychPaidSupportAndServices’.
PTB-INFO: Installation of the PsychtoolboxKernelDriver is strongly recommended if you care about precise visual
PTB-INFO: onset timestamping or timing. See ‘help PsychtoolboxKernelDriver’ for installation instructions.
PTB-INFO: OpenGL-Renderer is ATI Technologies Inc. :: AMD Radeon Pro 560X OpenGL Engine :: 2.1 ATI-3.9.15
PTB-INFO: Renderer has 4096 MB of VRAM and a maximum 4006 MB of texture memory.
PTB-INFO: VBL startline = 2304 , VBL Endline = -1
PTB-INFO: Beamposition queries unsupported or defective on this system. Using basic timestamping as fallback.
PTB-INFO: Timestamps returned by Screen(‘Flip’) will be therefore less robust and accurate.
PTB-INFO: Measured monitor refresh interval from VBLsync = 16.681242 ms [59.947574 Hz]. (50 valid samples taken, stddev=0.064959 ms.)
PTB-INFO: Small deviations between reported values are normal and no reason to worry.
PTB-INFO: Psychtoolbox imaging pipeline starting up for window with requested imagingmode 33793 …
PTB-INFO: Will use 8 bits per color component framebuffer for stimulus drawing.
PTB-INFO: Enabling panel fitter. Providing virtual framebuffer of 2048 x 1152 pixels size.
PTB-INFO: Will use 8 bits per color component framebuffer for stimulus post-processing (if any).
Well, the question is if you have a specialist display that can output at that luminance resolution? You need to set up the screen using PsychImaging set to the correct mode:
e.g. PsychImaging(‘AddTask’, ‘General’, ‘EnableNative16BitFloatingPointFramebuffer’); — but macOS is not really recommended for this, you will likely have timing and reliability issues if it works at all… I have tested Linux that can easily drive 14bit outputs from the Display++ and I have had good results using 10bit and partial 11bit outputs.
Don’t forget to also request floatprecision 2 in Screen('MakeTexture') for your texture to be actually created with > 8 bit precision. AdditiveBlendingForLinearSuperpositionTutorial is one of the demos showing the approach.
As Ian said, visual timing will be totally broken on macOS with anything but standard 8 bit mode, due to Apple macOS operating system flaws, and Apples floating point 16 support is not real native support, but some Apple proprietary method faking it, so your mileage may vary.
You will want to test that your display is actually outputting at 10+ bits — for that you will need to use a photometer and measure steps at the required resolution. For example 1/1024 for 10 bit test, 1/2048 for 11bit testing. You can use MeasureLuminancePrecision.m for that, although it only supports Color-Cal-II and so you will need to modify it for other photometers…
ok, i will try it. i mainly want to display 16bit image made by matlab on the imac 10bit display screen,whether it’s virtual or native support. thank you.
The next beta will actually have a MeasureLuminancePrecision.m which supports all photometers supported by PTB’s CMCheckInit, mostly some comon PhotoResearch devices: http://psychtoolbox.org/docs/CMCheckInit
The script still has various hard-coded parameters at its beginning, which one needs to adapt to ones needs.