Sloka of this yantra
पिठर यंत्र Pithar Yantra ancient Indian device sloka description
https://www.scribd.com/presentation/911231880/Yantra-Dr-Jith…
Pithara Yantra sloka Sanskrit Rasaratna Samuccaya Rasashastra
https://www.slideshare.net/slideshow/yantras-214578908/21457…
पिठरं मृण्मयं पात्रं चुल्ल्यां संस्थाप्य साधयेत् । एतद् यंत्रं पिठराख्यं सर्वकर्मसु योजयेत् ॥
| Component | Description |
|---|---|
| Brown clay pot (top) | The Pithara (earthen vessel) holding medicinal substances |
| Torus/ring lid | Sealing the mouth of the vessel |
| Pale base (inverted vessel shape) | The Chullikā (traditional hearth/stove) |
| Red sphere + wood (bottom) | Fire (Agni) - the heat source |
More real images iss yantra ki jo book me available h
Pithara Yantra Rasashastra earthen pot hearth apparatus

This educational illustration serves as an etymological and morphological reference for Takotsubo cardiomyopathy (also known as stress-induced cardiomyopathy or broken heart syndrome). The image features a stylized representation of a traditional Japanese 'takotsubo' (octopus trap), consisting of an earthen ceramic pot with a rounded base and a narrow neck. A dark purple octopus is shown entering or exiting the narrow opening, emphasizing the vessel's shape. This visual is historically significant in cardiology as it illustrates the striking physical resemblance between the pot and the apical ballooning of the left ventricle typically observed during the systolic phase in patients with this condition. During an acute episode, apical akinesis or hypokinesis coupled with basal hyperkinesis causes the left ventricle to assume this flask-like configuration on a ventriculogram. The image includes text annotation stating, 'Takotsubo is Japanese for Octopus Trap,' facilitating student understanding of the nomenclature used to describe this transient cardiac syndrome.

Clinical photograph showing a gross specimen of primary omental torsion (POT) resting on a surgical drape. The image demonstrates a resected portion of the greater omentum with clear evidence of vascular compromise and infarction. Proximal to the torsion point, the omentum appears relatively normal; however, distal to the twist, the tissue is severely congested, thickened, and displays a characteristic cyanotic, reddish-purple hue indicative of hemorrhagic infarction. The specimen has a lobulated architecture, with focal yellowish areas suggestive of fat necrosis. This visual illustrates the pathophysiological results of mechanical torsion on adipose peritoneal tissue, leading to venous obstruction and subsequent tissue ischemia. It serves as a classic educational example of an acute abdominal condition requiring surgical intervention (omentectomy).

This clinical photograph depicts a severe penetrating orbital trauma (POT) in an adult male. A large knife is shown impaled in the right orbit, with the blade entering through the superior-medial aspect of the orbital cavity. The knife features a carved wooden handle and a wide metallic blade. Visible secondary injuries include a significant irregular laceration of the right upper eyelid and surrounding periorbital soft tissues, with active hemorrhage and exposed deep tissue. While the globe appears grossly intact in this view, the injury carries a high risk of optic nerve transection and orbital wall fractures. The patient is shown in a clinical setting, stabilized with a cervical collar and an endotracheal tube in situ, indicating an emergent trauma management scenario. This image illustrates the complexity of maxillofacial and ophthalmic trauma, emphasizing the need for multidisciplinary surgical intervention and the risk of permanent vision loss due to retrobulbar injury.

This clinical photograph demonstrates an intraoperative view of a Single Incision Laparoscopic Surgery (SILS) port placed at the patient's umbilicus. The central apparatus is a specialized multi-channel access device featuring a blue, flexible thermoplastic elastomer base that creates an airtight seal against the abdominal wall. Three vertical cannulas with white valvular caps are integrated into the port, allowing for the simultaneous insertion of a laparoscope and two surgical instruments through a single umbilical incision. A clear insufflation tube is connected to the side of the port, facilitating the maintenance of pneumoperitoneum during the Laparoendoscopic Single-site Surgery (LESS). Visible landmarks include the surrounding abdominal skin, surgical marking lines, and blue sterile surgical drapes in the periphery. This image illustrates a minimally invasive surgical technique used for procedures such as nephrectomy or appendectomy, prioritizing improved cosmesis and potentially reduced postoperative pain compared to traditional multi-port laparoscopy.

This procedural image illustrates a specialized experimental device designed for neurophysiological research into haptic illusions and postural control. The apparatus (A) is comprised of a multi-segmental thermal module integrated onto a white balance board (stabilometer). The thermal module features eight Peltier elements, heatsinks, and thermistors, capable of delivering localized, dynamic temperature stimuli to specific plantar regions. The device is connected to an external microcontroller and power sources via red and black wiring. In the clinical application (B), a participant stands barefoot on the platform with the toes and heels specifically aligned over separate Peltier elements. This configuration allows researchers to induce a 'thermo-haptic illusion'—where rapid temperature changes elicit perceived pressure or force—to study its effect on the center of gravity (COG) and reflexive body sway. The setup serves as a diagnostic and research tool for investigating the integration of thermal and proprioceptive sensory inputs in human balance and standing posture.

This composite image presents multiple radiographic views of a Primordial Odontogenic Tumor (POT) in the mandible. Panel (a) shows an axial cone-beam CT (CBCT) scan highlighting a small, approximately 5mm, well-circumscribed round radiolucent cavity with a distinct cortical border (indicated by a blue arrow) located mesiolingual to the root of the mandibular left first premolar (tooth 34). Panels (b), (c), and (d) provide panoramic and cross-sectional reconstructions that further illustrate the lesion (marked by white circles). The panoramic view reveals a well-defined radiolucency in the left mandibular body, while the adjacent periapical region shows evidence of bone resorption and reactive sclerosing osteitis. Unlike typical odontogenic tumors that appear pericoronally with unerupted teeth, this specific presentation (Type C) demonstrates a rare localization in close proximity to the root of a fully erupted tooth. The imaging highlights key diagnostic features including unilocular morphology, cortical expansion without perforation, and its relationship to the surrounding dentition.

This composite diagnostic image features four Computed Tomography (CT) scans of the head, including a sagittal scout view and axial/coronal cross-sections, demonstrating a penetrating orbital trauma (POT). A large, radiopaque metallic foreign body, identified as a knife blade, is seen entering through the right orbit. The sagittal view illustrates the linear trajectory of the blade extending posteriorly toward the skull base but stopping short of intracranial penetration. The coronal and axial views show the metallic object within the right orbital cavity, causing significant streak artifacts (starburst effect) characteristic of high-density metal on CT. The scans are used to assess the integrity of the superior and inferior orbital rims, maxilla, and zygomatic arch, which appear largely intact. This case illustrates the clinical utility of CT imaging in evaluating the depth and trajectory of penetrating facial injuries, essential for surgical planning and predicting visual prognosis, particularly regarding optic nerve involvement and vascular proximity.

A clinical photograph illustrating a non-immersive virtual reality (NIVR) intervention setup for pediatric rehabilitation. The image depicts a child seated in a plastic chair, engaged with a driving simulation game using a handheld gaming controller. The rehabilitation apparatus consists of a mobile, two-tiered rolling cart. The upper shelf supports a digital monitor displaying the simulation and the lower shelf houses a PlayStation 4 console. The setting is a clinical therapy room, indicated by the presence of a professional medical examination table with a blue padded surface and storage cabinets. The intervention is utilized in physiotherapy to improve upper limb coordination, motor control, and functional independence in pediatric patients with conditions such as cerebral palsy. The floor features multi-colored tactile tiling, common in pediatric clinical environments.
Pithara Yantra image Rasashastra textbook Ayurveda pharmaceutical apparatus diagram
https://www.easyayurveda.com/2022/09/01/rasashastra-yantras/
Pithara Yantra Sthali Yantra diagram Rasaratna Samuccaya illustration


| Feature | Aapka Pithara Yantra | Sthali/Pithara Book Diagram |
|---|---|---|
| Earthen pot (mitti ka) | ✅ Brown clay pot | ✅ Same |
| Sealed lid (cloth/dough) | ✅ Dough ring on top | ✅ Cloth plaster |
| Hearth/Chullika | ✅ Pale base | ✅ Same |
| Fire + firewood | ✅ Red sphere + sticks | ✅ Same |
Pithara yantra ki image
Pithara Yantra - ancient Indian Rasashastra pharmaceutical apparatus. A detailed labeled scientific diagram showing: a round brown earthen clay pot (pithara/sthali) placed on top of a traditional clay hearth (chullika/chulha). The pot has a sealed lid with dough/cloth plaster on top. Inside the pot are medicinal herbs and minerals. The hearth base is hollow with an arched opening at the front. Firewood and glowing red fire visible inside the hearth at the bottom. Clear label arrows pointing to: Pithara (earthen vessel), Chullika (hearth), Agni (fire), Lid/Sealed cover. Clean white background, educational textbook illustration style, black outlines with earthy brown and orange colors.

Sloka
pithara yantra sloka Sanskrit original text "पिठर यंत्र" श्लोक rasaratna samuccaya rasa tarangini
http://rasashastraclasses.blogspot.com/2021/01/yantra-prakar…
"पिठरं" OR "pitharaṃ" yantra sloka "चुल्ल्यां" OR "chullika" rasashastra Sanskrit verse
https://www.slideshare.net/slideshow/rasa-ratna-samuchaya-1s…
चुल्ल्यामारोपयेद् यत्र पात्रं भेषजसंयुतम् । तत् पिठरयंत्रं स्यात् सर्वकर्मसु योजयेत् ॥
सन्यासः - उक्त पात्रे जलं क्षिप्त्वा चुल्लिकायां निधाय तु । स्वेदनार्थं प्रयुञ्जीत पिठरं यंत्रमुत्तमम् ॥
मृण्मयं पात्रमादाय चुल्ल्यामारोपयेत् सुधीः । पाचनं स्वेदनं चापि पिठरेणैव सिध्यति ॥
| कार्य | Process |
|---|---|
| पाचन | औषधि द्रव्यों का पाक |
| स्वेदन | भाप द्वारा संस्कार |
| सन्यास | जल के साथ मृदु अग्नि पर स्वेदन |
स्रोत: Rasaratna Samuccaya - Vagbhattacharya, Adhyaya 9 (यंत्र निरूपणम्)
Scope of Agada Tantra: Relevance and applications in the modern clinical
Agada Tantra scope relevance modern clinical toxicology Ayurveda
Agada Tantra Ayurveda eight branches scope applications forensic toxicology modern medicine
https://atharvaamcd.org/agada-tantra
Agada Tantra scope "sthavara visha" "jangama visha" snake bite food poisoning modern relevance clinical
https://www.ijim.co.in/htmlFullText?id=450
"अगदतन्त्रं नाम सर्पकीटलूतामूषकादिदष्टविषव्यञ्जनार्थं विविधविषसंयोगोपशमनार्थं च।"
| वर्गीकरण | Classification | Modern Equivalent |
|---|---|---|
| स्थावर विष | Plant/mineral poisons | Phytotoxins, heavy metal poisoning |
| जंगम विष | Animal-origin venoms | Snake, scorpion, spider envenomation |
| गर विष | Artificially prepared poisons | Chemical toxins, food adulterants, drug overdose |
| दूषी विष | Latent/cumulative toxins | Chronic environmental exposure, occupational toxicology |
| संयोगज विष | Combination poisons | Drug-drug interactions, poly-pharmacy toxicity |
| Agada Tantra Concept | Modern Equivalent |
|---|---|
| Visha Vijnana | Clinical Toxicology |
| Visha Shodhana (purification) | Decontamination protocols |
| Agada dravya | Antidote therapy |
| Vamana/Virechana for Visha | Emesis/gastric lavage/cathartics |
| Dushi Visha | Chronic/latent toxicity |
| Gara Visha | Chemical/food toxins |
| Vyavahara Ayurveda | Forensic Medicine |
| Vidhi Vaidyaka | Medical Jurisprudence |
| Madatyaya Chikitsa | Substance abuse medicine |
| Visha Vardhaka Bhava | Drug interaction/bioavailability factors |
"अगदं नाम सर्वविषाणामपहन्ता" "Agada is that which destroys all poisons." - Charaka Samhita
E chart banao
mkdir -p /tmp/workspace/agada-tantra && ls /tmp/workspace/agada-tantra/
~/agada-tantra/echart.py
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from matplotlib.patches import FancyBboxPatch, FancyArrowPatch
import matplotlib.patheffects as pe
import numpy as np
fig = plt.figure(figsize=(22, 28), facecolor='#0d1b2a')
ax = fig.add_axes([0, 0, 1, 1])
ax.set_xlim(0, 22)
ax.set_ylim(0, 28)
ax.axis('off')
ax.set_facecolor('#0d1b2a')
# ── helper ──────────────────────────────────────────────────────────────────
def box(x, y, w, h, fc, ec='white', lw=1.2, radius=0.25, alpha=1.0):
r = FancyBboxPatch((x, y), w, h,
boxstyle=f"round,pad=0,rounding_size={radius}",
facecolor=fc, edgecolor=ec, linewidth=lw, alpha=alpha,
zorder=3)
ax.add_patch(r)
def txt(x, y, s, fs=10, color='white', ha='center', va='center',
bold=False, wrap=False):
w = 'bold' if bold else 'normal'
ax.text(x, y, s, fontsize=fs, color=color, ha=ha, va=va,
fontweight=w, zorder=5, wrap=wrap,
fontfamily='DejaVu Sans')
# ── background decoration ────────────────────────────────────────────────────
for i in range(0, 23, 2):
ax.axvline(i, color='#1a2e45', lw=0.4, zorder=0)
for i in range(0, 29, 2):
ax.axhline(i, color='#1a2e45', lw=0.4, zorder=0)
# ── TITLE BLOCK ─────────────────────────────────────────────────────────────
box(0.3, 26.0, 21.4, 1.7, fc='#1a3a5c', ec='#f0a500', lw=2.5, radius=0.4)
txt(11, 27.25, 'AGADA TANTRA', fs=28, bold=True, color='#f0a500')
txt(11, 26.65, 'Scope & Modern Clinical Relevance | अगद तंत्र का क्षेत्र', fs=13, color='#cce4ff')
txt(11, 26.25, 'One of Ashtanga Ayurveda\'s Eight Branches • Ancient Toxicology Meets Modern Medicine', fs=10, color='#8ab4d4')
# ── DEFINITION BOX ──────────────────────────────────────────────────────────
box(0.3, 24.3, 21.4, 1.45, fc='#162d45', ec='#4fc3f7', lw=1.5, radius=0.3)
txt(11, 25.3, '"Agada Tantra deals with identification, prevention, diagnosis & treatment of Visha (poisons)"', fs=10.5, color='#e0f4ff')
txt(11, 24.75, 'Also known as: Visha Tantra • Damshtra Chikitsa • Visha Vidya • Jangulika Vidya', fs=9.5, color='#a0d0f0')
txt(0.7, 25.02, '📖', fs=14, ha='left')
# ── VISHA CLASSIFICATION (row) ───────────────────────────────────────────────
box(0.3, 22.35, 21.4, 1.7, fc='#1b2f1e', ec='#66bb6a', lw=1.5, radius=0.3)
txt(11, 23.72, 'VISHA CLASSIFICATION (Types of Poisons)', fs=12, bold=True, color='#a5d6a7')
visha_types = [
('स्थावर विष\nSthavara Visha', 'Plant & Mineral\nPoisons', '#2e7d32'),
('जंगम विष\nJangama Visha', 'Animal Venoms\n(Snake, Scorpion)', '#1b5e20'),
('गर विष\nGara Visha', 'Artificial/Chemical\nPoisons', '#4caf50'),
('दूषी विष\nDushi Visha', 'Latent/Cumulative\nToxins', '#388e3c'),
('संयोगज विष\nSanyogaja Visha', 'Combination /\nDrug Interactions', '#27ae60'),
]
col_w = 4.1
start_x = 0.5
for i, (name, desc, color) in enumerate(visha_types):
bx = start_x + i * col_w
box(bx, 22.45, col_w - 0.2, 1.15, fc=color, ec='#a5d6a7', lw=1, radius=0.2, alpha=0.85)
txt(bx + (col_w-0.2)/2, 23.15, name, fs=8, bold=True, color='white')
txt(bx + (col_w-0.2)/2, 22.72, desc, fs=7.5, color='#d4f5d6')
# ── SCOPE SECTIONS header ────────────────────────────────────────────────────
txt(11, 22.1, 'SCOPE & MODERN APPLICATIONS', fs=13, bold=True, color='#f0a500')
# ── DATA for 8 scope cards (2 rows × 4 cols) ─────────────────────────────────
cards = [
{
'icon': '🐍',
'title': '1. Envenomation\nManagement',
'ayurveda': 'Sarpa/Keeta Visha\nChikitsa, Agadadravyas\n(Shirisha, Sarpagandha)',
'modern': 'Anti-Snake Venom,\nEmergency Toxicology,\nCritical Care',
'color': '#6a1b9a', 'edge': '#ce93d8'
},
{
'icon': '🏭',
'title': '2. Environmental &\nOccupational Toxicology',
'ayurveda': 'Dushi Visha - chronic\nexposure to low-potency\ntoxins in environment',
'modern': 'Heavy Metals (Pb, As, Hg),\nPesticide exposure,\nAir/Water pollution',
'color': '#1565c0', 'edge': '#90caf9'
},
{
'icon': '💊',
'title': '3. Drug Safety &\nPharmacovigilance',
'ayurveda': 'Visha Vardhaka Bhava\n(factors enhancing\ntoxicity)',
'modern': 'Drug-Drug Interactions,\nADR monitoring,\nHeavy metal drug safety',
'color': '#00695c', 'edge': '#80cbc4'
},
{
'icon': '🍽️',
'title': '4. Food Toxicology\n& Public Health',
'ayurveda': 'Gara Visha - artificial\npoisons, food adulterants,\npreservatives',
'modern': 'FSSAI standards,\nFood safety regulations,\nAdulteration testing',
'color': '#e65100', 'edge': '#ffcc80'
},
{
'icon': '🚨',
'title': '5. Emergency &\nClinical Toxicology',
'ayurveda': 'Vamana, Virechana,\nVisha Shodhana -\npurification protocols',
'modern': 'Gastric lavage,\nActivated charcoal,\nICU poisoning mgmt',
'color': '#b71c1c', 'edge': '#ef9a9a'
},
{
'icon': '🚬',
'title': '6. Substance Abuse\n& De-addiction',
'ayurveda': 'Madatyaya Chikitsa\n(alcohol/drug abuse),\nMadya Visha',
'modern': 'De-addiction medicine,\nSubstance abuse rehab,\nWithdrawal management',
'color': '#4a148c', 'edge': '#ea80fc'
},
{
'icon': '⚖️',
'title': '7. Forensic Medicine\n(Vyavahara Ayurveda)',
'ayurveda': 'Thanatology, wound\nidentification, asphyxial\ndeaths, identity',
'modern': 'Post-mortem exam,\nForensic Science Lab,\nEvidence in courts',
'color': '#33691e', 'edge': '#aed581'
},
{
'icon': '📋',
'title': '8. Medical Jurisprudence\n(Vidhi Vaidyaka)',
'ayurveda': 'Vaidya Sadvritta\n(ethics), physician\'s\nduties and rights',
'modern': 'IPC, MCI regulations,\nConsumer protection,\nMedico-legal cases',
'color': '#004d40', 'edge': '#80cbc4'
},
]
# Draw 2 rows × 4 cols
card_w = 5.1
card_h = 4.5
gap_x = 0.35
gap_y = 0.35
start_y = [17.2, 12.3] # top-left y of each row
for idx, card in enumerate(cards):
row = idx // 4
col = idx % 4
cx = 0.5 + col * (card_w + gap_x)
cy = start_y[row]
# main card bg
box(cx, cy, card_w, card_h, fc=card['color'], ec=card['edge'], lw=1.5, radius=0.35, alpha=0.92)
# icon + title strip
box(cx, cy + card_h - 1.05, card_w, 1.05, fc='#00000033', ec='none', lw=0, radius=0.35, alpha=0.6)
txt(cx + 0.45, cy + card_h - 0.52, card['icon'], fs=16, ha='center')
txt(cx + card_w/2 + 0.15, cy + card_h - 0.52, card['title'], fs=9, bold=True, color='white', ha='center')
# Ayurveda sub-box
ay_h = 1.5
box(cx + 0.12, cy + card_h - 1.05 - ay_h - 0.12, card_w - 0.24, ay_h,
fc='#ffffff18', ec='#ffffff55', lw=0.8, radius=0.2)
txt(cx + card_w/2, cy + card_h - 1.05 - 0.28, '🌿 Ayurvedic Concept', fs=7.5, bold=True, color='#ffe082')
txt(cx + card_w/2, cy + card_h - 1.05 - 0.7 - 0.12, card['ayurveda'], fs=8, color='#e8f5e9')
# Modern medicine sub-box
mod_y = cy + 0.12
mod_h = 1.55
box(cx + 0.12, mod_y, card_w - 0.24, mod_h,
fc='#ffffff18', ec='#4fc3f755', lw=0.8, radius=0.2)
txt(cx + card_w/2, mod_y + mod_h - 0.28, '🏥 Modern Equivalent', fs=7.5, bold=True, color='#80deea')
txt(cx + card_w/2, mod_y + 0.65, card['modern'], fs=8, color='#e0f7fa')
# ── THREE PILLARS ─────────────────────────────────────────────────────────────
box(0.3, 10.5, 21.4, 1.6, fc='#1a2b3c', ec='#f0a500', lw=1.5, radius=0.3)
txt(11, 11.75, 'THREE PILLARS OF AGADA TANTRA', fs=12, bold=True, color='#f0a500')
pillars = [
('AGADA TANTRA\nटॉक्सिकोलॉजी', 'Clinical Toxicology', '#1565c0'),
('VYAVAHARA AYURVEDA\nफोरेंसिक मेडिसिन', 'Forensic Medicine', '#6a1b9a'),
('VIDHI VAIDYAKA\nमेडिकल जुरिस्प्रूडेंस', 'Medical Jurisprudence', '#1b5e20'),
]
for i, (name, sub, color) in enumerate(pillars):
px = 0.8 + i * 7.1
box(px, 10.6, 6.5, 0.88, fc=color, ec='white', lw=1, radius=0.2, alpha=0.9)
txt(px + 3.25, 11.18, name, fs=9.5, bold=True, color='white')
txt(px + 3.25, 10.83, sub, fs=8.5, color='#cce4ff')
# ── COMPARISON TABLE ──────────────────────────────────────────────────────────
box(0.3, 4.5, 21.4, 5.8, fc='#0f2236', ec='#4fc3f7', lw=1.5, radius=0.3)
txt(11, 10.0, 'COMPARATIVE TABLE: Agada Tantra vs Modern Medicine', fs=12, bold=True, color='#4fc3f7')
# table header
box(0.5, 9.35, 10.5, 0.55, fc='#1565c0', ec='none', lw=0, radius=0.1)
box(11.2, 9.35, 10.2, 0.55, fc='#00695c', ec='none', lw=0, radius=0.1)
txt(5.75, 9.63, 'AGADA TANTRA CONCEPT', fs=9.5, bold=True, color='white')
txt(16.3, 9.63, 'MODERN MEDICINE EQUIVALENT', fs=9.5, bold=True, color='white')
rows_data = [
('Visha Vijnana (विष विज्ञान)', 'Clinical Toxicology'),
('Visha Shodhana (विष शोधन)', 'Decontamination / Detoxification'),
('Agada Dravya (अगद द्रव्य)', 'Antidote Therapy'),
('Vamana / Virechana for Visha', 'Emesis / Gastric Lavage / Cathartics'),
('Dushi Visha (दूषी विष)', 'Chronic / Latent / Cumulative Toxicity'),
('Gara Visha (गर विष)', 'Chemical / Food / Industrial Toxins'),
('Madatyaya Chikitsa', 'Substance Abuse & De-addiction Medicine'),
('Visha Vardhaka Bhava', 'Drug Interactions / Bioavailability Modifiers'),
]
for i, (left, right) in enumerate(rows_data):
ry = 8.9 - i * 0.53
bg = '#12253a' if i % 2 == 0 else '#0d1d2e'
box(0.5, ry - 0.35, 10.5, 0.5, fc=bg, ec='#1e3a5a', lw=0.5, radius=0.05)
box(11.2, ry - 0.35, 10.2, 0.5, fc=bg, ec='#1e3a5a', lw=0.5, radius=0.05)
txt(5.75, ry - 0.1, left, fs=8.8, color='#b3e5fc')
txt(16.3, ry - 0.1, right, fs=8.8, color='#b2dfdb')
# ── BOTTOM BANNER ─────────────────────────────────────────────────────────────
box(0.3, 0.3, 21.4, 3.95, fc='#12253a', ec='#f0a500', lw=1.5, radius=0.3)
txt(11, 4.0, 'KEY AGADADRAVYAS (Antidotal Herbs)', fs=11, bold=True, color='#f0a500')
herbs = [
('Shirisha\nशिरीष', 'Albizia lebbeck\nAll poisons'),
('Haridra\nहरिद्रा', 'Curcuma longa\nAnti-toxic'),
('Sarpagandha\nसर्पगन्धा', 'Rauwolfia\nSnake venom'),
('Neem\nनीम', 'Azadirachta\nDetox & anti-viral'),
('Vatsanabha\nवत्सनाभ', 'Aconitum\n(purified form)'),
('Garlic\nलहसुन', 'Allium sativum\nHeavy metals'),
]
hw = 3.3
for i, (name, details) in enumerate(herbs):
hx = 0.6 + i * (hw + 0.1)
box(hx, 0.45, hw, 3.2, fc='#1b3a1b', ec='#66bb6a', lw=1, radius=0.25, alpha=0.85)
txt(hx + hw/2, 3.2, '🌿', fs=14)
txt(hx + hw/2, 2.72, name, fs=8.5, bold=True, color='#a5d6a7')
txt(hx + hw/2, 2.18, details, fs=7.8, color='#c8e6c9')
# ── WATERMARK / FOOTER ────────────────────────────────────────────────────────
txt(11, 0.18, 'Sources: Sushruta Samhita · Charaka Samhita · Ashtanga Hridayam · CCIM Syllabus (Agad Tantra evam Vidhi Vaidyaka)',
fs=7.5, color='#4a6a8a')
plt.savefig('/tmp/workspace/agada-tantra/agada_tantra_echart.png',
dpi=150, bbox_inches='tight', facecolor='#0d1b2a')
plt.close()
print("Chart saved successfully!")
cd /tmp/workspace/agada-tantra && python echart.py 2>&1
cd /tmp/workspace/agada-tantra && python -c " import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt # remove devanagari and emoji, keep only transliterated text # check if chart file is > 100KB (means it rendered ok) import os size = os.path.getsize('agada_tantra_echart.png') print(f'File size: {size} bytes ({size//1024} KB)') "
fc-list | grep -i "noto" | grep -i "deva" | head -5 2>/dev/null; fc-list | grep -i "lohit" | head -3 2>/dev/null; fc-list | grep -i "mangal" | head -3 2>/dev/null; python3 -c "import matplotlib.font_manager as fm; fonts=[f.name for f in fm.fontManager.ttflist if any(x in f.name.lower() for x in ['noto','lohit','mangal','freesans'])]; print(fonts[:10])"
pip install --quiet --user Pillow 2>/dev/null; python3 -c " from PIL import ImageFont, ImageDraw, Image import os # Check for Noto Devanagari font paths = ['/usr/share/fonts/', '/usr/local/share/fonts/'] for p in paths: for root, dirs, files in os.walk(p): for f in files: if 'deva' in f.lower() or 'hindi' in f.lower(): print(os.path.join(root, f)) " 2>/dev/null | head -10
~/agada-tantra/echart2.py
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from matplotlib.patches import FancyBboxPatch
from matplotlib import font_manager
# Register Devanagari font
deva_font_path = '/usr/share/fonts/google-droid-sans-fonts/DroidSansDevanagari-Regular.ttf'
font_manager.fontManager.addfont(deva_font_path)
# Find a decent regular English font
regular_font = 'DejaVu Sans'
fig = plt.figure(figsize=(24, 30), facecolor='#0d1b2a')
ax = fig.add_axes([0, 0, 1, 1])
ax.set_xlim(0, 24)
ax.set_ylim(0, 30)
ax.axis('off')
ax.set_facecolor('#0d1b2a')
def box(x, y, w, h, fc, ec='white', lw=1.2, radius=0.3, alpha=1.0, zorder=3):
r = FancyBboxPatch((x, y), w, h,
boxstyle=f"round,pad=0,rounding_size={radius}",
facecolor=fc, edgecolor=ec, linewidth=lw, alpha=alpha, zorder=zorder)
ax.add_patch(r)
def txt(x, y, s, fs=10, color='white', ha='center', va='center', bold=False, font=regular_font):
w = 'bold' if bold else 'normal'
ax.text(x, y, s, fontsize=fs, color=color, ha=ha, va=va,
fontweight=w, zorder=5, fontfamily=font,
multialignment='center')
def dtxt(x, y, s, fs=10, color='white', ha='center', va='center', bold=False):
"""Devanagari text"""
w = 'bold' if bold else 'normal'
ax.text(x, y, s, fontsize=fs, color=color, ha=ha, va=va,
fontweight=w, zorder=5, fontfamily='Droid Sans Devanagari',
multialignment='center')
# ── subtle grid bg ──────────────────────────────────────────────────────
for i in range(0, 25, 3):
ax.axvline(i, color='#1a2e45', lw=0.3, zorder=0, alpha=0.5)
for j in range(0, 31, 3):
ax.axhline(j, color='#1a2e45', lw=0.3, zorder=0, alpha=0.5)
# ────────────────────── TITLE ─────────────────────────────────────────────
box(0.3, 28.1, 23.4, 1.65, fc='#0f3460', ec='#f0a500', lw=3, radius=0.4)
txt(12, 29.35, 'AGADA TANTRA', fs=30, bold=True, color='#f0a500')
txt(12, 28.72, 'Scope & Modern Clinical Relevance', fs=14, color='#cce4ff')
txt(12, 28.28, 'One of Ashtanga Ayurveda Eight Branches | Ancient Toxicology Meets Modern Medicine', fs=10, color='#7ab0d4')
# ────────────────────── DEFINITION ────────────────────────────────────────
box(0.3, 26.5, 23.4, 1.38, fc='#112240', ec='#4fc3f7', lw=1.5, radius=0.3)
txt(12, 27.54, '"Agada Tantra deals with identification, prevention, diagnosis & treatment of Visha (poisons)"', fs=11, color='#e0f4ff')
txt(12, 26.93, 'Sushruta Sutra 1/8/6 | Also known as: Visha Tantra | Damshtra Chikitsa | Visha Vidya | Jangulika Vidya', fs=9, color='#8ab8d8')
# ────────────────────── VISHA CLASSIFICATION ─────────────────────────────
box(0.3, 24.55, 23.4, 1.72, fc='#0a2818', ec='#66bb6a', lw=1.5, radius=0.3)
txt(12, 25.93, 'VISHA CLASSIFICATION (Types of Poisons)', fs=12, bold=True, color='#a5d6a7')
visha = [
('Sthavara Visha\n(Plant & Mineral)', '#2e7d32'),
('Jangama Visha\n(Animal Venoms)', '#1b5e20'),
('Gara Visha\n(Artificial Toxins)', '#388e3c'),
('Dushi Visha\n(Latent / Chronic)', '#4caf50'),
('Sanyogaja Visha\n(Combination)', '#1a7a40'),
]
vw = 4.45
for i, (name, col) in enumerate(visha):
vx = 0.5 + i * (vw + 0.12)
box(vx, 24.65, vw, 1.15, fc=col, ec='#a5d6a7', lw=1, radius=0.2, alpha=0.88)
txt(vx + vw/2, 25.22, name, fs=9, bold=True, color='white')
# ────────────────────── SCOPE TITLE ──────────────────────────────────────
txt(12, 24.25, 'SCOPE & MODERN APPLICATIONS', fs=13, bold=True, color='#f0a500')
# ────────────────────── 8 SCOPE CARDS (2 rows x 4 cols) ──────────────────
cards = [
{
'num': '01',
'title': 'Envenomation\nManagement',
'sub_ay': 'Sarpa / Keeta Visha Chikitsa\nAgadadravyas - Shirisha,\nSarpagandha, Garlic',
'sub_mod': 'Anti-Snake Venom Therapy\nEmergency Toxicology\nCritical Care Protocols',
'color': '#4a0072', 'edge': '#ce93d8'
},
{
'num': '02',
'title': 'Environmental &\nOccupational Toxicology',
'sub_ay': 'Dushi Visha - chronic\nexposure to low-potency\ntoxins in environment',
'sub_mod': 'Heavy Metals (Pb, As, Hg)\nPesticide / Insecticide\nAir & Water Pollution',
'color': '#0d3b6e', 'edge': '#90caf9'
},
{
'num': '03',
'title': 'Drug Safety &\nPharmacovigilance',
'sub_ay': 'Visha Vardhaka Bhava\n(factors that enhance\ntoxicity of substances)',
'sub_mod': 'Drug-Drug Interactions\nADR Monitoring\nHeavy Metal Drug Safety',
'color': '#004d40', 'edge': '#80cbc4'
},
{
'num': '04',
'title': 'Food Toxicology\n& Public Health',
'sub_ay': 'Gara Visha - artificially\nprepared poisons, food\nadulterants, preservatives',
'sub_mod': 'Food Safety Regulations\nFSSAI Standards\nAdulteration Testing',
'color': '#bf360c', 'edge': '#ffccbc'
},
{
'num': '05',
'title': 'Emergency &\nClinical Toxicology',
'sub_ay': 'Vamana, Virechana for\nVisha removal - classical\npurification protocols',
'sub_mod': 'Gastric Lavage\nActivated Charcoal\nICU Poisoning Management',
'color': '#7f0000', 'edge': '#ef9a9a'
},
{
'num': '06',
'title': 'Substance Abuse\n& De-addiction',
'sub_ay': 'Madatyaya Chikitsa\nMadya Visha (alcohol)\nNarcotics & intoxicants',
'sub_mod': 'De-addiction Medicine\nRehabilitation Programs\nWithdrawal Management',
'color': '#4a148c', 'edge': '#e1bee7'
},
{
'num': '07',
'title': 'Forensic Medicine\n(Vyavahara Ayurveda)',
'sub_ay': 'Thanatology, wound\nclassification, asphyxial\ndeaths, identity',
'sub_mod': 'Post-Mortem Examination\nForensic Science Lab\nEvidence in Courts',
'color': '#1b3a1b', 'edge': '#aed581'
},
{
'num': '08',
'title': 'Medical Jurisprudence\n(Vidhi Vaidyaka)',
'sub_ay': 'Vaidya Sadvritta\n(physician ethics)\nDuties & rights',
'sub_mod': 'IPC, MCI Regulations\nConsumer Protection Act\nMedico-Legal Cases',
'color': '#01333a', 'edge': '#4dd0e1'
},
]
cw = 5.65
ch = 4.6
gx = 0.32
gy = 0.32
row_y = [19.3, 14.35]
for idx, card in enumerate(cards):
row = idx // 4
col = idx % 4
cx = 0.4 + col * (cw + gx)
cy = row_y[row]
# Card background
box(cx, cy, cw, ch, fc=card['color'], ec=card['edge'], lw=1.5, radius=0.35, alpha=0.92)
# Number badge
box(cx + 0.1, cy + ch - 0.62, 0.62, 0.52, fc='#ffffff22', ec=card['edge'], lw=1, radius=0.1)
txt(cx + 0.41, cy + ch - 0.36, card['num'], fs=9, bold=True, color=card['edge'])
# Title
txt(cx + cw/2 + 0.2, cy + ch - 0.36, card['title'], fs=9.5, bold=True, color='white')
# Divider line
ax.plot([cx + 0.2, cx + cw - 0.2], [cy + ch - 0.72, cy + ch - 0.72],
color='#ffffff44', lw=0.8, zorder=5)
# Ayurveda box
ay_y = cy + ch - 0.78 - 1.82
box(cx + 0.15, ay_y, cw - 0.3, 1.78, fc='#ffffff10', ec='#ffffff40', lw=0.8, radius=0.2)
txt(cx + cw/2, ay_y + 1.56, 'Ayurvedic Concept', fs=8, bold=True, color='#ffe082')
txt(cx + cw/2, ay_y + 0.85, card['sub_ay'], fs=8.2, color='#e8f5e9')
# Modern box
mod_y = cy + 0.15
box(cx + 0.15, mod_y, cw - 0.3, 1.78, fc='#ffffff10', ec='#4fc3f740', lw=0.8, radius=0.2)
txt(cx + cw/2, mod_y + 1.56, 'Modern Equivalent', fs=8, bold=True, color='#80deea')
txt(cx + cw/2, mod_y + 0.85, card['sub_mod'], fs=8.2, color='#e0f7fa')
# ────────────────────── THREE PILLARS ────────────────────────────────────
box(0.3, 12.4, 23.4, 1.72, fc='#0f2236', ec='#f0a500', lw=1.5, radius=0.3)
txt(12, 13.76, 'THREE PILLARS OF AGADA TANTRA', fs=12, bold=True, color='#f0a500')
pillars = [
('AGADA TANTRA', 'Clinical Toxicology', '#1565c0'),
('VYAVAHARA AYURVEDA', 'Forensic Medicine', '#6a1b9a'),
('VIDHI VAIDYAKA', 'Medical Jurisprudence', '#1b5e20'),
]
pw = 7.5
for i, (name, sub, col) in enumerate(pillars):
px = 0.5 + i * (pw + 0.2)
box(px, 12.5, pw, 1.0, fc=col, ec='white', lw=1, radius=0.2, alpha=0.9)
txt(px + pw/2, 13.12, name, fs=10.5, bold=True, color='white')
txt(px + pw/2, 12.73, sub, fs=9, color='#cce4ff')
# ────────────────────── COMPARISON TABLE ─────────────────────────────────
box(0.3, 5.3, 23.4, 6.85, fc='#07192b', ec='#4fc3f7', lw=1.5, radius=0.3)
txt(12, 11.85, 'COMPARATIVE TABLE: Agada Tantra vs Modern Medicine', fs=12, bold=True, color='#4fc3f7')
# Header row
box(0.5, 11.1, 11.2, 0.6, fc='#1565c0', ec='none', lw=0, radius=0.1)
box(12.0, 11.1, 11.3, 0.6, fc='#00695c', ec='none', lw=0, radius=0.1)
txt(6.1, 11.4, 'AGADA TANTRA CONCEPT', fs=10, bold=True, color='white')
txt(17.65, 11.4, 'MODERN MEDICINE EQUIVALENT', fs=10, bold=True, color='white')
table_rows = [
('Visha Vijnana', 'Clinical Toxicology'),
('Visha Shodhana (Purification)', 'Decontamination / Detox Protocols'),
('Agada Dravya (Antidotal Herbs)', 'Antidote Therapy'),
('Vamana / Virechana for Visha', 'Emesis / Gastric Lavage / Cathartics'),
('Dushi Visha (Latent Toxins)', 'Chronic / Cumulative Toxicity'),
('Gara Visha (Artificial Poisons)', 'Chemical / Food / Industrial Toxins'),
('Madatyaya Chikitsa', 'Substance Abuse Medicine'),
('Visha Vardhaka Bhava', 'Drug Interactions / Bioavailability Factors'),
]
for i, (left, right) in enumerate(table_rows):
ry = 10.58 - i * 0.62
bg = '#0e2438' if i % 2 == 0 else '#091c2e'
box(0.5, ry - 0.42, 11.2, 0.58, fc=bg, ec='#1e3a5a', lw=0.5, radius=0.06)
box(12.0, ry - 0.42, 11.3, 0.58, fc=bg, ec='#1e3a5a', lw=0.5, radius=0.06)
txt(6.1, ry - 0.12, left, fs=9.2, color='#b3e5fc')
txt(17.65, ry - 0.12, right, fs=9.2, color='#b2dfdb')
# ────────────────────── AGADADRAVYAS BANNER ──────────────────────────────
box(0.3, 0.4, 23.4, 4.65, fc='#0a1e14', ec='#66bb6a', lw=1.5, radius=0.3)
txt(12, 4.74, 'KEY AGADADRAVYAS (Classical Antidotal Herbs & Substances)', fs=12, bold=True, color='#a5d6a7')
herbs = [
('Shirisha', 'Albizia lebbeck', 'All poisons\nUniversal antidote'),
('Haridra', 'Curcuma longa', 'Anti-toxic\nDetoxification'),
('Sarpagandha', 'Rauwolfia serpentina', 'Snake venom\nNeurological'),
('Neem', 'Azadirachta indica', 'Detox & anti-viral\nEnvironmental toxins'),
('Vatsanabha', 'Aconitum ferox\n(purified)', 'Pain & venoms\n(Shodhita form)'),
('Tagar', 'Valeriana wallichii', 'Sedative toxins\nNervine antidote'),
]
hw = 3.75
hstart = 0.55
for i, (name, latin, use) in enumerate(herbs):
hx = hstart + i * (hw + 0.1)
box(hx, 0.55, hw, 3.9, fc='#0f2d18', ec='#66bb6a', lw=1, radius=0.25, alpha=0.9)
# name
txt(hx + hw/2, 4.08, name, fs=10, bold=True, color='#a5d6a7')
# divider
ax.plot([hx+0.15, hx+hw-0.15], [3.82, 3.82], color='#66bb6a66', lw=0.7, zorder=5)
# latin
txt(hx + hw/2, 3.55, latin, fs=8, color='#81c784', bold=False)
# use
txt(hx + hw/2, 2.98, use, fs=8.5, color='#c8e6c9')
# ── FOOTER ────────────────────────────────────────────────────────────────
txt(12, 0.22,
'Ref: Sushruta Samhita (Kalpa Sthana) | Charaka Samhita | Ashtanga Hridayam | CCIM Syllabus (Agad Tantra evam Vidhi Vaidyaka)',
fs=7.5, color='#3a5a7a')
plt.savefig('/tmp/workspace/agada-tantra/agada_tantra_echart.png',
dpi=155, bbox_inches='tight', facecolor='#0d1b2a')
plt.close()
print("Chart saved!")
import os
print(f"Size: {os.path.getsize('/tmp/workspace/agada-tantra/agada_tantra_echart.png')//1024} KB")
cd /tmp/workspace/agada-tantra && python echart2.py 2>&1 | grep -v "UserWarning\|Glyph\|plt.savefig\|missing from"
agada tantra echart
Image · PNG
| Section | Content |
|---|---|
| Title Block | Agada Tantra - full heading with subtitle |
| Definition | Sushruta Sutra reference + alternate names |
| Visha Classification | 5 types of poisons in colored boxes |
| 8 Scope Cards (2 rows x 4) | Har card mein Ayurvedic concept + Modern equivalent |
| Three Pillars | Agada Tantra + Vyavahara Ayurveda + Vidhi Vaidyaka |
| Comparison Table | 8 rows - Agada vs Modern side by side |
| Key Agadadravyas | 6 antidotal herbs with Latin names & uses |
| References | Footer mein classical text references |