# MWorks with ViewPixx monitors

**URL:** https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188
**Category:** Support
**Created:** [November 20, 2019, 3:24pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188 "2019-11-20T15:24:14Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [November 20, 2019, 3:24pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/1 "2019-11-20T15:24:14Z")

</div>

Hi Christopher -

I’m a new faculty member at Columbia University - and a close colleague of Najib Majaj (I did my PhD work with Tony Movshon at NYU).

I’m setting up my lab - and very interested in using MWorks (in combination with Blackrock, Eyelink and a ViewPixx3D monitor).

I know that the Movshon lab already uses MWorks with Blackrock and Eyelink - but I don’t know if anyone is using it to display images on a ViewPixx monitor.

Any reason this is not possible? Thought I should ask before buying very expensive monitors!

Many thanks,  
Yasmine

---

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [November 20, 2019, 3:51pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/2 "2019-11-20T15:51:12Z")

</div>

Hi Yasmine,

While I have no experience with VPixx monitors myself, some other folks have reported using them with MWorks, so I guess it’s possible. As long as you can connect it to a Mac via DVI/HDMI/DisplayPort/etc., there shouldn’t be any issue.

However, MWorks won’t have access to any of the VIEWPixx’s integrated I/O functions, so any signals you want to capture from the VIEWPixx will need to be conveyed to an [I/O device that MWorks does support](https://mworks.github.io/documentation/latest/components/input_output.html). It sounds like it may be possible to implement direct communication between MWorks and the VIEWPixx (the data sheet mentions a “low-level ANSI C API”, which sounds promising), but I’m not aware of any MWorks users who have done this. If it is possible, I could create an MWorks plugin that provides this integration, but I would need access to the actual VIEWPixx device to do so.

I hope that helps. If you have any other MWorks-related questions, please don’t hesitate to ask!

Cheers,  
Chris Stawarz

---

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [November 20, 2019, 4:05pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/3 "2019-11-20T16:05:13Z")

</div>

Thanks for this quick response!

Looking forward to working with you on all this!

Cheers,  
Yasmine

---

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [March 10, 2020, 3:48pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/4 "2020-03-10T15:48:12Z")

</div>

Hi Yasmine,

Two quick questions regarding the MWorks/ViewPixx integration:

1. Are you planning on using a [RESPONSEPixx](https://vpixx.com/our-products/accessories/) box with your VIEWPixx?
2. Do you need support for analog input and/or output?

Thanks,  
Chris

---

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [March 10, 2020, 5:07pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/5 "2020-03-10T17:07:05Z")

</div>

Hi Chris -

Hope you’re well - and here are two quick answers to your questions:

> Are you planning on using a RESPONSEPixx box with your VIEWPixx?

NO

> Do you need support for analog input and/or output?

I would like to get the values for pixel refresh out of the monitor (so that it can be used to sync data) - but I believe that’s all digital not analog, correct? Any idea what people use analog input/output for?

Thank you!  
Yasmine

---

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [March 10, 2020, 5:54pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/6 "2020-03-10T17:54:48Z")

</div>

Hi Yasmine,

Thanks for the quick answers!

> I would like to get the values for pixel refresh out of the monitor (so that it can be used to sync data) - but I believe that’s all digital not analog, correct?

Correct. You can output either the VSYNC signal (on digital output pin 23) or the RGB value of the upper left pixel on the screen (presumably using all 24 digital output bits). Either way, it’s all digital.

> Any idea what people use analog input/output for?

They can be useful for general purpose I/O tasks. For example, some folks in the Jazayeri lab use analog levers as an input device (like a pressure/force sensor, I think), and they record that signal as an analog input. Another lab uses analog output to drive a laser.

Chris

---

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [April 9, 2020, 1:38pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/7 "2020-04-09T13:38:39Z")

</div>

Hi Yasmine,

Support for [DATAPixx and VIEWPixx devices](https://mworks.github.io/documentation/latest/components/datapixx_device.html) is now in the MWorks [nightly build](https://mworks.github.io/downloads/). Digital and analog input and output are supported, as well as [pixel](https://mworks.github.io/documentation/latest/components/datapixx_device.html#enable-dout-pixel-mode) and [VSYNC](https://mworks.github.io/documentation/latest/components/datapixx_device.html#enable-dout-vsync-mode) output. Also, digital output [via the input port](https://mworks.github.io/documentation/latest/components/datapixx_bit_output_channel.html#use-input-port) is supported, so you can use digital outputs even if you’ve enabled pixel output mode.

Here’s an example of how you’d configure a VIEWPixx device with pixel mode and a single digital output line (e.g. to control a juice pump):

```
var output = false

datapixx viewpixx (
    update_interval = 3ms
    enable_dout_pixel_mode = true
    ) {
    datapixx_bit_output (
        bit_number = 7
        value = output
        use_input_port = true
        )
}

```

I can provide more specific examples, if that would be helpful.

I imagine that, given the current circumstances, it may be a while before you’re able to try the new interface, which is fine. I’ll just note that it would be very helpful if I could hold on to the device you loaned me until you’ve had a chance to test things thoroughly. That way, if/when issues come up, I’ll be able to quickly debug and fix them.

Cheers,  
Chris

---

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [April 9, 2020, 4:52pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/8 "2020-04-09T16:52:43Z")

</div>

Hi Chris -

I hope you and all your colleagues at MIT are healthy and safe - and  
thanks for the follow-up! I’ve been meaning to email you but you beat me to  
it!

This all sounds good - and yes, as expected I won’t be able to  
trouble-shoot much in the next few weeks so let’s hold off till I can. And  
yes - you can hold on to the device until we know that everything is up and  
running smoothly!

Take care!  
Yasmine

PS - what’s the status of MWorks doing closed-loop type experiments? For  
example, evolving visual stimuli on the fly based on a neuron’s  
response strength?

---

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [April 10, 2020, 1:59pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/9 "2020-04-10T13:59:07Z")

</div>

Hi Yasmine,

> what’s the status of MWorks doing closed-loop type experiments? For example, evolving visual stimuli on the fly based on a neuron’s response strength?

The only issue is getting the neural data in to MWorks. If/how that’s possible depends on the recording system you’re using and its ability to send out the relevant information in a format that MWorks can use.

What system will you be using to record neural data?

Chris

---

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [April 12, 2020, 4:37pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/10 "2020-04-12T16:37:01Z")

</div>

Hi Chris -

Thank you for elaborating on this! I plan to use MWorks with Blackrock and  
Eyelink. I was under the impression from talking to my close colleague  
Najib Majaj that Blackrock plays well with MWorks which is why I went with  
them for neural recordings.

For my work, I think it would be really cool to evolve 2D shapes (along the  
domain of contour curvature). Definitely doesn’t have to be the first  
experiment we do - but will come in handy in the near term.

In terms of experimental priorities, however, it would be incredibly  
important for me to be able to have a paradigm that would allow me to map  
visual receptive fields manually in real time, as we discussed briefly  
before. For this, I’d like to be able to use mouse and keyboard commands to  
change the size, orientation, position and type of stimulus on the fly (ie  
to draw from a battery of stimuli in memory and to manipulate  
their displayed properties).

Could you please give me a sense of how feasible that would be? I know my  
PhD mentor Tony Movshon has also expressed interest in this functionality -  
so it could be a win for him too.

Cheers - and stay safe!  
Yasmine

---

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [April 15, 2020, 1:43pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/11 "2020-04-15T13:43:20Z")

</div>

Hi Yasmine,

> I was under the impression from talking to my close colleague Najib Majaj that Blackrock plays well with MWorks which is why I went with them for neural recordings.

As far as I know, Najib uses only one-way communication between MWorks and the Blackrock system. Specifically, his experiment uses an intermediate I/O device (e.g. a [NIDAQ](https://mworks.github.io/documentation/latest/components/nidaq_device.html) or [Firmata](https://mworks.github.io/documentation/latest/components/firmata_device.html) device) to send synchronization words from MWorks to Blackrock.

What you’re asking about is two-way communication, where the Blackrock system analyzes the neural data and communicates the results back to MWorks. While that may be possible (I’m not familiar with Blackrock’s software), I’m not aware of any labs that do this currently.

> In terms of experimental priorities, however, it would be incredibly important for me to be able to have a paradigm that would allow me to map visual receptive fields manually in real time, as we discussed briefly before. For this, I’d like to be able to use mouse and keyboard commands to change the size, orientation, position and type of stimulus on the fly (ie to draw from a battery of stimuli in memory and to manipulate their displayed properties).
> 
> Could you please give me a sense of how feasible that would be?

As I’ve noted previously, MWorks has built-in interfaces for both keyboard and mouse input, so this should be entirely feasible. If you provide me with the specifics of how things should work, I can help you implement it in an MWorks experiment.

> Cheers - and stay safe!

You, too!

Chris

---

<div class="post-metadata">

### Author: ![cstawarz](https://yyz1.discourse-cdn.com/flex031/user_avatar/mworks.discourse.group/cstawarz/32/3_2.png) [@cstawarz](https://mworks.discourse.group/u/cstawarz)
#### Post date: [July 19, 2022, 8:29pm UTC](https://mworks.discourse.group/t/mworks-with-viewpixx-monitors/188/12 "2022-07-19T20:29:08Z")

</div>


