# 3D convolution, de-convolution layers in Flux for training 3D MRI data

**URL:** <https://discourse.julialang.org/t/3d-convolution-de-convolution-layers-in-flux-for-training-3d-mri-data/11917>\
**Category:** Machine Learning\
**Tags:** question, flux\
**Created:** [June 25, 2018, 1:16am UTC](https://discourse.julialang.org/t/3d-convolution-de-convolution-layers-in-flux-for-training-3d-mri-data/11917 "2018-06-25T01:16:03Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Azamat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/azamat/32/6892_2.png) [@Azamat](https://discourse.julialang.org/u/Azamat)\
**Post date:** [June 25, 2018, 1:16am UTC](https://discourse.julialang.org/t/3d-convolution-de-convolution-layers-in-flux-for-training-3d-mri-data/11917/1 "2018-06-25T01:16:03Z")

</div>

Are there 3D convolution, de-convolution layers in Flux.jl?  
Or is there any implementation that can be used with Flux.jl?

To elaborate I have 3D greyscale images (MRI scans), i.e. each voxel value is a number. Now is there convolutional layer that can accept this kind of input?

---

<div class="post-metadata">

**Author:** ![jcreinhold](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jcreinhold/32/5841_2.png) [@jcreinhold](https://discourse.julialang.org/u/jcreinhold)\
**Post date:** [October 23, 2018, 7:35pm UTC](https://discourse.julialang.org/t/3d-convolution-de-convolution-layers-in-flux-for-training-3d-mri-data/11917/2 "2018-10-23T19:35:36Z")

</div>

\*\* EDIT: I misread [this issue](https://github.com/FluxML/Flux.jl/issues/451) on the GitHub repo. As Azamat explains below, Flux.jl _does_ support 3D convolution. \*\*

---

<div class="post-metadata">

**Author:** ![Azamat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/azamat/32/6892_2.png) [@Azamat](https://discourse.julialang.org/u/Azamat)\
**Post date:** [October 23, 2018, 8:00pm UTC](https://discourse.julialang.org/t/3d-convolution-de-convolution-layers-in-flux-for-training-3d-mri-data/11917/3 "2018-10-23T20:00:44Z")

</div>

Flux **does** support convolution layers for 3D MRI. It does not support dimensions higher than 3 _yet_.

---

<div class="post-metadata">

**Author:** ![wizofe](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wizofe/32/13056_2.png) [@wizofe](https://discourse.julialang.org/u/wizofe)\
**Post date:** [April 21, 2021, 10:47am UTC](https://discourse.julialang.org/t/3d-convolution-de-convolution-layers-in-flux-for-training-3d-mri-data/11917/4 "2021-04-21T10:47:56Z")

</div>

Hi @Azamat. I was looking into doing similar work, i.e. convolution to train 3D MRI for image reconstruction. Would you be kind enough to provide some examples, if you’ve worked on this? Or a direction? 🙂 ta

---

<div class="post-metadata">

**Author:** ![ToucheSir](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/touchesir/32/14411_2.png) [@ToucheSir](https://discourse.julialang.org/u/ToucheSir)\
**Post date:** [April 21, 2021, 3:54pm UTC](https://discourse.julialang.org/t/3d-convolution-de-convolution-layers-in-flux-for-training-3d-mri-data/11917/5 "2021-04-21T15:54:55Z")

</div>

It’s a WIP, but have a look at [GitHub - Dale-Black/MedicalTutorials.jl](https://github.com/Dale-Black/MedicalTutorials.jl)
