Positive feedback is just for motilin & 5HT. Give me a downloadable format, create an image of this. You can make it a bit creative and colourful. Perfect and professional.
ls -la /home/daytona/workspace/ 2>/dev/null || mkdir -p /home/daytona/workspace/mmc-diagram
mkdir -p /home/daytona/workspace/mmc-diagram && python3 << 'PYEOF' import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib.patches import FancyArrowPatch, Ellipse, FancyBboxPatch import matplotlib.patheffects as pe import numpy as np fig, ax = plt.subplots(1, 1, figsize=(12, 9)) # Rich dark background gradient ax.set_facecolor('#0D1B2A') fig.patch.set_facecolor('#0D1B2A') ax.set_xlim(0, 12) ax.set_ylim(0, 9) ax.axis('off') # ─── Decorative background circles (subtle) ─────────────────────────────── for cx, cy, r, alpha in [(2, 7, 3, 0.04), (10, 2, 2.5, 0.04), (6, 4.5, 4, 0.03)]: circ = plt.Circle((cx, cy), r, color='#4FC3F7', alpha=alpha) ax.add_patch(circ) # ─── Title ───────────────────────────────────────────────────────────────── ax.text(6, 8.5, 'MMC Regulation', fontsize=26, fontweight='bold', color='white', ha='center', va='center', fontfamily='DejaVu Sans', path_effects=[pe.withStroke(linewidth=3, foreground='#4FC3F7')]) ax.text(6, 8.0, 'Migrating Motor Complex — Feedback Mechanisms', fontsize=11, color='#90CAF9', ha='center', va='center', style='italic') # ─── Central MMC Oval ────────────────────────────────────────────────────── # Glowing outer ring for lw, alpha in [(14, 0.10), (9, 0.18), (5, 0.30)]: ell_glow = Ellipse((6, 4.5), 2.8, 1.8, color='#00E5FF', alpha=alpha, lw=lw, fill=False) ax.add_patch(ell_glow) # Main oval gradient effect (layered) ell_outer = Ellipse((6, 4.5), 2.8, 1.8, facecolor='#1565C0', edgecolor='#00E5FF', linewidth=2.5) ax.add_patch(ell_outer) ell_inner = Ellipse((6, 4.5), 2.4, 1.4, facecolor='#1976D2', edgecolor='none') ax.add_patch(ell_inner) ax.text(6, 4.5, 'MMC', fontsize=28, fontweight='bold', color='white', ha='center', va='center', path_effects=[pe.withStroke(linewidth=3, foreground='#0D47A1')]) # ─── Helper: draw label box ───────────────────────────────────────────────── def label_box(ax, x, y, title, subtitle, bg_color, border_color, text_color='white'): box = FancyBboxPatch((x - 1.2, y - 0.55), 2.4, 1.1, boxstyle="round,pad=0.12", facecolor=bg_color, edgecolor=border_color, linewidth=2, zorder=4) ax.add_patch(box) ax.text(x, y + 0.15, title, fontsize=13, fontweight='bold', color=text_color, ha='center', va='center', zorder=5) ax.text(x, y - 0.2, subtitle, fontsize=9, color=border_color, ha='center', va='center', style='italic', zorder=5) # ─── Helper: arrow ─────────────────────────────────────────────────────────── def draw_arrow(ax, x1, y1, x2, y2, color, lw=2.2, style='->', headw=0.25, headl=0.2): ax.annotate('', xy=(x2, y2), xytext=(x1, y1), arrowprops=dict(arrowstyle=f'->', color=color, lw=lw, mutation_scale=18, connectionstyle='arc3,rad=0.0'), zorder=3) # ─── MOTILIN (top-left) ────────────────────────────────────────────────────── mx, my = 2.5, 6.9 label_box(ax, mx, my, 'Motilin', 'GI Peptide Hormone', '#1B5E20', '#69F0AE') # Arrow: motilin → MMC draw_arrow(ax, mx + 1.0, my - 0.55, 5.1, 5.05, '#69F0AE', lw=2.5) # POSITIVE FEEDBACK badge ax.text(3.55, 6.15, '⊕ POSITIVE FEEDBACK', fontsize=8.5, fontweight='bold', color='#69F0AE', ha='center', va='center', bbox=dict(boxstyle='round,pad=0.3', facecolor='#1B5E20', edgecolor='#69F0AE', linewidth=1.3), zorder=6) # ─── SEROTONIN / 5-HT (top-right) ──────────────────────────────────────────── sx, sy = 9.5, 6.9 label_box(ax, sx, sy, 'Serotonin (5-HT)', 'Enterochromaffin Cells', '#4A148C', '#CE93D8') # Arrow: serotonin → MMC draw_arrow(ax, sx - 1.0, sy - 0.55, 6.9, 5.05, '#CE93D8', lw=2.5) # POSITIVE FEEDBACK badge ax.text(8.45, 6.15, '⊕ POSITIVE FEEDBACK', fontsize=8.5, fontweight='bold', color='#CE93D8', ha='center', va='center', bbox=dict(boxstyle='round,pad=0.3', facecolor='#4A148C', edgecolor='#CE93D8', linewidth=1.3), zorder=6) # ─── SUBSTANCE P (bottom-left) ──────────────────────────────────────────────── px, py = 2.5, 2.1 label_box(ax, px, py, "Substance 'P'", 'Neuropeptide', '#BF360C', '#FFAB91') # Arrow: substance P → MMC draw_arrow(ax, px + 1.0, py + 0.55, 5.1, 3.95, '#FFAB91', lw=2.2) # ─── NEUROTENSIN (bottom-right) ────────────────────────────────────────────── nx, ny = 9.5, 2.1 label_box(ax, nx, ny, 'Neurotensin', 'N-cells of Ileum', '#E65100', '#FFD54F') # Arrow: neurotensin → MMC draw_arrow(ax, nx - 1.0, ny + 0.55, 6.9, 3.95, '#FFD54F', lw=2.2) # ─── Bottom label for non-positive-feedback items ──────────────────────────── ax.text(6, 1.35, '★ Substance P & Neurotensin stimulate MMC — not classified as positive feedback', fontsize=9, color='#B0BEC5', ha='center', va='center', style='italic', bbox=dict(boxstyle='round,pad=0.4', facecolor='#1C2833', edgecolor='#546E7A', linewidth=1)) # ─── Legend ────────────────────────────────────────────────────────────────── legend_x, legend_y = 0.22, 2.7 ax.add_patch(FancyBboxPatch((legend_x - 0.15, legend_y - 0.55), 2.5, 1.25, boxstyle="round,pad=0.1", facecolor='#1C2833', edgecolor='#546E7A', linewidth=1.2, zorder=3)) ax.plot([legend_x, legend_x + 0.45], [legend_y + 0.38, legend_y + 0.38], color='#69F0AE', lw=2.5) ax.annotate('', xy=(legend_x + 0.48, legend_y + 0.38), xytext=(legend_x + 0.3, legend_y + 0.38), arrowprops=dict(arrowstyle='->', color='#69F0AE', lw=2.0, mutation_scale=12)) ax.text(legend_x + 0.6, legend_y + 0.38, '⊕ Positive Feedback', fontsize=8.5, color='#69F0AE', va='center') ax.plot([legend_x, legend_x + 0.45], [legend_y - 0.1, legend_y - 0.1], color='#FFD54F', lw=2.0) ax.annotate('', xy=(legend_x + 0.48, legend_y - 0.1), xytext=(legend_x + 0.3, legend_y - 0.1), arrowprops=dict(arrowstyle='->', color='#FFD54F', lw=2.0, mutation_scale=12)) ax.text(legend_x + 0.6, legend_y - 0.1, 'Stimulatory Input', fontsize=8.5, color='#FFD54F', va='center') # ─── Watermark / footer ────────────────────────────────────────────────────── ax.text(6, 0.28, 'GI Physiology | MMC Regulation Diagram', fontsize=8, color='#546E7A', ha='center', va='center') plt.tight_layout(pad=0.3) plt.savefig('/home/daytona/workspace/mmc-diagram/MMC_Regulation.png', dpi=180, bbox_inches='tight', facecolor='#0D1B2A') print("Saved PNG successfully") PYEOF
~/mmc-diagram/make_pptx.js
const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = 'LAYOUT_16x9';
pres.title = 'MMC Regulation Diagram';
let slide = pres.addSlide();
// ── Background ──────────────────────────────────────────────────────────────
slide.background = { color: '0D1B2A' };
// ── Title ────────────────────────────────────────────────────────────────────
slide.addText('MMC Regulation', {
x: 0.5, y: 0.18, w: 9, h: 0.65,
fontSize: 32, fontFace: 'Calibri', bold: true,
color: 'FFFFFF', align: 'center', valign: 'middle',
glow: { size: 8, opacity: 0.6, color: '4FC3F7' }
});
slide.addText('Migrating Motor Complex — Feedback Mechanisms', {
x: 0.5, y: 0.82, w: 9, h: 0.35,
fontSize: 12, fontFace: 'Calibri', italic: true,
color: '90CAF9', align: 'center', valign: 'middle'
});
// ── Central MMC Oval ─────────────────────────────────────────────────────────
// Glow rings
slide.addShape(pres.ShapeType.ellipse, {
x: 3.7, y: 2.45, w: 2.6, h: 1.7,
fill: { color: '00E5FF', transparency: 88 },
line: { color: '00E5FF', width: 10, transparency: 60 }
});
slide.addShape(pres.ShapeType.ellipse, {
x: 3.85, y: 2.55, w: 2.3, h: 1.5,
fill: { color: '1565C0' },
line: { color: '00E5FF', width: 2.5 }
});
slide.addText('MMC', {
x: 3.85, y: 2.55, w: 2.3, h: 1.5,
fontSize: 34, fontFace: 'Calibri', bold: true,
color: 'FFFFFF', align: 'center', valign: 'middle'
});
// ── Helper: rounded label box ─────────────────────────────────────────────────
function addLabelBox(slide, pres, x, y, w, h, title, subtitle, fillColor, borderColor) {
slide.addShape(pres.ShapeType.roundRect, {
x, y, w, h,
rectRadius: 0.12,
fill: { color: fillColor },
line: { color: borderColor, width: 2 }
});
slide.addText([
{ text: title, options: { bold: true, fontSize: 13, breakLine: true } },
{ text: subtitle, options: { fontSize: 9, italic: true, color: borderColor } }
], {
x, y, w, h,
color: 'FFFFFF', align: 'center', valign: 'middle',
fontFace: 'Calibri'
});
}
// ── Motilin (top-left) ────────────────────────────────────────────────────────
addLabelBox(slide, pres, 0.3, 0.85, 2.2, 1.0, 'Motilin', 'GI Peptide Hormone', '1B5E20', '69F0AE');
// Arrow: motilin → MMC
slide.addShape(pres.ShapeType.line, {
x: 2.5, y: 1.35, w: 1.3, h: 1.2,
line: { color: '69F0AE', width: 2.5, endArrowType: 'arrow' }
});
// Positive Feedback badge (motilin)
slide.addShape(pres.ShapeType.roundRect, {
x: 0.55, y: 2.05, w: 2.3, h: 0.38,
rectRadius: 0.08,
fill: { color: '1B5E20' },
line: { color: '69F0AE', width: 1.3 }
});
slide.addText('⊕ POSITIVE FEEDBACK', {
x: 0.55, y: 2.05, w: 2.3, h: 0.38,
fontSize: 8.5, bold: true, color: '69F0AE',
align: 'center', valign: 'middle', fontFace: 'Calibri'
});
// ── Serotonin / 5-HT (top-right) ─────────────────────────────────────────────
addLabelBox(slide, pres, 7.5, 0.85, 2.2, 1.0, 'Serotonin (5-HT)', 'Enterochromaffin Cells', '4A148C', 'CE93D8');
// Arrow: serotonin → MMC
slide.addShape(pres.ShapeType.line, {
x: 6.2, y: 1.35, w: 1.35, h: 1.2,
line: { color: 'CE93D8', width: 2.5, endArrowType: 'arrow', flipH: true }
});
// Positive Feedback badge (serotonin)
slide.addShape(pres.ShapeType.roundRect, {
x: 7.15, y: 2.05, w: 2.3, h: 0.38,
rectRadius: 0.08,
fill: { color: '4A148C' },
line: { color: 'CE93D8', width: 1.3 }
});
slide.addText('⊕ POSITIVE FEEDBACK', {
x: 7.15, y: 2.05, w: 2.3, h: 0.38,
fontSize: 8.5, bold: true, color: 'CE93D8',
align: 'center', valign: 'middle', fontFace: 'Calibri'
});
// ── Substance P (bottom-left) ─────────────────────────────────────────────────
addLabelBox(slide, pres, 0.3, 3.85, 2.2, 1.0, "Substance 'P'", 'Neuropeptide', 'BF360C', 'FFAB91');
// Arrow: substance P → MMC
slide.addShape(pres.ShapeType.line, {
x: 2.5, y: 3.85, w: 1.3, h: -0.6,
line: { color: 'FFAB91', width: 2.2, endArrowType: 'arrow' }
});
// ── Neurotensin (bottom-right) ────────────────────────────────────────────────
addLabelBox(slide, pres, 7.5, 3.85, 2.2, 1.0, 'Neurotensin', 'N-cells of Ileum', 'E65100', 'FFD54F');
// Arrow: neurotensin → MMC
slide.addShape(pres.ShapeType.line, {
x: 7.5, y: 3.85, w: -1.35, h: -0.6,
line: { color: 'FFD54F', width: 2.2, endArrowType: 'arrow' }
});
// ── Footnote ───────────────────────────────────────────────────────────────────
slide.addShape(pres.ShapeType.roundRect, {
x: 0.5, y: 4.95, w: 9, h: 0.45,
rectRadius: 0.1,
fill: { color: '1C2833' },
line: { color: '546E7A', width: 1 }
});
slide.addText('★ Substance P & Neurotensin stimulate MMC — not classified as positive feedback', {
x: 0.5, y: 4.95, w: 9, h: 0.45,
fontSize: 9, italic: true, color: 'B0BEC5',
align: 'center', valign: 'middle', fontFace: 'Calibri'
});
// ── Legend ─────────────────────────────────────────────────────────────────────
slide.addShape(pres.ShapeType.roundRect, {
x: 0.3, y: 3.3, w: 2.6, h: 0.55,
rectRadius: 0.08,
fill: { color: '1C2833' },
line: { color: '546E7A', width: 1 }
});
slide.addText([
{ text: '— ', options: { color: '69F0AE', bold: true } },
{ text: '⊕ Positive Feedback ', options: { color: '69F0AE', bold: true } },
{ text: ' | ', options: { color: '546E7A' } },
{ text: '— ', options: { color: 'FFD54F', bold: true } },
{ text: 'Stimulatory Input', options: { color: 'FFD54F' } }
], {
x: 0.3, y: 3.3, w: 2.6, h: 0.55,
fontSize: 8, fontFace: 'Calibri',
align: 'center', valign: 'middle'
});
// ── Footer ──────────────────────────────────────────────────────────────────────
slide.addText('GI Physiology | MMC Regulation Diagram', {
x: 0.5, y: 5.4, w: 9, h: 0.2,
fontSize: 8, color: '546E7A', align: 'center',
fontFace: 'Calibri', italic: true
});
pres.writeFile({ fileName: '/home/daytona/workspace/mmc-diagram/MMC_Regulation.pptx' })
.then(() => console.log('PPTX saved!'))
.catch(e => console.error('Error:', e));
cd /home/daytona/workspace/mmc-diagram && node make_pptx.js
python3 << 'PYEOF' import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib.patches import FancyArrowPatch, Ellipse, FancyBboxPatch import matplotlib.patheffects as pe fig, ax = plt.subplots(1, 1, figsize=(12, 9)) ax.set_facecolor('#0D1B2A') fig.patch.set_facecolor('#0D1B2A') ax.set_xlim(0, 12) ax.set_ylim(0, 9) ax.axis('off') # Decorative background circles for cx, cy, r, alpha in [(2, 7, 3, 0.04), (10, 2, 2.5, 0.04), (6, 4.5, 4, 0.03)]: circ = plt.Circle((cx, cy), r, color='#4FC3F7', alpha=alpha) ax.add_patch(circ) # Title ax.text(6, 8.5, 'MMC Regulation', fontsize=28, fontweight='bold', color='white', ha='center', va='center', fontfamily='DejaVu Sans', path_effects=[pe.withStroke(linewidth=4, foreground='#4FC3F7')]) ax.text(6, 8.0, 'Migrating Motor Complex — Feedback Mechanisms', fontsize=11, color='#90CAF9', ha='center', va='center', style='italic') # Central MMC Oval glow rings for lw, alpha in [(16, 0.08), (10, 0.16), (5, 0.28)]: ell = Ellipse((6, 4.5), 3.0, 1.9, color='#00E5FF', alpha=alpha, lw=lw, fill=False) ax.add_patch(ell) ell_outer = Ellipse((6, 4.5), 3.0, 1.9, facecolor='#1565C0', edgecolor='#00E5FF', linewidth=2.5) ax.add_patch(ell_outer) ell_inner = Ellipse((6, 4.5), 2.5, 1.5, facecolor='#1976D2', edgecolor='none') ax.add_patch(ell_inner) ax.text(6, 4.5, 'MMC', fontsize=30, fontweight='bold', color='white', ha='center', va='center', path_effects=[pe.withStroke(linewidth=3, foreground='#0D47A1')]) # Helper: label box def label_box(ax, x, y, title, subtitle, bg, border): box = FancyBboxPatch((x - 1.35, y - 0.6), 2.7, 1.2, boxstyle="round,pad=0.14", facecolor=bg, edgecolor=border, linewidth=2.2, zorder=4) ax.add_patch(box) ax.text(x, y + 0.15, title, fontsize=13, fontweight='bold', color='white', ha='center', va='center', zorder=5) ax.text(x, y - 0.22, subtitle, fontsize=9, color=border, ha='center', va='center', style='italic', zorder=5) # Helper: arrow from (x1,y1) to (x2,y2) def draw_arrow(ax, x1, y1, x2, y2, color, lw=2.5): ax.annotate('', xy=(x2, y2), xytext=(x1, y1), arrowprops=dict(arrowstyle='->', color=color, lw=lw, mutation_scale=20), zorder=3) # Badge helper def badge(ax, x, y, text, bg, border): ax.text(x, y, text, fontsize=8.5, fontweight='bold', color=border, ha='center', va='center', zorder=6, bbox=dict(boxstyle='round,pad=0.3', facecolor=bg, edgecolor=border, linewidth=1.4)) # ── MOTILIN (top-left) ───────────────────────────────────────────────────── label_box(ax, 2.5, 7.0, 'Motilin', 'GI Peptide Hormone', '#1B5E20', '#69F0AE') draw_arrow(ax, 3.7, 6.52, 5.05, 5.12, '#69F0AE', 2.5) badge(ax, 3.9, 6.15, '⊕ POSITIVE FEEDBACK', '#1B5E20', '#69F0AE') # ── SEROTONIN (top-right) ────────────────────────────────────────────────── label_box(ax, 9.5, 7.0, 'Serotonin (5-HT)', 'Enterochromaffin Cells', '#4A148C', '#CE93D8') draw_arrow(ax, 8.3, 6.52, 6.95, 5.12, '#CE93D8', 2.5) badge(ax, 8.1, 6.15, '⊕ POSITIVE FEEDBACK', '#4A148C', '#CE93D8') # ── SUBSTANCE P (bottom-left) ───────────────────────────────────────────── label_box(ax, 2.5, 2.0, "Substance 'P'", 'Neuropeptide', '#BF360C', '#FFAB91') draw_arrow(ax, 3.7, 2.48, 5.05, 3.88, '#FFAB91', 2.2) # ── NEUROTENSIN (bottom-right) ─────────────────────────────────────────── label_box(ax, 9.5, 2.0, 'Neurotensin', 'N-cells of Ileum', '#E65100', '#FFD54F') draw_arrow(ax, 8.3, 2.48, 6.95, 3.88, '#FFD54F', 2.2) # ── Note bar ───────────────────────────────────────────────────────────── notebox = FancyBboxPatch((1.5, 0.65), 9.0, 0.55, boxstyle="round,pad=0.12", facecolor='#1C2833', edgecolor='#546E7A', linewidth=1.2) ax.add_patch(notebox) ax.text(6, 0.925, '★ Substance P & Neurotensin stimulate MMC — not classified as positive feedback', fontsize=9.5, color='#B0BEC5', ha='center', va='center', style='italic') # ── Legend (top-right corner, away from boxes) ──────────────────────────── lx, ly = 9.2, 4.5 legbox = FancyBboxPatch((lx - 0.15, ly - 0.55), 2.7, 1.15, boxstyle="round,pad=0.1", facecolor='#1C2833', edgecolor='#546E7A', linewidth=1.2, zorder=3) ax.add_patch(legbox) draw_arrow(ax, lx + 0.05, ly + 0.3, lx + 0.55, ly + 0.3, '#69F0AE', 2.0) ax.text(lx + 0.7, ly + 0.30, '⊕ Positive Feedback', fontsize=8.5, color='#69F0AE', va='center') draw_arrow(ax, lx + 0.05, ly - 0.15, lx + 0.55, ly - 0.15, '#FFD54F', 2.0) ax.text(lx + 0.7, ly - 0.15, 'Stimulatory Input', fontsize=8.5, color='#FFD54F', va='center') # ── Footer ──────────────────────────────────────────────────────────────── ax.text(6, 0.22, 'GI Physiology | MMC Regulation Diagram', fontsize=8, color='#546E7A', ha='center', va='center') plt.tight_layout(pad=0.3) plt.savefig('/home/daytona/workspace/mmc-diagram/MMC_Regulation.png', dpi=180, bbox_inches='tight', facecolor='#0D1B2A') print("PNG saved OK") PYEOF
MMC Regulation
Image · PNG
MMC Regulation
Presentation · PPTX
Excuse me? Are you doing it?

MMC Regulation
Image · PNG
MMC Regulation
Presentation · PPTX
It isn't visible. Error.
A professional and colorful medical diagram on a dark navy blue background titled "MMC Regulation" with subtitle "Migrating Motor Complex — Feedback Mechanisms". In the center is a glowing cyan-outlined blue oval labeled "MMC" in large white bold text. Four colored rounded rectangle boxes surround it connected by arrows pointing INTO the MMC oval: Top-left box in dark green with bright green border labeled "Motilin" (subtitle: GI Peptide Hormone) with a bright green arrow going to MMC and a small badge saying "⊕ POSITIVE FEEDBACK" in green. Top-right box in dark purple with lavender border labeled "Serotonin (5-HT)" (subtitle: Enterochromaffin Cells) with a purple arrow going to MMC and a small badge saying "⊕ POSITIVE FEEDBACK" in purple. Bottom-left box in dark red with salmon border labeled "Substance P" (subtitle: Neuropeptide) with an orange-red arrow going to MMC, NO positive feedback badge. Bottom-right box in dark orange with yellow border labeled "Neurotensin" (subtitle: N-cells of Ileum) with a yellow arrow going to MMC, NO positive feedback badge. At the bottom a dark info bar reads: "Substance P and Neurotensin stimulate MMC — not classified as positive feedback". A small legend box shows green arrow = Positive Feedback, yellow arrow = Stimulatory Input. Clean, professional, medical education style, vibrant colors on dark background.

MMC Regulation
Image · PNG
MMC Regulation
Presentation · PPTX