Animal Anatomy in the Wolfram Language

Keiko Hirayama
Wolfram|Alpha Scientific Content Group

Join the Conversation #WolframTechConf

Introduction

Human Anatomy Data

Was introduced in Mathematica 10.3 (2015)

Detailed 3D models for ~6000 anatomical parts

AnatomyData["LeftHand","Graphics3D"]

Goal

Computable access to anatomical data collection useful for veterinarian medicine and comparative anatomy analysis

Outline

Overview of Animal Anatomy Data

Data structure

Key anatomical characteristics queries

Networks of Anatomical Structures

Hierarchical relations

Physical connectivity

Visualization

Schematic images and 3D models

Custom graphical visualization

Comparative Anatomy

Quantitative comparison

Visual comparison

Summary

Overview of Animal Anatomy Data

Data Structure

Data is accessible now via Entity["AnimalAnatomicalStructure"]

The dataset includes computable information about canine (complete) and equine (in progress) anatomical structures (more species to be added)

Like AnatomyData for humans, animal anatomical structure data is based on UMLS (Unified Medical Language System), therefore share the same concepts

UMLS integrates the medical terms from various sources and provides the hierarchical relationships of terminologies

Example: Simple hierarchical network of UMLS concept

Additional information curated by an animal science expert, Hoshi Colina

Overview of Animal Anatomy Data

Entities

Anatomical concepts (bones, muscles, organs, body segments, body systems, ....etc.) are known entities in the Wolfram Language

EntityValue["AnimalAnatomicalStructure","EntityCount"]

Entity["AnimalAnatomicalStructure"]["SampleEntities"]

Properties

More than 40 properties are available for each anatomical structure

Entity["AnimalAnatomicalStructure"]["Properties"]

Constitutional parts

(Entity[(RowWithSeparators[ , " ", "occipital bone", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","OccipitalBone::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"OccipitalBone::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])["ConstitutionalParts"]

Organ system

(Entity[(RowWithSeparators[ , " ", "pancreas", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Pancreas::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Pancreas::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])["SystemicGroup"]

Members

(Entity[(RowWithSeparators[ , " ", "set of bones", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","SetOfBones::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"SetOfBones::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])["Members"]//Short

Including all 319 bones of the dogs:

Length[(Entity[(RowWithSeparators[ , " ", "set of bones", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","SetOfBones::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"SetOfBones::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])["Members"]]

Overview of Animal Anatomy Data

Parts queries

What are the bones of the dog's left forelimb?

LinguisticAssistant

(Entity[(RowWithSeparators[ , " ", "left forelimb", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","LeftForelimb::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"LeftForelimb::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])[(EntityProperty["bones", EntityProperty["AnimalAnatomicalStructure","IncludedBones"], "EntityProperty[\"AnimalAnatomicalStructure\", \"IncludedBones\"]"])]//Shallow

Which muscles are in the dog's thigh?

(Entity[(RowWithSeparators[ , " ", "thigh", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Thigh::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Thigh::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])[(EntityProperty["muscles", EntityProperty["AnimalAnatomicalStructure","IncludedMuscles"], "EntityProperty[\"AnimalAnatomicalStructure\", \"IncludedMuscles\"]"])]

Connections queries

What does the dog's femur bone connect to?

(Entity[(RowWithSeparators[ , " ", "femur", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Femur::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Femur::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])[(EntityProperty["bone articulation", EntityProperty["AnimalAnatomicalStructure","BoneArticulation"], "EntityProperty[\"AnimalAnatomicalStructure\", \"BoneArticulation\"]"])]

Which joints are near the dog's humerus?

(Entity[(RowWithSeparators[ , " ", "humerus", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Humerus::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Humerus::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])[(EntityProperty["adjacent joints", EntityProperty["AnimalAnatomicalStructure","AdjacentJoints"], "EntityProperty[\"AnimalAnatomicalStructure\", \"AdjacentJoints\"]"])]

Networks of Anatomical Structures

Hierarchical relations of anatomical structures

Parts of the dog body:

(Entity[(RowWithSeparators[ , " ", "dog body", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","DogBody::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"DogBody::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])[(EntityProperty["constitutional parts", EntityProperty["AnimalAnatomicalStructure","ConstitutionalParts"], "EntityProperty[\"AnimalAnatomicalStructure\", \"ConstitutionalParts\"]"])]//Shallow

Find parts of the hindlimb:

(Entity[(RowWithSeparators[ , " ", "hindlimb", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Hindlimb::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Hindlimb::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])[(EntityProperty["constitutional parts", EntityProperty["AnimalAnatomicalStructure","ConstitutionalParts"], "EntityProperty[\"AnimalAnatomicalStructure\", \"ConstitutionalParts\"]"])]//Shallow

Visualize above hierarchical relations using NestGraph function:

g=NestGraph[Cases[EntityValue[#,(EntityProperty["constitutional parts", EntityProperty["AnimalAnatomicalStructure","ConstitutionalParts"], "EntityProperty[\"AnimalAnatomicalStructure\", \"ConstitutionalParts\"]"])],_Entity]&,(Entity[(RowWithSeparators[ , " ", "dog body", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","DogBody::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"DogBody::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),3,VertexSize->3,EdgeStyle->GrayLevel[.7],VertexStyle->Directive[Orange,EdgeForm[None]],GraphLayout->"BalloonEmbedding",VertexLabels->Placed["Name",Tooltip],PlotTheme->"Marketing"]

Including tissue type information:

type=Normal@GroupBy[Normal@EntityValue[VertexList[g],(EntityProperty["structure type", EntityProperty["AnimalAnatomicalStructure","StructureType"], "EntityProperty[\"AnimalAnatomicalStructure\", \"StructureType\"]"]),"EntityAssociation"],Last->First];

Legended[NestGraph[Cases[EntityValue[#,(EntityProperty["constitutional parts", EntityProperty["AnimalAnatomicalStructure","ConstitutionalParts"], "EntityProperty[\"AnimalAnatomicalStructure\", \"ConstitutionalParts\"]"])],_Entity]&,(Entity[(RowWithSeparators[ , " ", "dog body", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","DogBody::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"DogBody::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),3,VertexSize->3,EdgeStyle->GrayLevel[.7],GraphLayout->"BalloonEmbedding",VertexLabels->Placed["Name",Tooltip],VertexStyle->{Alternatives@@({(Entity[(RowWithSeparators[ , " ", "muscle", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Muscle::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Muscle::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])}/.type)->Directive[Red,EdgeForm[None]],Alternatives@@({(Entity[(RowWithSeparators[ , " ", "set of bones", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","SetOfBones::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"SetOfBones::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])}/.type)->Directive[Blue,EdgeForm[None]],Alternatives@@({(Entity[(RowWithSeparators[ , " ", "organ", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Organ::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Organ::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])}/.type)->Purple},PlotTheme->"Marketing"],SwatchLegend[{Red,Blue,Purple},{"Muscle","Bone","Organ"}]]

Networks of Anatomical Structures

Skeleton connections

Visualize connections of bones that constitute the forelimb:

boneConn=Flatten[Thread[#]&/@Normal@EntityValue[(Entity[(RowWithSeparators[ , " ", "skeleton of forelimb", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","SkeletonOfForelimb::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"SkeletonOfForelimb::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])[(EntityProperty["members", EntityProperty["AnimalAnatomicalStructure","Members"], "EntityProperty[\"AnimalAnatomicalStructure\", \"Members\"]"])],(EntityProperty["bone articulation", EntityProperty["AnimalAnatomicalStructure","BoneArticulation"], "EntityProperty[\"AnimalAnatomicalStructure\", \"BoneArticulation\"]"]),"EntityAssociation"]];

skltnGraph=Graph[Rule@@@Union[Sort[#]&/@List@@@boneConn],EdgeShapeFunction->"Line",VertexLabels->Placed["Name",Tooltip],PlotTheme->"Marketing",GraphLayout->{"EdgeLayout"->"HierarchicalEdgeBundling"}]

Include location information based on RegionCentroid property

coordinates=Normal@EntityValue[VertexList[skltnGraph],(EntityProperty["region centroid", EntityProperty["AnimalAnatomicalStructure","RegionCentroid"], "EntityProperty[\"AnimalAnatomicalStructure\", \"RegionCentroid\"]"])];

Graph[Rule@@@Union[Sort[#]&/@List@@@boneConn],VertexLabels->Placed["Name",Tooltip],VertexSize->2,VertexCoordinates->coordinates,PlotTheme->"Marketing"]

Visualization

Graphics models are available for Canine and Equine anatomical structures

Canine: ~800 parts
Equine: ~1000 parts

Typical morphology

(Entity[(RowWithSeparators[ , " ", "brain", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","Brain::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"Brain::EquusCaballus::9ycwb\"]", "animal anatomical structure"])["TypicalMorphology"]

Body location image

(Entity[(RowWithSeparators[ , " ", "organ", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","Organ::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"Organ::EquusCaballus::9ycwb\"]", "animal anatomical structure"])["BodyLocationImage"]

Regional location image

EntityValue[(Entity[(RowWithSeparators[ , " ", "left biceps brachii", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","LeftBicepsBrachii::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"LeftBicepsBrachii::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),EntityProperty["AnimalAnatomicalStructure","RegionalLocationImage",{"View"->"Left"}]]

Regional location image highlighted

EntityValue[(Entity[(RowWithSeparators[ , " ", "third metatarsal bone", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","ThirdMetatarsalBone::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"ThirdMetatarsalBone::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),EntityProperty["AnimalAnatomicalStructure","RegionalLocationHighlightedImage",{"View"->"All"}]]

A small app

Select an organ of the digestive system to visualize it

organs=(Entity[(RowWithSeparators[ , " ", "alimentary system", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","AlimentarySystem::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"AlimentarySystem::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])[(EntityProperty["organs", EntityProperty["AnimalAnatomicalStructure","IncludedOrgans"], "EntityProperty[\"AnimalAnatomicalStructure\", \"IncludedOrgans\"]"])]

Manipulate[organ/.im,{organ,organs},AppearanceElements->All,ContentSize -> 200,Initialization:>{organs=(Entity[(RowWithSeparators[ , " ", "alimentary system", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","AlimentarySystem::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"AlimentarySystem::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])[(EntityProperty["organs", EntityProperty["AnimalAnatomicalStructure","IncludedOrgans"], "EntityProperty[\"AnimalAnatomicalStructure\", \"IncludedOrgans\"]"])],im=Normal@EntityValue[organs,,"EntityAssociation"]},SynchronousInitialization->False,SynchronousUpdating->False,Deployed->True]

Visualization

3D Graphics model

Scaled based on average femur length

Coordinates are given in millimeters

Graphics models include metainformation about the sub-component structures

(Entity[(RowWithSeparators[ , " ", "larynx", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Larynx::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Larynx::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])["Graphics3D"]/.Annotation[a_,b_]:>Tooltip[a,Row[{"Entity"," ","Source"}]/.b]

Geometric computations

MeshRegion is available for additional geometric computations

mesh=(Entity[(RowWithSeparators[ , " ", "left humerus", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","LeftHumerus::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"LeftHumerus::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])["MeshRegion"]

Find surface area

Area[mesh]

Use built-in properties to access geometric parameters

Dataset@EntityValue[(Entity[(RowWithSeparators[ , " ", "left humerus", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","LeftHumerus::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"LeftHumerus::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),{(EntityProperty["mesh area", EntityProperty["AnimalAnatomicalStructure","MeshArea"], "EntityProperty[\"AnimalAnatomicalStructure\", \"MeshArea\"]"]),(EntityProperty["mesh volume", EntityProperty["AnimalAnatomicalStructure","MeshVolume"], "EntityProperty[\"AnimalAnatomicalStructure\", \"MeshVolume\"]"]),(EntityProperty["enclosing cuboid", EntityProperty["AnimalAnatomicalStructure","EnclosingCuboid"], "EntityProperty[\"AnimalAnatomicalStructure\", \"EnclosingCuboid\"]"]),(EntityProperty["enclosing sphere", EntityProperty["AnimalAnatomicalStructure","EnclosingSphere"], "EntityProperty[\"AnimalAnatomicalStructure\", \"EnclosingSphere\"]"]),(EntityProperty["enclosing sphere diameter", EntityProperty["AnimalAnatomicalStructure","EnclosingSphereDiameter"], "EntityProperty[\"AnimalAnatomicalStructure\", \"EnclosingSphereDiameter\"]"]),(EntityProperty["region bounds", EntityProperty["AnimalAnatomicalStructure","RegionBounds"], "EntityProperty[\"AnimalAnatomicalStructure\", \"RegionBounds\"]"]),(EntityProperty["region centroid", EntityProperty["AnimalAnatomicalStructure","RegionCentroid"], "EntityProperty[\"AnimalAnatomicalStructure\", \"RegionCentroid\"]"])},"PropertyAssociation"]

Visualization

Use AnatomyPlot3D to visualize anatomical structures in custom styles

AnatomyPlot3D was implemented by Jeff Bryant

AnatomyPlot3D[(Entity[(RowWithSeparators[ , " ", "left hock joint", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","LeftHockJoint::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"LeftHockJoint::EquusCaballus::9ycwb\"]", "animal anatomical structure"])]

Add styles to specific structures

musCol={(Entity[(RowWithSeparators[ , " ", "long head of left biceps femoris", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","LongHeadOfLeftBicepsFemoris::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"LongHeadOfLeftBicepsFemoris::EquusCaballus::9ycwb\"]", "animal anatomical structure"])->Purple,(Entity[(RowWithSeparators[ , " ", "short head of left biceps femoris", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","ShortHeadOfLeftBicepsFemoris::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"ShortHeadOfLeftBicepsFemoris::EquusCaballus::9ycwb\"]", "animal anatomical structure"])->Cyan};

Legended[AnatomyPlot3D[{AnatomyStyling[Append[musCol,_->Opacity[.5]]],(Entity[(RowWithSeparators[ , " ", "skeleton of left hindlimb", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","SkeletonOfLeftHindlimb::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"SkeletonOfLeftHindlimb::EquusCaballus::9ycwb\"]", "animal anatomical structure"]),First/@musCol},ViewPoint->Right],SwatchLegend[Last/@musCol,EntityValue[First/@musCol,"Name"]]]

Specify tissue colors (muscles are in blue)

AnatomyPlot3D[{AnatomyStyling[<|(Entity[(RowWithSeparators[ , " ", "muscle", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Muscle::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Muscle::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Blue|>],(Entity[(RowWithSeparators[ , " ", "left forelimb", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","LeftForelimb::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"LeftForelimb::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},ViewPoint->Right]

Additional options

Use built-in PlotTheme

Grid[Partition[Table[AnatomyPlot3D[(Entity[(RowWithSeparators[ , " ", "right forefoot", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","RightForefoot::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"RightForefoot::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),PlotTheme->i,PlotLabel->i],{i,{"Business","Classic","Scientific","Detailed","Minimal","XRay","Vintage","Monochrome"}}],4],Dividers->All]

Expose the internal structures using the ClipPlanes option

AnatomyPlot3D[{(Entity[(RowWithSeparators[ , " ", "alimentary system", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","AlimentarySystem::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"AlimentarySystem::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "respiratory system", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","RespiratorySystem::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"RespiratorySystem::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "cardiovascular system", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","CardiovascularSystem::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"CardiovascularSystem::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "nervous system", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","NervousSystem::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"NervousSystem::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "urinary system", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","UrinarySystem::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"UrinarySystem::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),Opacity[.5],(Entity[(RowWithSeparators[ , " ", "skeleton", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Skeleton::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Skeleton::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),ClipPlanes->Dynamic[{InfinitePlane[{{-78,-200,0},{-78,300,0},{-78+50,0,500}}]}],Opacity[.1],(Entity[(RowWithSeparators[ , " ", "muscular system", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","MuscularSystem::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"MuscularSystem::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),Opacity[.7],(Entity[(RowWithSeparators[ , " ", "skin", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Skin::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Skin::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},ViewPoint->Left]

AnatomyPlot3D[{AnatomyStyling[(Entity[(RowWithSeparators[ , " ", "alimentary system", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","AlimentarySystem::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"AlimentarySystem::EquusCaballus::9ycwb\"]", "animal anatomical structure"])->"Natural"],(Entity[(RowWithSeparators[ , " ", "alimentary system", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","AlimentarySystem::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"AlimentarySystem::EquusCaballus::9ycwb\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "respiratory system", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","RespiratorySystem::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"RespiratorySystem::EquusCaballus::9ycwb\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "cardiovascular system", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","CardiovascularSystem::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"CardiovascularSystem::EquusCaballus::9ycwb\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "nervous system", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","NervousSystem::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"NervousSystem::EquusCaballus::9ycwb\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "urinary system", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","UrinarySystem::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"UrinarySystem::EquusCaballus::9ycwb\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "tail skirt", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","TailSkirt::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"TailSkirt::EquusCaballus::9ycwb\"]", "animal anatomical structure"]),Opacity[.5],(Entity[(RowWithSeparators[ , " ", "skeletal system", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","SkeletalSystem::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"SkeletalSystem::EquusCaballus::9ycwb\"]", "animal anatomical structure"]),ClipPlanes->Dynamic[{InfinitePlane[{{148,-200,0},{148,300,0},{148+50,0,-500}}]}],Opacity[.3],(Entity[(RowWithSeparators[ , " ", "muscular system", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","MuscularSystem::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"MuscularSystem::EquusCaballus::9ycwb\"]", "animal anatomical structure"]),Opacity[.7],(Entity[(RowWithSeparators[ , " ", "skin", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","Skin::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"Skin::EquusCaballus::9ycwb\"]", "animal anatomical structure"])},ViewPoint->Right,PlotTheme->"Monochrome"]

Comparative Anatomy

Comparative study of the body structures across different organisms

Similarities

Internal Organs:

GraphicsRow[{AnatomyPlot3D[{(Entity["gallbladder", Entity["AnatomicalStructure","Gallbladder"], "Entity[\"AnatomicalStructure\", \"Gallbladder\"]", "anatomical structure"]),(Entity["liver", Entity["AnatomicalStructure","Liver"], "Entity[\"AnatomicalStructure\", \"Liver\"]", "anatomical structure"]),(Entity["pancreas", Entity["AnatomicalStructure","Pancreas"], "Entity[\"AnatomicalStructure\", \"Pancreas\"]", "anatomical structure"]),(Entity["stomach", Entity["AnatomicalStructure","Stomach"], "Entity[\"AnatomicalStructure\", \"Stomach\"]", "anatomical structure"]),(Entity["spleen", Entity["AnatomicalStructure","Spleen"], "Entity[\"AnatomicalStructure\", \"Spleen\"]", "anatomical structure"])},PlotTheme->"Classic"],AnatomyPlot3D[{(Entity[(RowWithSeparators[ , " ", "gallbladder", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Gallbladder::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Gallbladder::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "liver", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Liver::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Liver::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "pancreas", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Pancreas::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Pancreas::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "stomach", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Stomach::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Stomach::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "spleen", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Spleen::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Spleen::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},PlotTheme->"Classic",ViewPoint->Bottom]}]

Limb muscles:

hmlgCn=Flatten@DeleteMissing@Normal@EntityValue[(Entity[(RowWithSeparators[ , " ", "forelimb", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Forelimb::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Forelimb::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])[(EntityProperty["muscles", EntityProperty["AnimalAnatomicalStructure","IncludedMuscles"], "EntityProperty[\"AnimalAnatomicalStructure\", \"IncludedMuscles\"]"])],(EntityProperty["homologous human structures", EntityProperty["AnimalAnatomicalStructure","HomologousHumanStructures"], "EntityProperty[\"AnimalAnatomicalStructure\", \"HomologousHumanStructures\"]"]),"EntityAssociation"]//Short

GraphicsRow[{AnatomyPlot3D[{Flatten[Last/@hmlgCn],(Entity["skeleton of upper limb", Entity["AnatomicalStructure","SkeletonOfUpperLimb"], "Entity[\"AnatomicalStructure\", \"SkeletonOfUpperLimb\"]", "anatomical structure"])},PlotTheme->"Web",ViewPoint->Left],AnatomyPlot3D[{First/@hmlgCn,(Entity[(RowWithSeparators[ , " ", "skeleton of forelimb", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","SkeletonOfForelimb::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"SkeletonOfForelimb::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},PlotTheme->"Web",ViewPoint->Left]}]

Differences

Neck muscles:

mus=Cases[Normal@EntityValue[(Entity[(RowWithSeparators[ , " ", "neck", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Neck::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Neck::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])[(EntityProperty["muscles", EntityProperty["AnimalAnatomicalStructure","IncludedMuscles"], "EntityProperty[\"AnimalAnatomicalStructure\", \"IncludedMuscles\"]"])],(EntityProperty["homologous human structures", EntityProperty["AnimalAnatomicalStructure","HomologousHumanStructures"], "EntityProperty[\"AnimalAnatomicalStructure\", \"HomologousHumanStructures\"]"]),"EntityAssociation"],Rule[x_,_Missing]:>x]

AnatomyPlot3D[{AnatomyStyling[#->"Natural"&/@mus],(Entity[(RowWithSeparators[ , " ", "neck", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Neck::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Neck::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},PlotTheme->"Monochrome"]

Comparative Anatomy

Quantitative comparison

Dog vs. Human muscle sizes comparison (normalized by body mass)

musclesHm=DeleteMissing@Normal@EntityValue[(Entity[(RowWithSeparators[ , " ", "muscle", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Muscle::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Muscle::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])["ImageAtoms"],"HomologousHumanStructures","EntityAssociation"]/.Rule[a_,b_List]:>{a,First@b};

vlRatio=SortBy[#[[1]]->(#[[2,1]]/(#[[2,2]]*.497))&/@Select[#[[1]]->Normal@EntityValue[#,"MeshVolume"]&/@musclesHm,FreeQ[#[[2]],_Missing]&],Last];

ListPlot[If[MatchQ[Position[vlRatio,#],{{13|16|17|19|21}}],Callout[#[[2]],#[[1]]],Tooltip[#[[2]],#[[1]]]]&/@vlRatio,PlotStyle->Directive[Orange,PointSize[Medium]],Ticks->{None,Automatic},AxesLabel->"volume ratio",PlotLabel->"Canine vs. Human muscle volume comparison"]

Canine muscles that are larger relative to its body size

GraphicsRow@EntityValue[{(Entity["levator labii superioris", Entity["AnatomicalStructure","LevatorLabiiSuperioris"], "Entity[\"AnatomicalStructure\", \"LevatorLabiiSuperioris\"]", "anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "levator labii superioris", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","LevatorLabiiSuperioris::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"LevatorLabiiSuperioris::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},(EntityProperty["regional location image", EntityProperty["AnimalAnatomicalStructure","RegionalLocationImage"], "EntityProperty[\"AnimalAnatomicalStructure\", \"RegionalLocationImage\"]"])]

GraphicsRow@EntityValue[{(Entity["coccygeus", Entity["AnatomicalStructure","Coccygeus"], "Entity[\"AnatomicalStructure\", \"Coccygeus\"]", "anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "coccygeus", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Coccygeus::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Coccygeus::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},(EntityProperty["regional location image", EntityProperty["AnimalAnatomicalStructure","RegionalLocationImage"], "EntityProperty[\"AnimalAnatomicalStructure\", \"RegionalLocationImage\"]"])]

Canine vs. Human bone sizes comparison

bonesHm=DeleteMissing@Normal@EntityValue[(Entity[(RowWithSeparators[ , " ", "set of bones", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","SetOfBones::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"SetOfBones::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])["ImageAtoms"],"HomologousHumanStructures","EntityAssociation"]/.Rule[a_,b_List]:>{a,First@b};

rdRatio=SortBy[#[[1]]->(#[[2,1]]/(#[[2,2]]*.497))&/@Select[#[[1]]->Normal@EntityValue[#,"EnclosingSphereRadius"]&/@bonesHm,FreeQ[#[[2]],_Missing]&],Last];

ListPlot[If[MatchQ[Position[rdRatio,#],{{10|126|137|142|144}}],Callout[#[[2]],#[[1]]],Tooltip[#[[2]],#[[1]]]]&/@rdRatio,PlotStyle->Directive[Orange,PointSize[Medium]],Ticks->{None,Automatic},AxesLabel->"size ratio",PlotLabel->"Canine vs. Human bones size comparison"]

GraphicsRow@EntityValue[{(Entity[(RowWithSeparators[ , " ", "distal phalanx of third digit of left hindlimb", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","DistalPhalanxOfThirdDigitOfLeftHindlimb::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"DistalPhalanxOfThirdDigitOfLeftHindlimb::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity["distal phalanx of left third toe", Entity["AnatomicalStructure","DistalPhalanxOfLeftThirdToe"], "Entity[\"AnatomicalStructure\", \"DistalPhalanxOfLeftThirdToe\"]", "anatomical structure"])},(EntityProperty["regional location highlighted image", EntityProperty["AnimalAnatomicalStructure","RegionalLocationHighlightedImage"], "EntityProperty[\"AnimalAnatomicalStructure\", \"RegionalLocationHighlightedImage\"]"])]

Canine vs. Human bones count

countFun[hm_]:=Block[{sp,mem,ia,count},
sp={"dog","human"};
mem=EntityValue[{hm,hm["HomologousHumanStructures"][[1]]},"Members"];
ia=EntityValue[{hm,hm["HomologousHumanStructures"][[1]]},"ImageAtoms"];
count=MapThread[Max[Length[#]&/@{#1,#2}]&,{mem,ia}];
hm->Association[Thread[sp->count]]
]

Dataset[Association[countFun[#]&/@{(Entity[(RowWithSeparators[ , " ", "mandibular dentition", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","MandibularDentition::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"MandibularDentition::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "maxillary dentition", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","MaxillaryDentition::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"MaxillaryDentition::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "rib", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Rib::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Rib::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "set of carpal bones", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","SetOfCarpalBones::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"SetOfCarpalBones::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "set of tarsal bones", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","SetOfTarsalBones::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"SetOfTarsalBones::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "metacarpal bone", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","MetacarpalBone::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"MetacarpalBone::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "metatarsal bone", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","MetatarsalBone::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"MetatarsalBone::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])}]]

Comparative Anatomy

Visual comparison

Ribs (highlighting equivalent bones):

homologCn=Cases[DeleteMissing@Normal@EntityValue[(Entity[(RowWithSeparators[ , " ", "rib", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Rib::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Rib::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])["ImageAtoms"],"HomologousHumanStructures","EntityAssociation"],_Entity,Infinity];

GraphicsRow[{AnatomyPlot3D[{AnatomyStyling[(#->Red)&/@homologCn],(Entity["rib cage", Entity["AnatomicalStructure","RibCage"], "Entity[\"AnatomicalStructure\", \"RibCage\"]", "anatomical structure"])},PlotTheme->"Monochrome"],AnatomyPlot3D[{AnatomyStyling[{(Entity[(RowWithSeparators[ , " ", "rib", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Rib::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Rib::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Blue,(#->Red)&/@homologCn}],(Entity[(RowWithSeparators[ , " ", "rib cage", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","RibCage::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"RibCage::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},PlotTheme->"Monochrome",ViewPoint->Left]}]

Vertebrae (in Scientific style):

GraphicsRow[{AnatomyPlot3D[{(Entity["vertebral column", Entity["AnatomicalStructure","VertebralColumn"], "Entity[\"AnatomicalStructure\", \"VertebralColumn\"]", "anatomical structure"])},PlotTheme->"Scientific"],AnatomyPlot3D[{(Entity[(RowWithSeparators[ , " ", "intervertebral disk", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","IntervertebralDisk::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"IntervertebralDisk::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "vertebra", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Vertebra::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Vertebra::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},PlotTheme->"Scientific",ViewPoint->Left]}]

Canine teeth (in Monochrome style):

GraphicsRow[{AnatomyPlot3D[{AnatomyStyling[{(Entity["left lower secondary canine tooth", Entity["AnatomicalStructure","LeftLowerSecondaryCanineTooth"], "Entity[\"AnatomicalStructure\", \"LeftLowerSecondaryCanineTooth\"]", "anatomical structure"])->Purple,(Entity["right lower secondary canine tooth", Entity["AnatomicalStructure","RightLowerSecondaryCanineTooth"], "Entity[\"AnatomicalStructure\", \"RightLowerSecondaryCanineTooth\"]", "anatomical structure"])->Purple}],(Entity["mandibular dentition", Entity["AnatomicalStructure","MandibularDentition"], "Entity[\"AnatomicalStructure\", \"MandibularDentition\"]", "anatomical structure"]),(Entity["mandible", Entity["AnatomicalStructure","Mandible"], "Entity[\"AnatomicalStructure\", \"Mandible\"]", "anatomical structure"]),(Entity["body of tongue", Entity["AnatomicalStructure","BodyOfTongue"], "Entity[\"AnatomicalStructure\", \"BodyOfTongue\"]", "anatomical structure"])},PlotTheme->"Monochrome"],AnatomyPlot3D[{AnatomyStyling[{(Entity[(RowWithSeparators[ , " ", "left lower secondary canine tooth", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","LeftLowerSecondaryCanineTooth::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"LeftLowerSecondaryCanineTooth::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Purple,(Entity[(RowWithSeparators[ , " ", "right lower secondary canine tooth", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","RightLowerSecondaryCanineTooth::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"RightLowerSecondaryCanineTooth::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Purple}],(Entity[(RowWithSeparators[ , " ", "mandibular dentition", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","MandibularDentition::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"MandibularDentition::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "mandible", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Mandible::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Mandible::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "tongue", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Tongue::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Tongue::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},PlotTheme->"Monochrome"]}]

Ankle bones (in Vintage style):

AnatomyPlot3D[{AnatomyStyling[<|(Entity[(RowWithSeparators[ , " ", "set of right carpal bones", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","SetOfRightCarpalBones::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"SetOfRightCarpalBones::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Brown,(Entity["set of left tarsal bones", Entity["AnatomicalStructure","SetOfLeftTarsalBones"], "Entity[\"AnatomicalStructure\", \"SetOfLeftTarsalBones\"]", "anatomical structure"])->Brown,_->Opacity[.15]|>],(Entity["left foot", Entity["AnatomicalStructure","LeftFoot"], "Entity[\"AnatomicalStructure\", \"LeftFoot\"]", "anatomical structure"]),(Entity[(RowWithSeparators[ , " ", "right forefoot", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","RightForefoot::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"RightForefoot::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},PlotTheme->"Vintage"]

Calcaneus bones (in X-ray style):

AnatomyPlot3D[{AnatomyStyling[<|(Entity[(RowWithSeparators[ , " ", "left calcaneus", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","LeftCalcaneus::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"LeftCalcaneus::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Directive[Red,Opacity[1]],(Entity["left calcaneus", Entity["AnatomicalStructure","LeftCalcaneus"], "Entity[\"AnatomicalStructure\", \"LeftCalcaneus\"]", "anatomical structure"])->Directive[Red,Opacity[1]]|>],(Entity[(RowWithSeparators[ , " ", "left hindfoot", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","LeftHindfoot::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"LeftHindfoot::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"]),(Entity["left foot", Entity["AnatomicalStructure","LeftFoot"], "Entity[\"AnatomicalStructure\", \"LeftFoot\"]", "anatomical structure"])},PlotTheme->"XRay"]

Comparative Anatomy

Color associated bones:

legend=SwatchLegend[{Yellow,Green,Blue,Purple,Cyan,Pink,Red},{"clavicle","scapula","humerus","radius","ulna","carpals","metacarpals"},LegendMarkerSize->10,LabelStyle->{14,White}];

GraphicsRow[{AnatomyPlot3D[{AnatomyStyling[<|(Entity["clavicle", Entity["AnatomicalStructure","Clavicle"], "Entity[\"AnatomicalStructure\", \"Clavicle\"]", "anatomical structure"])->Yellow,(Entity["scapula", Entity["AnatomicalStructure","Scapula"], "Entity[\"AnatomicalStructure\", \"Scapula\"]", "anatomical structure"])->Green,(Entity["humerus", Entity["AnatomicalStructure","Humerus"], "Entity[\"AnatomicalStructure\", \"Humerus\"]", "anatomical structure"])->Blue,(Entity["radius", Entity["AnatomicalStructure","Radius"], "Entity[\"AnatomicalStructure\", \"Radius\"]", "anatomical structure"])->Purple,(Entity["ulna", Entity["AnatomicalStructure","Ulna"], "Entity[\"AnatomicalStructure\", \"Ulna\"]", "anatomical structure"])->Cyan,(Entity["set of carpal bones", Entity["AnatomicalStructure","SetOfCarpalBones"], "Entity[\"AnatomicalStructure\", \"SetOfCarpalBones\"]", "anatomical structure"])->Pink,(Entity["metacarpal bone", Entity["AnatomicalStructure","MetacarpalBone"], "Entity[\"AnatomicalStructure\", \"MetacarpalBone\"]", "anatomical structure"])->Red|>],(Entity["skeleton of upper limb", Entity["AnatomicalStructure","SkeletonOfUpperLimb"], "Entity[\"AnatomicalStructure\", \"SkeletonOfUpperLimb\"]", "anatomical structure"])},PlotTheme->"Business"],AnatomyPlot3D[{AnatomyStyling[<|(Entity[(RowWithSeparators[ , " ", "scapula", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Scapula::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Scapula::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Green,(Entity[(RowWithSeparators[ , " ", "humerus", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Humerus::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Humerus::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Blue,(Entity[(RowWithSeparators[ , " ", "radius", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Radius::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Radius::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Purple,(Entity[(RowWithSeparators[ , " ", "ulna", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","Ulna::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"Ulna::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Cyan,(Entity[(RowWithSeparators[ , " ", "set of carpal bones", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","SetOfCarpalBones::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"SetOfCarpalBones::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Pink,(Entity[(RowWithSeparators[ , " ", "metacarpal bone", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","MetacarpalBone::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"MetacarpalBone::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])->Red|>],(Entity[(RowWithSeparators[ , " ", "skeleton of forelimb", (RowDefault["(", "dog", ")"])]), Entity["AnimalAnatomicalStructure","SkeletonOfForelimb::CanisLupusFamiliaris::4t62p"], "Entity[\"AnimalAnatomicalStructure\", \"SkeletonOfForelimb::CanisLupusFamiliaris::4t62p\"]", "animal anatomical structure"])},PlotTheme->"Business"],AnatomyPlot3D[{AnatomyStyling[<|(Entity[(RowWithSeparators[ , " ", "scapula", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","Scapula::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"Scapula::EquusCaballus::9ycwb\"]", "animal anatomical structure"])->Green,(Entity[(RowWithSeparators[ , " ", "humerus", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","Humerus::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"Humerus::EquusCaballus::9ycwb\"]", "animal anatomical structure"])->Blue,(Entity[(RowWithSeparators[ , " ", "radius", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","Radius::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"Radius::EquusCaballus::9ycwb\"]", "animal anatomical structure"])->Purple,(Entity[(RowWithSeparators[ , " ", "ulna", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","Ulna::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"Ulna::EquusCaballus::9ycwb\"]", "animal anatomical structure"])->Cyan,(Entity[(RowWithSeparators[ , " ", "set of carpal bones", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","SetOfCarpalBones::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"SetOfCarpalBones::EquusCaballus::9ycwb\"]", "animal anatomical structure"])->Pink,(Entity[(RowWithSeparators[ , " ", "metacarpal bone", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","MetacarpalBone::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"MetacarpalBone::EquusCaballus::9ycwb\"]", "animal anatomical structure"])->Red|>],(Entity[(RowWithSeparators[ , " ", "skeleton of forelimb", (RowDefault["(", "domestic horse", ")"])]), Entity["AnimalAnatomicalStructure","SkeletonOfForelimb::EquusCaballus::9ycwb"], "Entity[\"AnimalAnatomicalStructure\", \"SkeletonOfForelimb::EquusCaballus::9ycwb\"]", "animal anatomical structure"])},PlotTheme->"Business"],legend},Spacings->1,ImageSize->1100]

Summary

New collection of animal anatomy data is accessible in the Wolfram Language

Hierarchical relations and connections between anatomical structures are included

Graphical images and 3D models, including metainformation about sub-component structures, are available for visualization

The datasets, combined with technologies accessible in the Wolfram Language, allow us to explore and compare the anatomical parts across various organisms

Further species will be added (which ones would you like to see next?)

Thank you!

Björn Zimmermann

Hoshi Colina

James Mulnix

Jeff Bryant

John Cassel

Michael Trott

Tim Shedelbower