File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\IPython\core\pylabtools.py:170, in print_figure(fig, fmt, bbox_inches, base64, kwargs)
167 from matplotlib.backend_bases import FigureCanvasBase
168 FigureCanvasBase(fig)
--> 170 fig.canvas.print_figure(bytes_io, kw)
171 data = bytes_io.getvalue()
172 if fmt == 'svg':
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\backend_bases.py:2189, in FigureCanvasBase.print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs)
2186 # we do this instead of self.figure.draw_without_rendering2187 # so that we can inject the orientation
2188 with getattr(renderer, "_draw_disabled", nullcontext)():
-> 2189 self.figure.draw(renderer)
2190 if bbox_inches:
2191 if bbox_inches == "tight":
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\artist.py:95, in _finalize_rasterization..draw_wrapper(artist, renderer, *args, kwargs)
93 @wraps(draw)
94 def draw_wrapper(artist, renderer, *args, *kwargs):
---> 95 result = draw(artist, renderer, args, kwargs)
96 if renderer._rasterizing:
97 renderer.stop_rasterizing()
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\artist.py:72, in allow_rasterization..draw_wrapper(artist, renderer)
69 if artist.get_agg_filter() is not None:
70 renderer.start_filter()
---> 72 return draw(artist, renderer)
73 finally:
74 if artist.get_agg_filter() is not None:
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\figure.py:3155, in Figure.draw(self, renderer)
3152 # ValueError can occur when resizing a window.
3154 self.patch.draw(renderer)
-> 3155 mimage._draw_list_compositing_images(
3156 renderer, self, artists, self.suppressComposite)
3158 renderer.close_group('figure')
3159 finally:
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\image.py:132, in _draw_list_compositing_images(renderer, parent, artists, suppress_composite)
130 if not_composite or not has_images:
131 for a in artists:
--> 132 a.draw(renderer)
133 else:
134 # Composite any adjacent images together
135 image_group = []
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\artist.py:72, in allow_rasterization..draw_wrapper(artist, renderer)
69 if artist.get_agg_filter() is not None:
70 renderer.start_filter()
---> 72 return draw(artist, renderer)
73 finally:
74 if artist.get_agg_filter() is not None:
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\axes_base.py:3073, in _AxesBase.draw(self, renderer)
3070 for spine in self.spines.values():
3071 artists.remove(spine)
-> 3073 self._update_title_position(renderer)
3075 if not self.axison:
3076 for _axis in self._axis_map.values():
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\axes_base.py:3027, in _AxesBase._update_title_position(self, renderer)
3025 _log.debug('top of Axes not in the figure, so title not moved')
3026 return
-> 3027 if title.get_window_extent(renderer).ymin < top:
3028 _, y = self.transAxes.inverted().transform((0, top))
3029 title.set_position((x, y))
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\text.py:956, in Text.get_window_extent(self, renderer, dpi)
951 raise RuntimeError(
952 "Cannot get window extent of text w/o renderer. You likely "
953 "want to call 'figure.draw_without_rendering()' first.")
955 with cbook._setattr_cm(self.figure, dpi=dpi):
--> 956 bbox, info, descent = self._get_layout(self._renderer)
957 x, y = self.get_unitless_position()
958 x, y = self.get_transform().transform((x, y))
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\text.py:381, in Text._get_layout(self, renderer)
379 clean_line, ismath = self._preprocess_math(line)
380 if clean_line:
--> 381 w, h, d = _get_text_metrics_with_cache(
382 renderer, clean_line, self._fontproperties,
383 ismath=ismath, dpi=self.figure.dpi)
384 else:
385 w = h = d = 0
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\text.py:69, in _get_text_metrics_with_cache(renderer, text, fontprop, ismath, dpi)
66 """Call renderer.get_text_width_height_descent, caching the results."""
67 # Cached based on a copy of fontprop so that later in-place mutations of
68 # the passed-in argument do not mess up the cache.
---> 69 return _get_text_metrics_with_cache_impl(
70 weakref.ref(renderer), text, fontprop.copy(), ismath, dpi)
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\text.py:77, in _get_text_metrics_with_cache_impl(renderer_ref, text, fontprop, ismath, dpi)
73 @functools.lru_cache(4096)
74 def _get_text_metrics_with_cache_impl(
75 renderer_ref, text, fontprop, ismath, dpi):
76 # dpi is unused, but participates in cache invalidation (via the renderer).
---> 77 return renderer_ref().get_text_width_height_descent(text, fontprop, ismath)
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\backends\backend_agg.py:216, in RendererAgg.get_text_width_height_descent(self, s, prop, ismath)
212 return super().get_text_width_height_descent(s, prop, ismath)
214 if ismath:
215 ox, oy, width, height, descent, font_image = \
--> 216 self.mathtext_parser.parse(s, self.dpi, prop)
217 return width, height, descent
219 font = self._prepare_font(prop)
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\mathtext.py:79, in MathTextParser.parse(self, s, dpi, prop, antialiased)
77 prop = prop.copy() if prop is not None else None
78 antialiased = mpl._val_or_rc(antialiased, 'text.antialiased')
---> 79 return self._parse_cached(s, dpi, prop, antialiased)
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\mathtext.py:100, in MathTextParser._parse_cached(self, s, dpi, prop, antialiased)
97 if self._parser is None: # Cache the parser globally.
98 self.class._parser = _mathtext.Parser()
--> 100 box = self._parser.parse(s, fontset, fontsize, dpi)
101 output = _mathtext.ship(box)
102 if self._output_type == "vector":
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib_mathtext.py:2173, in Parser.parse(self, s, fonts_object, fontsize, dpi)
2170 result = self._expression.parseString(s)
2171 except ParseBaseException as err:
2172 # explain becomes a plain method on pyparsing 3 (err.explain(0)).
-> 2173 raise ValueError("\n" + ParseException.explain(err, 0)) from None
2174 self._state_stack = []
2175 self._in_subscript_or_superscript = False
ValueError:
$T_2#$
^
ParseException: Expected end of text, found '$' (at char 0), (line:1, col:1)
Hi, I ran the following code for creating CustomVoxelPhantom and plotting it:
obj_p = mr0.CustomVoxelPhantom( pos=torch.tensor([[-0.25, -0.25, 0]]), PD=torch.tensor([10.0]), T1=torch.tensor([3.0]), T2=torch.tensor([0.5]), T2dash=torch.tensor([30e-3]), # 1/T2* = 1/T2 + 1/T2' D=torch.tensor([0.0]), B0=torch.tensor([500]), voxel_size=torch.tensor([0.1,0.1,0.1]), voxel_shape="box" )
obj_p.plot()
The error :
ValueError Traceback (most recent call last) File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\IPython\core\formatters.py:343, in BaseFormatter.call(self, obj) 341 pass 342 else: --> 343 return printer(obj) 344 # Finally look for special method names 345 method = get_real_method(obj, self.print_method)
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\IPython\core\pylabtools.py:170, in print_figure(fig, fmt, bbox_inches, base64, kwargs) 167 from matplotlib.backend_bases import FigureCanvasBase 168 FigureCanvasBase(fig) --> 170 fig.canvas.print_figure(bytes_io, kw) 171 data = bytes_io.getvalue() 172 if fmt == 'svg':
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\backend_bases.py:2189, in FigureCanvasBase.print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs) 2186 # we do this instead of
self.figure.draw_without_rendering
2187 # so that we can inject the orientation 2188 with getattr(renderer, "_draw_disabled", nullcontext)(): -> 2189 self.figure.draw(renderer) 2190 if bbox_inches: 2191 if bbox_inches == "tight":File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\artist.py:95, in _finalize_rasterization..draw_wrapper(artist, renderer, *args, kwargs)
93 @wraps(draw)
94 def draw_wrapper(artist, renderer, *args, *kwargs):
---> 95 result = draw(artist, renderer, args, kwargs)
96 if renderer._rasterizing:
97 renderer.stop_rasterizing()
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\artist.py:72, in allow_rasterization..draw_wrapper(artist, renderer)
69 if artist.get_agg_filter() is not None:
70 renderer.start_filter()
---> 72 return draw(artist, renderer)
73 finally:
74 if artist.get_agg_filter() is not None:
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\figure.py:3155, in Figure.draw(self, renderer) 3152 # ValueError can occur when resizing a window. 3154 self.patch.draw(renderer) -> 3155 mimage._draw_list_compositing_images( 3156 renderer, self, artists, self.suppressComposite) 3158 renderer.close_group('figure') 3159 finally:
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\image.py:132, in _draw_list_compositing_images(renderer, parent, artists, suppress_composite) 130 if not_composite or not has_images: 131 for a in artists: --> 132 a.draw(renderer) 133 else: 134 # Composite any adjacent images together 135 image_group = []
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\artist.py:72, in allow_rasterization..draw_wrapper(artist, renderer)
69 if artist.get_agg_filter() is not None:
70 renderer.start_filter()
---> 72 return draw(artist, renderer)
73 finally:
74 if artist.get_agg_filter() is not None:
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\axes_base.py:3073, in _AxesBase.draw(self, renderer) 3070 for spine in self.spines.values(): 3071 artists.remove(spine) -> 3073 self._update_title_position(renderer) 3075 if not self.axison: 3076 for _axis in self._axis_map.values():
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\axes_base.py:3027, in _AxesBase._update_title_position(self, renderer) 3025 _log.debug('top of Axes not in the figure, so title not moved') 3026 return -> 3027 if title.get_window_extent(renderer).ymin < top: 3028 _, y = self.transAxes.inverted().transform((0, top)) 3029 title.set_position((x, y))
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\text.py:956, in Text.get_window_extent(self, renderer, dpi) 951 raise RuntimeError( 952 "Cannot get window extent of text w/o renderer. You likely " 953 "want to call 'figure.draw_without_rendering()' first.") 955 with cbook._setattr_cm(self.figure, dpi=dpi): --> 956 bbox, info, descent = self._get_layout(self._renderer) 957 x, y = self.get_unitless_position() 958 x, y = self.get_transform().transform((x, y))
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\text.py:381, in Text._get_layout(self, renderer) 379 clean_line, ismath = self._preprocess_math(line) 380 if clean_line: --> 381 w, h, d = _get_text_metrics_with_cache( 382 renderer, clean_line, self._fontproperties, 383 ismath=ismath, dpi=self.figure.dpi) 384 else: 385 w = h = d = 0
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\text.py:69, in _get_text_metrics_with_cache(renderer, text, fontprop, ismath, dpi) 66 """Call
renderer.get_text_width_height_descent
, caching the results.""" 67 # Cached based on a copy of fontprop so that later in-place mutations of 68 # the passed-in argument do not mess up the cache. ---> 69 return _get_text_metrics_with_cache_impl( 70 weakref.ref(renderer), text, fontprop.copy(), ismath, dpi)File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\text.py:77, in _get_text_metrics_with_cache_impl(renderer_ref, text, fontprop, ismath, dpi) 73 @functools.lru_cache(4096) 74 def _get_text_metrics_with_cache_impl( 75 renderer_ref, text, fontprop, ismath, dpi): 76 # dpi is unused, but participates in cache invalidation (via the renderer). ---> 77 return renderer_ref().get_text_width_height_descent(text, fontprop, ismath)
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\backends\backend_agg.py:216, in RendererAgg.get_text_width_height_descent(self, s, prop, ismath) 212 return super().get_text_width_height_descent(s, prop, ismath) 214 if ismath: 215 ox, oy, width, height, descent, font_image = \ --> 216 self.mathtext_parser.parse(s, self.dpi, prop) 217 return width, height, descent 219 font = self._prepare_font(prop)
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\mathtext.py:79, in MathTextParser.parse(self, s, dpi, prop, antialiased) 77 prop = prop.copy() if prop is not None else None 78 antialiased = mpl._val_or_rc(antialiased, 'text.antialiased') ---> 79 return self._parse_cached(s, dpi, prop, antialiased)
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib\mathtext.py:100, in MathTextParser._parse_cached(self, s, dpi, prop, antialiased) 97 if self._parser is None: # Cache the parser globally. 98 self.class._parser = _mathtext.Parser() --> 100 box = self._parser.parse(s, fontset, fontsize, dpi) 101 output = _mathtext.ship(box) 102 if self._output_type == "vector":
File c:\Users\nogak\miniconda3\envs\mri336504\Lib\site-packages\matplotlib_mathtext.py:2173, in Parser.parse(self, s, fonts_object, fontsize, dpi) 2170 result = self._expression.parseString(s) 2171 except ParseBaseException as err: 2172 # explain becomes a plain method on pyparsing 3 (err.explain(0)). -> 2173 raise ValueError("\n" + ParseException.explain(err, 0)) from None 2174 self._state_stack = [] 2175 self._in_subscript_or_superscript = False
ValueError: $T_2#$ ^ ParseException: Expected end of text, found '$' (at char 0), (line:1, col:1)