Dicom خیلی خیلی تخصصیه....
میتونید سورس نمونه های ساخته شده رو بررسی کنید.
پروژه های نمونه:
https://github.com/mi-kas/webDICOM
https://github.com/Infogosoft/jsdicom
http://demo.leadtools.com/MedicalVie...WebViewer.aspx) http://www.leadtools.com/demos/medical-web-viewer.htm)
در مورد ذخیره کردن canvas:
تنها راهش اینه که تغییرات canvas رو مرحله به مرحله، با toDataUrl بدست بیارید و ذخیره کنید.
توی لینک بالا خروجی رو نشون داده... میتونید اون خروجی رو توی xml (از طریق سرور) دخیره کنید.
حتی میتونید اسم دکتر و تغییراتی که روی عکس اعمال کرده رو هم طبقه بندی کنید.
توی مثال زیر تغییرات توی یه متغییر ذخیره میشه- اما شما میتونید اطلاعات بدست اومده از toDataUrl رو به سرور بفرستید و یه هر شکلی که دوست داشتید ذخیره کنید:
دمــو
این رو هم دانلود کنید (توش کتابخونه مربوط به دانلود عکس از canvas هم هست):
canvas.zip