IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 3ディー システムズ インコーポレイテッドの特許一覧

特許7605909三次元印刷指向の画像区分化のための方法およびシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】三次元印刷指向の画像区分化のための方法およびシステム
(51)【国際特許分類】
   B29C 64/386 20170101AFI20241217BHJP
   B33Y 50/00 20150101ALI20241217BHJP
   B33Y 10/00 20150101ALI20241217BHJP
【FI】
B29C64/386
B33Y50/00
B33Y10/00
【請求項の数】 4
【外国語出願】
(21)【出願番号】P 2023099878
(22)【出願日】2023-06-19
(62)【分割の表示】P 2019547805の分割
【原出願日】2017-11-23
(65)【公開番号】P2023116734
(43)【公開日】2023-08-22
【審査請求日】2023-07-04
(31)【優先権主張番号】62/425,948
(32)【優先日】2016-11-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519185030
【氏名又は名称】3ディー システムズ インコーポレイテッド
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100205659
【弁理士】
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100126000
【弁理士】
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100185269
【弁理士】
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】カリスマン オレン
(72)【発明者】
【氏名】プリ-タル ダン
(72)【発明者】
【氏名】ポラット ロイ
(72)【発明者】
【氏名】ヴァックスマン ヤーロン
【審査官】家城 雅美
(56)【参考文献】
【文献】国際公開第2016/152356(WO,A1)
【文献】特開2016-107582(JP,A)
【文献】特開2016-116040(JP,A)
【文献】国際公開第2012/132463(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B29C 64/386
B33Y 50/00
B33Y 10/00
(57)【特許請求の範囲】
【請求項1】
三次元(3D)物体を生成するために画像データを変換する方法であって、前記方法は、
三次元ボリュームを表す画像データを受信するステップと、
1つ以上の三次元マスクを生成するために前記画像データを区分化するステップと、
或る特定のプリンタを記述するデータを用いて、前記1つ以上の三次元マスクの印刷性について評価するステップと、
前記評価が前記1つ以上のマスクは印刷不可能と判断した場合、前記1つ以上の三次元マスクを調整して、前記評価するステップを繰り返すステップと、
前記評価が前記1つ以上の三次元マスクは印刷可能と判断した場合、前記物体を印刷するためにプリンタに入力されるデータを生成するステップと、
を含む、方法。
【請求項2】
3Dプリンタに入力される前記データを用いて前記3D物体を印刷するステップを含む、請求項1に記載の方法。
【請求項3】
調整するステップが、印刷対象のセクションの厚さを増大または低減するステップを含む、請求項1に記載の方法。
【請求項4】
前記1つ以上の三次元マスクの解像度を調整するステップを含む、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元(3D:three-dimensional)または立体印刷システムに関し、さらに具体的には、区分化対象の3Dまたは他の画像データから、3D画像定義またはデータを生成し、そのデータを印刷することに関する。
【背景技術】
【0002】
3D印刷システムは、通常、三次元物体を形成するために、入力コンピュータデータまたは定義に基づいて、z軸(通常、層を形成して行く上下方向)に沿って断面パターンに結合される材料の連続する層を形成することによって三次元物体を生成する。立体印刷システムは、例えば、ステレオリソグラフィ、レーザ焼結、熱溶融堆積造形、選択堆積造形(例えば、インクジェット堆積)、フィルム転写印刷、およびその他によって部分を構築する諸システムを含む。
【0003】
3Dプリンタは、入力として印刷対象の物体を定義するデータを取り入れることができる。3Dプリンタ入力データまたは3D定義ファイルの例には、STL(STereoLithography(ステレオリソグラフィ))フォーマットデータなどの多角形(三角形群による表面の近似)、AMF(Additive Manufacturing File Format(付加製造ファイルフォーマット))およびVRML(Virtual Reality Modeling Language(仮想現実モデリング言語))フォーマットデータを含めることができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
3D物体を生成するために、3D医用画像データ、例えば、医用デジタル画像および通信(DICOM:Digital Imaging and Communications in Medicine)データ、CT(computed tomography(コンピュータ断層撮影))データ、MRもしくはMRI(magnetic resonance imaging(磁気共鳴画像法))データ、超音波データ、または画像スライスのスタックなどの画像データを使用することが望まれている。例えば、患者の画像を撮ることができ、その患者の血管系、心臓、脊柱などの全部または一部の3Dモデルを印刷することが望まれている。3D画像データの3Dプリンタデータへの変換は簡単ではないことがあり、例えば、異なる3Dプリンタは相異なる特性を有し、変換がこれらの特性を考慮に入れていないことがある。
【課題を解決するための手段】
【0005】
画像データ、例えば医用画像データを三次元プリンタデータに変換するためのシステムおよび方法。例えば対象または患者の三次元ボリュームを表す画像データを受信することが可能である。或る特定のプリンタを表現するプリンタ定義データを用いて、三次元ボリュームの少なくとも部分を表す画像データから、3Dプリンタ入力データを生成することができる。
【0006】
発明と見なされる主題は具体的に指摘され、本明細書の結びの部分中で明確に主張されている。図の簡潔性および明瞭性のため、諸図中に示された要素は、必ずしも正確な縮尺で描かれていない。例えば、これら要素の一部の寸法は、提示事項の明確化のため、他の要素に比較して拡大されていることがある。さらに、参照符号は、合致または類似する要素を示すために、諸図の間で繰り返して使用されることがある。また一方、本明細書は、機構および作動の方法の両面に関し、それらの目的、特徴、および利点とともに、以下の詳細な説明を添付の図面と合わせ読んで参照することによって、最良に理解することができよう。
【図面の簡単な説明】
【0007】
図1】本発明の或る実施形態による、コンピューティングデバイスの概略的ブロック図表示である。
図2】本発明の或る実施形態による、システムの概略的ブロック図表示である。
図3】本発明の一実施形態による、方法を表すフローチャートである。
図4A】本発明の一実施形態による、ボイドを有する3Dボリュームの二次元(2D)表現を示す。
図4B】本発明の一実施形態による、ボイドが充填されてボリュームが得られた3Dボリュームの二次元(2D)表現を示す。
図5A】本発明の一実施形態による、歯と下顎骨との間に境界を有する3Dボリュームの2D表現を示す。
図5B】本発明の一実施形態による、歯と下顎骨との間の境界が除去されてギャップが生成された3Dボリュームの2D表現を示す。
図6A】本発明の一実施形態による、骨セグメントを含む3Dボリュームの2D表現を示す。
図6B】本発明の一実施形態による、骨セグメントを含む3Dボリュームの2D表現を示す。
図7A】本発明の一実施形態による、拡張の前と後とのモデルを示す。
図7B】本発明の一実施形態による、拡張の前と後とのモデルを示す。
図7C】本発明の一実施形態による、拡張の前と後とのモデルを示す。
【発明を実施するための形態】
【0008】
当然のことながら、図の簡潔性および明瞭性のため、諸図中に示された要素は必ずしも正確な縮尺で描かれていない。例えば、これら要素の一部の寸法は、明確化のため、他の要素に比較して誇張されていることがある。さらに、適切と考えられる場合、参照符号は、一致するまたは類似する要素を示すために諸図の間で繰り返して使用されることがある。
【0009】
以下の詳細な説明において、いくつかの実施形態の徹底した理解を提供するために、数々の具体的な細部が述べられる。但し、当業者には当然のことながら、一部の実施形態は、これらの具体的細部がなくても実践が可能である。別の例では、周知の方法、手順、コンポーネント、ユニット、および/または回路は、当の説明をあいまいにしないため詳しくは述べられていない。
【0010】
例えば、「処理する」、「計算する」、「算定する」、「判断する」、「設定する」、「分析する」、「確認する」、または類似ものなどの用語を用いた、本明細書中の説明は、コンピュータのレジスタおよび/またはメモリ内の物理的(例えば電子的)量として表現されたデータを、同様にコンピュータのレジスタおよび/またはメモリ、または、演算および/または処理を実行するための命令を格納することが可能な他の情報ストレージ媒体内に物理的量として表現される、他のデータに操作および/または変換する、コンピュータ、コンピューティング・プラットフォーム、コンピューティング・システム、または他の電子コンピューティングデバイスの、オペレーション(群)および/または処理(群)を称するとしてよい。
【0011】
「一実施形態」、「或る実施形態」、「例証的な実施形態」、「例示的な実施形態」、「様々な実施形態」などへの言及は、述べられた実施形態(群)が或る特定の特徴、構造、または特性を含み得るが、必ずしも、あらゆる実施形態がその特定の特徴、構造、または特性を含むのでないことを示す。語句「一実施形態において」の繰り返しての使用は、同じ場合もあり得るが必ずしも同じ実施形態に言及してはいない。いくつかの実施形態は、諸実施形態の異なる説明からの特徴を含み得て、例えば、或るシステムおよび方法が、部厚化および/またはボイド生成および/または分解能調整などを用いることがある。
【0012】
本明細書で説明されるロジック、モジュール、デバイス、およびインターフェースは、ハードウェアおよび/またはコード中に実装することが可能な機能を実行することができる。ハードウェアおよび/またはコードは、当該機能性を達成するために設計された、ソフトウェア、ファームウェア、マイクロコード、プロセッサ、状態マシン、チップセット、またはこれらの組み合わせを含んでよい。
【0013】
本発明の諸実施形態は、「印刷指向の」区分化(「POS:print-oriented segmentation」)またはデータ変換を行うことができる。諸実施形態は、対象(例えば人間の患者)の3Dボリュームを表す画像データを入力し、POS処理において、プリンタ定義データ(例えば、印刷に使用するのが望ましい特定のプリンタ、特定の印刷作業のためのプリンタの設定、作業に使用するための印刷材料、または他のパラメータ)を使ってまたはそれにしたがって、その画像データから、三次元ボリュームの少なくとも部分を表現する3Dプリンタ入力データを生成する、ことによって、例えば3Dボリュームを表す画像データを3Dプリンタデータに変換することができる。画像データは区分化することが可能で、これは、通常、医用画像データからマスク、3D材料が印刷されるべき箇所には例えば1を含み材料が印刷されるべきでない箇所には例えば0を含む、3Dマトリックスへの変換を伴う。他の適切なデータ構造も使用が可能である。区分化は、ボリュームを印刷対象の部分に分割すること、および/または特定の印刷対象部分を(例えば、ユーザ入力にしたがって)選択することを含んでよい。区分化は、例えば、閾値設定、および/または特定の種類の構造体用に設計された特定の既知のツールまたはアルゴリズムによって行うことが可能である。例えば、或る既知のツールまたはモジュールは、画像データを異なった骨群に分けて区分化でき、或る既知のツールまたはモジュールは、画像データを異なった軟組織器官に分けて区分化することができる。区分化によって、例えば、椎骨ごとに1マスク、または歯ごとに1マスクといったように、1つまたは複数のマスクを生成することが可能である。既知の変換または区分化方法には、例えば、周知の歯の区分化(例えば、Hui GaoおよびOksam Chae著、「Individual tooth segmentation from CT images using level set method with shape and intensity prior」、Pattern Recognition誌、巻43、2010年7月7日発行、2406~2417頁)、および血管の区分化(例えば、David Lesagea、Elsa Angelini、Isabelle Bloch、Gareth Funka-Lea著、「A review of 3D vessel lumen segmentation techniques: Models, features and extraction schemes」、Medical Image Analysis誌、巻13、2009年12月6日発行、819~845頁)が含まれてよい。
【0014】
区分化は、通常、プリンタデータへの変換に先立って行われる。次いで、3D物体を印刷して生成するために、プリンタによってそのプリンタ入力データを使用することができる。従来技術の区分化およびデータ変換は、通常、区分化されたデータが3D印刷されることになるかどうか、および/またはプリンタの特性の評価、に関係なくこれらを考慮せずに行われ、低品質の印刷をもたらしている。例えば、プリンタが、かかる印刷作業を引き受ける際に、当該区分化が、例えば、部分が薄すぎるまたは連結部分がないので不十分である、との通知を提示するとよい。これに比べて、本発明の諸実施形態は、そのアウトプットが、一組の仕様を備えた特定の3Dプリンタのためのものであることを考慮に入れた、区分化またはデータ変換処理を行うことができる。最も適切な印刷モデルを効率的な仕方で達成するために、当該3Dプリンタの仕様(制約および/または利点)を用いて3Dモデルを生成することが可能である。これによって、個別のプリンタが評価されていない場合に生じ得る、脆弱なセクション、不正確な部分、または「ピクセル化した」モデルなどの問題を低減または排除することができる。本発明の諸実施形態は、DICOM、MR、またはCTデータなどにより定義された医療グレードのボリュームと合わせ用いられるとき、とりわけ有利であり得るが、本発明の諸実施形態は、非医用画像データなど、他のデータと協働することもできる。
【0015】
図1は、本発明の一実施形態による、或るシステムを表す。撮像システム90は、対象92(例えば、人間の患者)を撮像し、3D医用画像データ、例えば、CTデータ、MRもしくはMRIデータ、超音波データ、画像スライスのスタック、または他の画像データなどの(対象、または対象の部分を表現している)画像データ94を生成することができ、該システムは、例えばCTシステムまたはMRIシステムであってよい。他の医用または非医用撮像システムも使用可能である。本明細書では医用の撮像または画像データについて説明しているが、他の撮像システムを使うことも可能で、また、本明細書で使用される画像データは、特定の物体を撮像するのでなく人為的に生成されている。例えば、入力データは3D物体とすることができる。これら3D物体は、3D画像データ、メッシュデータ、容積物体、多角形メッシュ物体、点群、3D物体の関数的表現、CADファイル、3Dpdfファイル、STLファイル、および/または3D物体を表現できる任意の入力を含み得る。これら3D画像データは、CTデータ、コーンビーム断層撮影法(「CBCT」:Cone Beam Computed Tomography)画像データ、MRIデータおよび/またはMRA画像データ(例えば、造影剤使用のMRI)、または超音波画像データを含め、医用画像データを含んでよい。これら3D物体は、解剖体(例えば複雑な解剖体)、工業データ、または任意の3D物体であってよい。
【0016】
撮像システム90は、画像データ94を、例えば、パーソナルコンピュータ、ワークステーションなどのコンピュータ20に送信または伝送することができる。コンピュータ20は、プリンタ定義データ22を考慮に入れてまたはそれにしたがって、画像データ94を処理し、3Dプリンタ入力データ11、例えば、3Dメッシュ、3D定義ファイル、PLY(Polygon File Format(多角形ファイルフォーマット))、STL(ステレオリソグラフィ)、AMF(ASTM付加製造ファイルフォーマット)、VRML(仮想現実モデリング言語)、または他のデータを、3Dプリンタ10に出力し、該プリンタが、そのデータを、物理的な現実社会の3D印刷物体12として印刷することができる。画像データ94、プリンタ定義データ22、および3Dプリンタ入力データ11が、コンピュータ20によって(例えば図2のメモリ40中に)格納されて示されているが、適切な場合、かかるデータは、撮像システム90およびプリンタ10を含め、図1の諸デバイスによって格納されまたは共有されてよい。例えば、撮像システム90は、画像データ94を生成することができ(このデータは別の仕方で生成されてもよく、別の情報源から到来してもよい)、画像データ94をコンピュータ20に送信または伝送することが可能で、該コンピュータは、3Dプリンタ入力データ11を生成することができ、データ11を3Dプリンタ10に送信または伝送することができる。
【0017】
3Dプリンタ10は、物理的な現実社会の3D印刷物体12を生成するため、入力または構築材料(例えば、感光性ポリマーまたは他の材料)を使用するための様々な方法を用いることができ、該物体の印刷は、X/Y/Z軸に関して定義しまたは検討することが可能で、このZ軸は堆積材料の層のセットの垂直方向の関係を定義する。
【0018】
撮像システム90、コンピュータ20、および3Dプリンタ10の各々は、図2中に記載された構成部品の何らかのバージョンなどのコンピューティングコンポーネントを含んでよく、例えばネットワーク60によって連結が可能である。他の実施形態では、図示された全ての構成部品を使用しなくてもよい。例えば、画像データは、撮像システム90からコンピュータ20に直接入力するのでなく、むしろ、例えば、フラッシュドライブ、ディスクなどを介して入力してもよい。構成部品は組み合わせることが可能で、例えば、画像または撮像データ94を3Dプリンタデータ11に変換するとして説明されたコンピュータ20の機能は、3Dプリンタ10に組み込まれてもよい。
【0019】
一実施形態において、3Dプリンタ10は、例えば、トレイ18上に選択的に投与することが可能な物体生成構築材料16の供給を含む、カートリッジ14を含むことができる。トレイ18は、構築プロセスの過程で、3D物体12を構築するために使われる立体印刷材料を保持する。一実施形態において、立体印刷材料は、当該技術分野で既知のまたは今後考案される任意の光硬化型材料とすることができる。本発明の様々な実施形態とともに使用するのに適した印刷または物体生成材料の例には、例えば、光硬化型材料、プラスチック、および金属が含まれる。立体印刷材料16は、カートリッジ14から、該カートリッジの底部壁上の1つ以上のディスペンサ、インクジェット、または選択的にオープン可能なバルブ15を通して投与されてよい。シャトル19などの移動装置は、ディスペンサまたはバルブ15を、一般に、立体印刷装置10のx軸および/またはy軸沿いに前後左右に移動し、おそらくは、層を生成するために、ディスペンサまたはバルブ15をz軸沿いに上下に移動させることが可能である。本発明の他の実施形態は、印刷材料をトレイ中に投与するための別のデバイスを含む。他の実施形態は、選択的堆積または図示された特定の構成部品の使用を必要とせず、例えば、3Dプリンタ10は、インクジェットプリンタヘッドによって層ごとに粉体床の上にバインダ材料を堆積するシステム、または、レーザが粉体材料を焼結するSLS(selective laser sintering(選択的レーザ焼結))を用いることができる。
【0020】
図2は、例えば印刷システム90、コンピュータ20、および3Dプリンタ10の部品であり得るコンピューティングコンポーネントを表す。コンピューティングデバイス30は、例えば中央処理ユニットプロセッサ(CPU:central processing unit processor)、チップまたは任意の適切なコンピューティングまたは計算デバイスとすることが可能なコントローラ32、汎用処理ユニット(GPU:general processing unit)33、オペレーティングシステム50、メモリ34、ストレージ36、入力デバイス38、および出力デバイス40を含むことができる。
【0021】
オペレーティングシステム50は、調整、スケジューリング、裁定、監督、制御、または、例えばプログラム実行のスケジューリングなど、コンピューティングデバイス30のオペレーションのその他の管理を含むタスクを行うように設計および/または構成された任意のコードセグメントであってよく、またはそれらを含んでよい。メモリ34は、例えば、ランダムアクセスメモリ(RAM:Random Access Memory)、読取り専用メモリ(ROM:read only memory)、ダイナミックRAM(DRAM:Dynamic RAM)、シンクロナスDRAM(SD-RAM:Synchronous DRAM)、ダブルデータレート(DDR:double data rate)メモリチップ、フラッシュメモリ、揮発性メモリ、不揮発性メモリ、キャッシュメモリ、バッファ、短期メモリユニット、長期メモリユニット、または他の適したメモリユニットもしくはストレージユニットであってよく、またはそれらを含んでよい。メモリ34は、複数の、おそらくは相異なるメモリユニットであってよく、またはそれらを含んでよい。実行可能コードまたはソフトウェア52は、例えば、アプリケーション、プログラム、処理、タスク、またはスクリプトなど、任意の実行可能コードであってよい。実行可能コードまたはソフトウェア52は、例えば、区分化アルゴリズムまたは処理、画像データを3D印刷仕様データに変換するための処理などを含むことができる。実行可能コード52は、おそらくはオペレーティングシステム50の制御の下で、コントローラ32によって実行が可能である。例えば、実行可能コード52は、本明細書で説明した方法を実行するアプリケーションであってよい。コントローラ32は、例えば、コード52を実行することよって、本明細書で説明した方法を遂行するように構成されてよい。
【0022】
ストレージ36は、例えば、ハードディスクドライブ、フロッピーディスクドライブ、コンパクトディスク(CD:Compact Disk)ドライブ、CD記録可能(CD-R:CD-Recordable)ドライブ、ユニバーサルシリアルバス(USB:universal serial bus)デバイス、または他の適切なリムーバブルおよび/または固定ストレージユニットであってよく、またはそれらを含んでよい。
【0023】
入力デバイス38は、マウス、キーボード、タッチスクリーンもしくはパッド、または任意の適した入力デバイスであってよく、またはそれらを含んでよい。当然のことながら、任意の適切な数の入力デバイスを接続することが可能である。出力デバイス40は、例えば、1つ以上のディスプレイ、スピーカ、および/または任意の他の適した出力デバイスを含んでよい。当然のことながら、任意の適切な数の出力デバイスを動作可能に接続することができる。
【0024】
本発明の諸実施形態は、プロセッサまたはコントローラによって実行されたときそのプロセッサまたはコントローラに本明細書に開示された方法を遂行させる命令、例えばコンピュータ実行可能命令を、符号化し、包含し、または格納する、例えばメモリ、ディスクドライブ、またはUSBフラッシュメモリなど、コンピュータまたはプロセッサの非一時的可読媒体、またはコンピュータまたはプロセッサの非一時的ストレージ媒体などの製品を含むことができる。
【0025】
図3は、本発明の一実施形態による、方法を表すフローチャートである。オペレーション300で、画像情報および/またはプリンタ情報を入力することができる。例えば、3Dボリューム(例えば、3D画像または撮像データなどの画像データ94)および(例えば、個別のプリンタ、使用材料などを記載した)プリンタ仕様書または定義データ22を入力することが可能である。また、入力は、例えば、解像度など、画像データを記述するデータであってもよい。オペレーション310で、初回の区分化、処理、または変換を行うことができる。初回の区分化では、3Dボリュームを1つ以上のマスク24に変換することが可能で、これらを初期マスクとすることができる。区分化は、生体内のフィーチャ(例えば、各種の骨、器官、歯等)などのフィーチャを識別すること、および各種のフィーチャにしたがってマスクまたはマスク群を分割することを含み得る。閾値設定による区分化など、様々な区分化アルゴリズムおよび指定ツールが使用可能である。初回処理320は、解像度変更、ボイドの充填、接触マスクの間の境界の壊食または除去などの処理を含んでよい。いくつかのオペレーションは組み合わせることが可能で、例えば、区分化310に解像度変更を組み込むことができる。初回処理320では、プリンタ仕様書または定義データ22を考慮に入れることが可能である。
【0026】
オペレーション330で、前のオペレーションのアウトプット(例えば、1つ以上のマスク)を、例えば、品質、強度、および/または印刷性について評価することができる。マスクまたはマスクの一部が印刷不可能、あるいは何らかの品質試験に不合格になった場合、オペレーション340で、おそらくは精度をいじることなく、マスクを調整、変更、または修正することが可能で、例えば、これらの「修正(fix)」はプリンタの解像度と同じ解像度であってよい。評価および変更または調整は、反復されまたは繰り返されてよい。通常、評価330は、調整340の後に再度行われる。
【0027】
マスクが印刷可能である場合、オペレーション350で、例えば、平滑化、または薄め処理もしくは壊食等のモフォロジー処理など、知られた作業による後処理をマスクに行うことが可能である。いくつかの実施形態において、後処理が印刷可能な、または印刷不可能なマスクをもたらしたかどうかを判断するために、後処理のアウトプットをオペレーション330の評価に付すことができる。オペレーション360で、マスクは、プリンタに入力または送信が可能な、3Dボリュームの少なくとも部分を表すデータに変換することが可能で、例えば、マスクはメッシュに変換することが可能である。オペレーション370で、3Dプリンタによってそのメッシュを印刷することができる。
【0028】
本発明の一実施形態において、画像データ94(例えば、3D画像または撮像データ)は、プリンタ仕様書または定義データ22を考慮に入れながらまたはそれにしたがって、3Dプリンタ入力データ11(例えばメッシュ)に変換することが可能である。例えば、プリンタ入力データは、3Dボリュームの少なくとも部分を表すことが可能な、または3Dプリンタが3Dボリュームの少なくとも部分を印刷できることを可能にする、画像または撮像データ94から生成(例えば、該データから変換)することができる。画像データは、例えば、区分化を必要とし得る3Dカラーまたはグレースケールデータ(例えば、CTまたはMRのDICOM画像、二次元(2D)画像のシリーズ)を含むボリュームであってよい。次いで、3Dプリンタが、プリンタ入力データ、および画像データまたは3Dボリュームに対応する3D物体または物体群を印刷することができる。プリンタ仕様書または定義データ22は、通常、ユーザがある印刷作業のために使用を意図している、特定のプリンタまたはプリンタの型を記述している。プリンタ仕様書または定義データ22は、或る特定の3Dプリンタ、および/または或る特定のプリンタのモデルに対する動作パラメータ、解像度、公差、精度などを記述することができる。プリンタ仕様書または定義データ22は、対象プリンタ(例えば、ユーザによって使用を意図されたプリンタ、または使用のため選択されたプリンタ)が用いている特定の印刷材料についてのデータを含むことが可能で、いくつかのプリンタは相異なる材料を使用し得る。したがって、プリンタ仕様書または定義データ22は、特定のプリンタ、および或る特定の作業のためにそれが使用することを意図された材料の型を記述するデータを含んでよい。上記変換は、区分化、すなわち、生体内のフィーチャ(例えば、器官、血管系、器官の部分、骨等)などのフィーチャを識別すること、および、例えば1つ以上のマスク24を生成することを含み得る。各マスク24は、例えば、印刷対象のボリューム内の各種の物体、器官、印刷対象の身体部分、骨などを表現することができる。画像データ94は、対象(例えば患者であるが、但し、いくつかの実施形態では非生物体が対象であってよい)の三次元ボリュームを表すまたは描写することが可能である。但し、画像データ94は完全な3Dデータである必要はなく、例えば、2Dスライスのセットが画像データ94を形成し、3Dボリュームを表現することも可能である。例えば、各スライスの間の距離または間隔が分かっている場合、2Dスライスの積層であってよいCTデータを入力とすることができる。
【0029】
プリンタデータへの変換の前に、画像データは、印刷が望まれる1つ以上の部分(例えば、器官、組織)に分割または区分化することができ、無関係な画像データ(例えば、ユーザに関係ない器官または組織など、印刷対象外の体内ボリューム)は除外することが可能である。この分割または区分化により、1つ以上の画像データセグメントまたは部分(例えばマスク)を生成することが可能で、これらの画像データセグメントまたは部分の各々を、プリンタ入力、仕様書または定義データに変換することができ、各セグメントが印刷対象の物体を表現する。マスク24または他のデータ構造を用いることが可能で、またはこれらを区分化処理のアウトプットとして産出または生成することができる。マスク24は、当該マスクによって画定された画像データの部分だけが、3Dプリンタ入力データに変換されるようにすることができる。例えば、画像データが、ユーザが3D物体に変換することを望む組織(例えば心臓)および望まない組織(例えば、肺、結合組織、骨、皮膚など)を含む、患者の胸部などのボリュームであるかもしれない。マスク24は、印刷対象の物体または器官を画定することができる。一実施形態において、該マスクは、画像データ94が、該画像データ94中の各ボクセルに対してそれが3D物体に変換されるべきかどうかをブール値(例えば1/0、真/偽であるが、但し、他の値を使ってもよい)で表すサイズと同じサイズまたは体積のボリュームまたは領域を表現する、データ構造とすることができる。一実施形態において、このマスクは、初期には全て偽/0値を含んでよく、印刷対象のボクセル/部分が、真/1に変更された値を有することができる。ボクセルが用いられない場合、マスク24は、例えば、画像データ94の諸部分に対応するブール値を包含する別の仕方、または別の方法で画像データ94を操作することが可能である。例えば、1が3D物体中に含まれることを示してよく、0が含まれないことを示してもよい。複数のマスク24を使用することが可能で、各々が1物体に対応し、例えば、1つのマスクが、心臓の1つの心室に対応してこれを印刷させ、別のマスクが、心臓の別の心室に対応してこれを印刷させることが可能である。
【0030】
一実施形態において、コンピュータ20などのワークステーションは、プリンタ10から、プリンタ定義データ22などのプリンタ仕様書を受信することができ、あるいは、プリンタ定義データ22を、または例えばその1つがいくつかの特定のプリンタもしくはプリンタモデルの各々に対応する、プリンタ定義データ22の複数のセットを、含むことができる。例えば、メモリ34またはストレージ36に格納された、自動骨区分化などの区分化ツールまたはアルゴリズムがコンピュータ20(または区分化を行うデバイス)に提供されてよい。
【0031】
コンピュータ20は、プリンタ定義データ22を含むことができ、あるいは例えばコンピュータ20上にインストールされたドライバを使って、例えばプリンタ10から該データを受信することができる。コンピュータ20上に格納されたファイルまたはソフトウェアがかかるデータを含んでもよく、例えば、該データは、各サポート対象プリンタに対してインストールし更新することができ、かかるデータをプリンタから受信する必要はない。プリンタ定義データ22は、ユーザに使用されるまたは選択される可能性がある各プリンタに対するデータ、例えば、空間解像度、層厚さ\Z軸解像度データ(例えば、プリンタによって印刷された層の間の距離)、印刷公差(例えば精度)、プリンタのモデルまたは型、対象プリンタによって使用されているプリンタ技術(例えば、SLA、デジタル部分実体化(DPM:digital part materialization)、熱溶解積層造形(FDM:fused deposition modelling)など、使用材料(これは材料の強度を入手または検索するために使うことができ、材料強度は別個のパラメータとしても知られ得る)などを含んでよい。
【0032】
コンピュータ20に入力を与えるユーザは、対応するプリンタ定義データ22を備える或る特定の3Dプリンタを選択することが可能で(例えば、システムは、例えば入力デバイス38を介してユーザ入力を受信することができる)、いくつかの実施形態では、プリンタに使用するため別途に材料選択を入力することができ、または、プリンタ定義データ22を入力することもできる。
【0033】
コンピュータ20は、例えば、撮像システム90から、または別の情報源から、画像データ94など、処理および/または区分化の対象であるボリュームを受信することが可能である。一実施形態において、区分化を含め画像データ94からプリンタ入力データ11へのデータ変換は、コンピュータ20上で行うことができるが、他の実施形態では、諸処理は例えば3Dプリンタ10上で行うこともできる。コンピュータ20は、(例えば、コントローラ32によってまたはその上で実行される)区分化または分割ツール、および他のアルゴリズムを用い、1つ以上のマスク24を出力することが可能である。
【0034】
一実施形態において、ユーザは、どのように区分化を行うかを選択することができ、例えば、ユーザは、心臓が、1つの物理的3D物体を生成するように区分化されるべきと決めることができ、あるいは、心臓が、心臓の諸セクションに従い、いくつかの物理的3D物体を生成するように区分化されるべきと決めることもできる。ユーザは、例えば、シードポイントを設けるために、表示された領域上を(ポインティングデバイスを使って)クリックすることが可能で、コネクティドコンポーネンツアルゴリズムなど既知のアルゴリズムが、そのシードを用いて、器官または骨などのフィーチャを選択することができる。既知のアルゴリズムを用いて、例えば、1つのマスクが器官、骨、または器官の部分(例えば、心臓の心室)の各々に対応するように、マスク(群)を生成することも可能である。区分化処理へのユーザの他の入力も受信されてよい。ユーザは、例えば、かかる入力を、入力デバイス38を介してコンピュータ20に与えることができ、システムは、例えば入力デバイス38を介してユーザ入力を受信することができる。
【0035】
様々な既知の区分化アルゴリズムまたは処理法を用いることが可能である。例えば、閾値設定を用いることができ、これでは、入力ボリューム中の各ボクセルに対し、それが要求値の範囲内にある、または閾値の上または下にある場合に、該ボクセルは、例えば、マスク中に真または「印刷」とマークされるように区分化される。他の適切な区分化アルゴリズムが使われてもよい。
【0036】
マスク(群)24は、分割または区分化処理のアウトプットであってよく、例えば、3Dモデルまたはモデルのセクションが、当該ボリュームとの関連で何処に存在するか示すことが可能な3Dブールデータを含むことができる。
【0037】
各マスク24は、例えば、おそらくは関連諸物体のセットの中の1物体を表現するデータオブジェクトであってよい。例えば、第1マスクは心臓の第1セクションとすることができ、第2マスクは心臓の第2セクションとすることができる。いくつかの実施形態では、マスクまたは区分化を使う必要はない。例えば、本明細書で説明した変換処理は、区分化なしにデータに適用することが可能である。
【0038】
コンピュータ20は、画像データ94に、マスクを使用またはマスクを適用し、該データを、3D印刷ボリューム定義または3Dモデル構成体に変換し、例えば3Dプリンタ入力データ11の形で、3D印刷ボリューム定義、3Dモデル構成体、メッシュなどを生成または計算し、そのデータをプリンタ10に送信することができる。次いで、例えばその3Dプリンタ入力データ11を用いて、プリンタが3D物体を印刷することが可能である。
【0039】
画像データをプリンタ入力データに変換するために、または変換の過程で、1つ以上のオペレーションが単独でもしくは組み合せで使用されてよい。例えば、POS処理は、解像度の向上、層厚さの調整、充填または境界部厚化、複雑なマスク構造の処理、現実社会では連結している構造体の分離、および印刷のための部分の連結を含み得る。
【0040】
様々な実施形態において、初回区分化(例えば、オペレーション310)の一部として、指定ツールでの骨区分化、または他の区分化を行うことができる。例えば、既知の閾値アルゴリズムは骨値を用いることが可能である(例えば、CTモダリティに対し、MinThresVal(最小閾値)=100HU、MaxThresVal(最大閾値)=1000HUに基づいて、画像データ中のボクセルを変換する。HU=ハウンスフィールド単位)。骨区分化アルゴリズムは、区分化処理の一部として骨の内部部分について返答または識別することが可能である。かかる結果に対する区分化処理は、例えば、所望の骨、他の骨、および背景の間を見分けるため、グラフに対するアルファ拡張アルゴリズムとすることができる。アルファ拡張アルゴリズムは、データの分離(例えば、「骨」と「骨以外」)を最適化するアルゴリズムを含み得る。
【0041】
図6Aは、識別された骨セグメント610を有する3Dボリューム600の2D表現を示す。図6Aは、結果から選択された連結コンポーネントの閾値ベースの区分化の結果を示す。図6Bは、識別された骨セグメント610を有する3Dボリューム600の2D表現を示す。図6Bは、一実施形態による印刷指向の区分化を示し、ギャップおよび穴605は、より印刷性が高くより強い物体を生成するために充填されている。
【0042】
例えば、器官の部分(例えば、心臓の心室)を分離する、または異なる器官を分離するなど、他の区分化を行うこともできる。
【0043】
解像度の調整
【0044】
様々な実施形態において、初回処理(例えば上記のオペレーション320)の一部として、3Dプリンタ入力データは、或る解像度、または修正された必要な解像度(例えば、ボリュームの解像度)を有することが可能で、これはプリンタの能力および解像度に関係する。例えば、プリンタ、したがってその関連入力データは、例えば、プリンタ公差、層間の距離、ボクセルのサイズ、x、y、またはzラインまたはボクセルの数などとして表された解像度を有し得る。3Dプリンタ入力データの生成には、プリンタを記述する、またはプリンタの設定を記述するプリンタ定義データに従ったアウトプットである、マスクの解像度の調整を含めることができる。例えば、区分化を得た後、その区分化結果を、より高い(例えば、プリンタの精度と同じまたはそれを上回る)解像度に平滑化することが可能である。
【0045】
初期入力ボリュームは、例えば、医用入力データまたは画像データ94(例えばCT、MRデータ)とすることができる。このボリュームは、特定の寸法(例えば、モダリティ、医療プロトコル、走査装置などにより決まる)を持つボクセルで構成されてよい。この初期の医用入力データボリュームまたは画像データ94の解像度は、変更することが可能で、それに応じマスクの解像度も変わり得る。
【0046】
解像度を変更する場合、プリンタの公差を考慮に入れることが可能である。一実施形態において、処理にあたっては、プリンタの解像度として、プリンタの公差(例えば、印刷平面上の印刷の精度)および層の厚さ(例えば、プリンタのz方向の精度)を考慮することができる。3Dプリンタは、通常、例えば、メッシュまたはボクセルデータにしたがって、層ごとに印刷する。各層の高さは、その層の厚さである。3Dプリンタは、ボクセルに沿って特定のx,y位置に材料を配置する必要がある。但し、3Dプリンタは正確でないことがあり、材料を、代わりにx+T,y+Tに配置する。このTは、公差である(例えば、Tはmmまたはマイクロメートルの範囲であり得よう)。公差は、z/厚さ/層方向にも存在し得て、xおよびyに対する公差とは異なる値を有し得る。個別のプリンタ、またはプリンタのモデルに対する公差(例えば、X/Y/Zに対する一組の公差)は、既知であり得る。これら公差および層厚さは知られているか、またはユーザによって見積もることが可能で、考慮に入れることができる。
【0047】
層厚さおよび公差が、ボリュームの解像度と類似の「プリンタ解像度」を構成し得る。3Dプリンタは、空間中のどの特定の点に材料を印刷すべきか、すべきでないかの情報を有するか、または「知っている」必要がある。空間中(3D印刷構築の領域中)のこの点の最小寸法(または解像度)は、層厚さおよび公差である。入力医用ボリュームの解像度が、プリンタの解像度(例えば、層厚さおよび公差)に「調整」または適合されていれば、より良好な印刷またはより良好なPOSを達成することが可能である。
【0048】
例えば、選択されたまたはプリンタ定義データに記述された3Dプリンタが、作像対象のボリュームよりも高い解像度を有する場合、ボリューム中の各ボクセルが、プリンタの精度と同じかそれを上回るように、ボリュームの解像度を増大するため、補間を行うことができよう。
【0049】
ResizeFun(VolumeInput,Resize Vector)(リサイズ関数(ボリューム入力,リサイズベクトル))などの関数を使用することが可能で、この関数は、解像度を増大または低減(例えば、入力ボリュームがプリンタよりも高い解像度を有する場合)するため、医用画像ボリュームまたはマスクを補間する当該技術分野で周知の任意の関数であってよい。適した既知の関数には、MathWorks.comにおいて提示されたmultimodality non-rigid demon algorithm image registration(多モダリティ非剛性デーモンアルゴリズム画像表示)が含まれる。
【0050】
かかる関数は、入力として、3Dマスクまたは3Dボリュームであってよいリサイズ対象のボリュームであり得る、VolumeInput(ボリューム入力)、および各寸法の変更サイズを示すリサイズパラメータであり得る、Resize Vectorを受け入れることができる。
【0051】
このリサイズベクトルは、プリンタの解像度とボリュームの解像度との間の解像度係数を示す無次元数(群)であっても、それを含んでもよい。例えば、プリンタの解像度が、(1,1,0.5)[mm(当然ながらこれは他の次元であってもよい)]であり、ボリュームの解像度が、(2,2,2)同様に[mm(当然ながらこれも他の次元であってよい)]である場合、リサイズベクトルは、無次元(無単位)の(2,2,4)である。
【0052】
一実施形態において、Resize Vector=VolumeResolution(ボリュームの解像度)/PrinterResolution(プリンタの解像度)である。
【0053】
一実施形態において、以下が仮定される。
【0054】
VolumeInputが、以下の解像度Rx、Ry、Rz、および幅、奥行き、高さ(行、列、およびスライスの数)を有する。
【0055】
このデータは、例えばDICOMファイルからのものである。
【0056】
RxおよびRyは、DICOMタグ(0028,0030)PixelSpacing(ピクセル間隔)[mm]と呼ばれる。
【0057】
Rzは、DICOMタグ(0018,0050)SliceThickness(スライス厚さ)、またはDICOMタグ(0020,1041)(両方とも[mm]単位)よって表されるスライス位置の間の差であってよい。
【0058】
プリンタ公差をPrTol、層厚さをPrLayとすることができ、これらは[mm]単位であるが、例えば、インチ、マイクロメートルなど他の次元とすることもできる。
【0059】
かかる例において、リサイズベクトルResize Vector=[Rx/PrTol,Ry/PrTol,Rz/PrLay](各次元に対して異なる値があり得る)。
【0060】
一実施形態において、ResizeFun(リサイズ関数)は、Matlab関数のVq=interp3(X,Y,Z,VolumeInput,Xq,Yq,Zq)などの既知の関数であってよい。
【0061】
例えば、
【0062】
[X,Y,Z]=meshgrid(メッシュグリッド)(0:Rx:width(幅)Rx,0:Ry:depth(奥行き)Ry,0:Rz:height(高さ)Rz)、
【0063】
[Xq,Yq,Zq]=meshgrid(0:ResizeVector(l): widthRx、
【0064】
0:ResizeVector(2):depthRy、
【0065】
0:ResizeVector(3):heightRz)。
【0066】
一実施形態において、[X,Y,Z]=meshgrid(x,y,z)、これは、ベクトルx、y、およびz中に包含される座標に基づいて、3Dグリッド座標をもたらす。X、Y、およびZで表現されるグリッドは、長さ(y)×長さ(x)×長さ(z)のサイズを有する。Meshgridは、interp3関数に対する前処理として必要な、前述のMatlab関数などの周知の関数であってよい。
【0067】
一実施形態において、VolumeInputは、解像度Rx、Ry、Rzを有し得る。プリンタ公差は、PrTol(例えば、プリンタの「軸方向」次元、z方向のプリンタの解像度)、および層厚さはPrLay(例えばRz、だがプリンタのRz)とすることができ、一実施形態では以下となる。
【0068】
ResizeVector=[Rx/PrTol,Ry/PrTol,Rz/PrLay]
【0069】
各々の次元に対し、異なった値があり得る。本明細書で述べた全ての算式、データ構造および特定のシーケンスと同様に、他のまたは異なる算式、他のデータ構造、および他の配列を使用することが可能である。
【0070】
充填または境界部厚化/印刷性評価/マスクの修正(fix)または変更
【0071】
様々な実施形態において、3Dプリンタ入力データの生成は、プリンタ定義データにしたがってまたはそれを考慮に入れて、3Dマスクが印刷可能かどうかを判断するためにそれを評価すること、および/または、(3D物体の対応するセクションの厚さを増大または低減をするため)印刷対象のプリンタ入力データ、またはフィーチャもしくは構造体の諸セクションの厚さを増大または低減するなど、検出された問題を是正すること、を含み得る。3Dプリンタ入力データの生成は、例えば、使用材料の量を削減するために、プリンタ定義データにしたがって固体領域にボイドまたは穴を生成することを含んでよい。
【0072】
中空のまたは薄細な領域を区分化または印刷するとき、それらの領域の3D印刷モデルには十分な強度がないかもしれない。本発明の諸実施形態は、かかる領域を検出することが可能で、モデルの強度を増大するために自動的なモフォロジー処理を行うことができる。
【0073】
3D印刷物体12は壊れたり潰れたりしないようにする必要がある。3D印刷物体12の境界(壁厚さ)が薄すぎる、および/または(材料強度に関係する)特定のモデルにおいて自己保持ができない材料で構築されている場合、そのモデルは、印刷の最中またはそのすぐ後で壊れる可能性がある。区分化またはデータ変換の過程で、印刷材料16の強度および/または他の特性が判明した場合、例えばPOSの過程で、3D印刷物体12の諸セクションの幅または厚さを決めることができる。メッシュまたは3Dプリンタデータ11に対し、「壁厚解析」および「境界」薄化または拡幅化と類似の処理がされてよい。これは既知の速成の処理であり、いくつかの実施形態において、これは、POSにおいて、メッシュまで遅れることなく、マスクに対し実行することが可能である。POS処理として、例えばマスクに行われる強度解析は、メッシュに対して行われる強度解析と比較すると、実施済みの変換が少なく、生データによりよく整合する結果を生成することができる。
【0074】
プリンタ定義データ22(例えば、プリンタ技術)は材料に影響し得る。プリンタ定義データ22は、材料の部厚化、薄細化、付加、および除去が、例えばプリンタ解像度のきざみ幅で行われ得るという点で、充填および他の処理に影響を与え得る。
【0075】
強度解析(例えば、後記で説明するStrAn)は、マスク、モデル、または印刷対象のボリューム(例えば、CompleteMask(完了マスク)-これは印刷対象の最終マスクとして定義されてよい)に対して行うことができ、通常、区分化の後に行われる。
【0076】
印刷性評価は、いろいろなレベルの精度で行われてよい。例えば、一般的なモデル印刷性チェック(例えば、このモデルは印刷できそうですか-「はい」または「いいえ」の回答など)を用いてよく、あるいは、結果が位置特定的な、例えば、モデルのどの領域が印刷できそうかを示す「ヒートマップ」などのデータ構造であってもよい。既知のアルゴリズムで、構築に使われる材料の判明している特性を用いて、或る特定の部分が構築の後で脆弱すぎるかどうかを判断することができる。例えば、或る厚さのモデル部分が、プラスチック製であれば脆弱すぎるが金属製であればそうでない、と判断することが可能である。より大きな部分に連結しているモデルの或る部分が、プラスチック製であれば脆弱すぎるが金属製であればそうでないと判断することができ、当然ながら、これはその連結された部分のサイズに左右され得る。
【0077】
このヒートマップに対する数学モデルは、例えば以下のようにすることができよう。MaskInput(マスク入力)は、(例えば、後記で説明するStrAnを使って)強度解析プロセスを生成するための入力として用いられる、例えば初期マスクであるブールマスクとしてよく、この解析プロセスは、入力マスクの印刷準備が完了しているかどうか、また完了していない場合それはどの領域か表す、例えばHeatMapと呼ばれる「ヒートマップ」などのデータ構造をもたらす。
【0078】
Heatmap=StrAn(MaskInput)。ヒートマップは、材料不在部に対する0などの値、および、例えば隣接するボクセル中の材料の量および局部構造に部分的に基づいて判断された、強度を示す浮動小数点数を備える、MaskInputと同じサイズのボリュームであってよい。
【0079】
いくつかの実施形態において、Heatmap(~MaskInput)=0、(マスクのないいずれの箇所も、ヒートマップはゼロであり-「関係」なし)。
【0080】
或るアウトプット例の部分として、Heatmap>StrThresに合致するまたはそうである、ヒートマップ中のどのボクセルも印刷が可能であり許容される。「是」(印刷可)または「非」(印刷不可)オプションへの入力は同じ数学モデルを有し、モデルは、全ボクセルがHeatmap>StrThresの場合にだけ印刷することができる。
【0081】
StrAnは、例えば、壁厚解析、有限要素解析(FEA:finite element analysis、これは有限要素手法(FEM:finite element method)としても知られる)、またはその他のツールなど、任意の既知の強度解析機能または処理であってよい。かかる手法は、既知の諸技法を含み、メッシュに適用することが可能である。
【0082】
StrAn処理に対する異なる手法には、例えば、マスクデータからメッシュを作製し、当該技術分野で既知のアルゴリズムを使って強度解析を行うことによって印刷性を評価することが含まれてよい。評価のフローの例には、例えば以下を含めることができる。
【0083】
初期マスクを(例えば、マーチングキューブ法など既知の手法を使って)メッシュに変換し、(例えば、壁厚解析またはFEAなど既知の手法を使って)メッシュ解析を行う。さらに、マスクに対し印刷性チェックを行うことができよう。これにより処理をより簡単にすることができる(例えば、メッシュを生成する必要がない)。
【0084】
強度解析は、モデル(構造、壁の幅など)およびプリンタ(プリンタの型、プリンタ材料)に左右され得る。これは、StrAnの過程で評価が可能で、StrThresはこれらのファクタによって決めることができる。
【0085】
一実施形態において、印刷対象領域をマークするために、新規のまたは追加のマスク(例えば、WeakMask(脆弱マスク))を生成することができ、これらの領域は、当初の印刷定義では印刷対象でなかったが、脆弱な領域を縁取るため設けられる。したがって、特定の閾値(厚さの閾値または予測強度)を下回る脆弱な領域は、新規マスクとしてマークすることができる。例えば、
【0086】
WeakMask=StrAn<StrThres
【0087】
WeakMaskは、StrAn(または、モデルのどの領域が印刷可能で、どの領域が、例えば強度問題に起因する調整を必要としているかを示すことが可能な「ヒートマップ」)中のあらゆるボクセルによって画定される新規のマスクであってよく、これはStrThres値を下回る。
【0088】
モフォロジー拡張(MorphoFun(モフォロジー関数))は、例えば以下のように定義できる。
【0089】
MorphoMask(モフォロジーマスク)=DilationFun(拡張関数)(WeakMask)
【0090】
MorphoMaskは、上記で定義されたWeakMaskに対し行われた拡張処理(DialtionFun)の後で生成されたマスクとすることができる。
【0091】
さらに、MorphoMaskは、CompleteMaskに組み合わせるまたは統合することが可能である。
【0092】
CompleteMask=MorphoMask U CompleteMask
【0093】
拡張を実行するために、マスクまたは印刷データ中の各真の(例えば、構築材料が堆積されるべきことを示している)ボクセルに対し、当該の真のボクセルを取り囲むまたは隣接するあらゆる偽のボクセルが真に設定され、これは、或る特定の厚さまで行うことができ、当該の真のボクセルの各方向に隣接する整数Xのボクセルが真に設定される。拡張においては、通常、材料が印刷されるべきことを示すように変更されたボクセルまたは領域は、関連するボクセルまたは境界に連続してまたは隣接して連結される。これに対し、充填関数に関しては、材料が印刷されるべきことを示すように変更されたボクセルまたは領域は、必ずしも関連するボクセルまたは境界に連続してまたは隣接して連結されない。
【0094】
一実施形態において、これは反復処理が可能で、得られたCompletemaskは、脆弱さについて再度解析することができ、このプロセスは、全てのモデルがStrThresを上回るまで再実行することができる。
【0095】
マスクを強化するための別の実施形態は、前述した処理と類似であり得るが、但し、下記の型の拡張関数を使用する。
【0096】
DilationFun(WeakMask,StrAn)
【0097】
この処理は、StrAnに応じてWeakMaskを拡張することができる(当該領域が弱いほどそれはより多くの拡張を「得る」)。
【0098】
マスクを強化するための別の実施形態は、前述した処理と類似であり得るが、但し、拡張関数として定義されたMorphoFunの代わりに、これは、下記に定義されるモフォロジー充填関数を使用する。
【0099】
MorphoMask=FillFun(充填関数)(WeakMask)
【0100】
1つの単純な実施形態は、境界を部厚化することによって、モデルを強化することができる。一実施形態は、A(+)Rとして、半径Rの球状素子を用いて拡張を画定することが可能である。一方でできるだけ解剖学的構造に近く、他方で印刷可能なモデルを得るために、この拡張は、モデルまたはモデルの使用に対し「重要でない」方向に向かって行われてよい。
【0101】
図7A図7B、および図7Cは、拡張の前(図7A、初期)と後(図7B、初回拡張、7C、外側への拡張)とのモデルを示す。図7A中に示された初期の薄いモデル700に対して、モデルを部厚化するための1つのオプションはそれを内側に拡張することであってよい。このようにすれば、モデルを十分に厚さを保ちながら、外側境界に関しては正確にすることが可能である。これは、モデルの外側構造が重要な場合(図7の例では、大動脈のサイズおよび構造が重要である)。その逆に、内部構造が正確であるように外側への拡張も可能である。図7Cに示されるように、これは、デバイス(例えば医療用具)を印刷済みモデルの中または内側に挿入しなければならない場合、および内部構造の寸法だけを保たねばならない場合に必要となり得る。
【0102】
ボイドの充填
【0103】
一実施形態において、初回処理もしくは区分化(例えば、オペレーション310または320)または調整もしくは後処理(例えば、オペレーション340または350)にはボイドの充填を含めることができ、このボイドは中空で印刷材料が堆積されない、3D物体の部分であってよい。例えば、よりロバストな構造体を得るまたは生成するために、充填アルゴリズムを用いることが可能である。1つの充填処置の例が図4Aおよび図4Bに示されており、これらは、図4Aに示されたボイド410を有する3Dボリューム400と、図4Bに示された充填されて得られたボリュームとの2D表現を示している。ボリューム400を表現するマスクは、ボイドデータを材料印刷対象データに変換するようにそのデータを変更されてよい。
【0104】
いくつかの実施形態において、ユーザおよび/または既知の区部化ツールもしくはアルゴリズムは、どの領域を充填するかを決めることができ、次いで、充填アルゴリズムもしくは手法が、例えば、前述のオペレーション310または320の一部として、当該領域を充填することが可能である。例えば、骨など特定の種類の構造体を区分化するため設計されたモジュールが使われ、そのモジュールが、区分化された骨の中にボイドが存在すると判断した場合、該モジュールは、既知の充填アルゴリズムを用いることができる。ユーザは、グラフィカルユーザインターフェースを使い、充填対象領域をクリックまたは選択することが可能で、次いで既知の充填アルゴリズムがその領域を充填すればよい。
【0105】
いくつかの実施形態において、区分化または初回の区分化(例えば、上記のオペレーション310)の後、およびできれば他の処理(例えば、上記の初回処理320)の後、自動プロセスが、例えば強度を向上するために、充填する必要のある領域を(例えば、上記の評価330で)判断することが可能である。次いで、例えば、上記のオペレーション340での調整の一部として充填を行うことができる。
【0106】
1つの実施の例において、充填マスク処理は、いくつかのスライスまたはセクション(例えば、ボリュームを構成する平坦なまたは比較的平面的なセクション)の各々を、画像充填の技術分野におけるいずれか周知の関数を使って、別々に充填することによって行うことができる。かかる関数は、例えば、Matlab関数imfillのBW2=imfill(BW,‘holes’)とすることが可能である。この関数は、入力バイナリ画像BW中の穴を充填することが可能で、穴は、画像のエッジから背景部を充填することによっては到達できない、一組の背景画素群である。BWは、特定のスライス中の当初のマスク(例えば、2Dマスク)であり得る。
【0107】
3D充填は簡単な処置(当面のまたは全部のボイドを充填する)であり得るが、3Dボリューム全体に行われた場合、ユーザにとって、その結果を予測するのが難しいことがある。ボイドが小さな穴を有する場合、3D充填の結果は、ボリューム全体を充填することになり得る。代わりに、各スライスに2D充填を行う実施形態は、より制御的にでき、対象となる領域だけを充填することが可能である。この処置は、例えば、軸方向充填など、どの方向にも、さらに全zスライスに亘って、または矢状充填も行うことができよう。一実施形態は、いくつかの用途ではほとんどの例でそれがうまく行くので、軸方位に行われる。
【0108】
境界の除去または生成、壊食
【0109】
一実施形態において、初回処理、区分化、または後処理は、境界を除去すること、接触しているマスクの間にギャップまたは分離域を生成すること、例えば境界部の壊食、例えばプリンタの解像度の幅でまたはプリンタ定義データにしたがって、ギャップまたはギャップ域を生成すること、を含んでよい。他の処理と同様に、材料の除去は、「印刷」部分を「印刷なし」に変えるようにマスクを変更することによって、例えば、材料が印刷されない、例えばゼロによってギャップが定義されることによって、行うことができる。プリンタ定義データは、ギャップの幅を決める最小プリンタ解像度単位を決定するための入力として使用することができる。これは、例えば、マスクごとに、印刷後に接触していないまたは分離されていることが望ましいにもかかわらず、接触または連続している諸部分を除去するために行われてよく、それら諸部分は、データを操作することによって人為的に分離することが可能である。これは、例えば、画像化物体中に、実際はボイドまたは物理的分離があるが、プリンタ解像度に起因してそれらの部分がマスクでは接触または連続していることがあって、印刷後、それらの部分が、接触していないまたは分離されているようにすることが望まれる場合に行われてよい。相互に接触しているマスクを識別し、その接触を防ぐために材料を壊食することができる。一実施形態において、アルゴリズムが、マスク異なる領域の間にボイドまたはギャップがあると判断し、結果として、そのボイドが印刷された3Dモデル中に保たれるべきであると判断することができる。
【0110】
いくつかの実施形態において、ユーザおよび/または既知の区分化ツールもしくはアルゴリズムがどの境界または材料を除去するかを決めることが可能で、次いで、適切な既知のアルゴリズムまたは手法が、例えば、上記のオペレーション310または320の一部として、材料を除去または壊食することができる。例えば、骨など特定の種類の構造体を区分化するために設計されたモジュールが使われ、そのモジュールが、連続した領域が相異なる骨であると判断した場合、該モジュールは、既知の壊食アルゴリズムを用いることができる。ユーザは、グラフィカルユーザインターフェースを使い、分離する対象領域をクリックまたは選択することが可能で、次いで既知の壊食アルゴリズムがその領域を分離すればよい。壊食は、後処理350の一部として行えばよい。
【0111】
或るマスクは、隣り合う領域の間に小さなギャップがあるような複雑な構造を有し得る。異なったマスク(例えば、歯に対する1つのマスク、下顎骨に対する別のマスク)が同じモデルから印刷され、それらが互いに非常に近接または接触している場合もこれに当たることになり得よう。この種の結果として、分離可能なモデルが望まれる場合には(例えば、心臓の異なる部分)、結合して現わされるべきでない領域において、結合または接触したマスク、または同じマスク中の結合または接触した部分を有する3Dモデルがあり得る。3Dプリンタの解像度が既知の場合、区分化部分の間の最小差は算定が可能である。最終の3D印刷物体中の、物理的に連続した心臓心室は、構築材料が堆積されていない狭いギャップによって分割または分離することが可能で、これにより、(現実では)物理的に結合されている心臓心室は、その最終構築品を調べている人によって分解することができる。
【0112】
層厚さとプリンタの公差がプリンタ解像度を構成し得る。一実施形態において、1つのバッチまたは印刷ジョブとして印刷された諸部分を分離することが望まれる場合、マスクの間の最小の差はプリンタの解像度となるはずである。POS処理の過程でこの解像度が分かっている場合、区分化された部分の間の(画像ボリューム中の、例えば、ボクセルの観点での、ボリュームまたは画像の観点での)距離は変更することが可能である。いくつかの実施形態において、必ずしも実際のプリンタまたは材料にとらわれずに、デフォルトパラメータ(例えば、プリンタパラメータ、材料など)を使用することが可能で、これらは、プリンタまたは材料に全く関わることなく、諸処理に亘って区分化および/または3D印刷を改善することができる。
【0113】
図5Aおよび図5Bは、図5A中に示されるように歯520と下顎骨530との間に境界510を有し、それが除去または壊食されて図5B中のギャップまたはギャップ領域520が生成された3Dボリューム500の2D表現を示し、このギャップは材料が印刷されない3Dモデルの部分を表す。ボリューム500を表現するマスクは、境界データを材料印刷なしまたはギャップデータに変換するようにそのデータを変更されてよい。
【0114】
例えば、MaskAおよびMaskBが2つの隣接するマスク(例えば、図5A図5Bでは歯および下顎骨)である場合、両方のマスクは、R=Rx,Ry,Rzの空間解像度を備えたプリンタによって印刷することができる。一実施形態において、RxおよびRyは、プリンタの精度または公差であり、Rzは層厚さである。プリンタ精度は、通常、XおよびY方向に定義される。マスクは、回転方向およびその軸方向またはx/y/z軸に関して、プリンタの軸方向またはx/y/z軸に整列されていない可能性があり、例えば、回転変換マトリックスTを使って、補正または回転を行う必要がある。例えば、プリンタ中のX方向をマスクのZ方向に整列することが可能かもしれない。壊食関数(例えば、マスク上の材料除去およびギャップ生成関数)は、(プリンタからの)Rを使ってい得るので、間違ったパラメータが得られる可能性があり得よう。これを記述する正確な仕方は、プリンタがR’=R’x,R’y,R’zの空間解像度を有し、Tがマスクとプリンタとの間の回転変換マトリックスであるとき、R=T(R’)、としてよい。
【0115】
MaskAとMaskBとが分離された印刷モデルを生成するために、モフォロジー処理を行うことができる。例えば、当該技術分野で知られるように、モフォロジー処理では、マスク(群)を取り、或る物体(下記の特定の例では半径Rの球体)との畳み込みによって新規のマスクを生成することが可能である。
【0116】
例えば、一実施形態において、下記が定義されれば、
【0117】
半径Rの球状エレメント(ここでは
【数1】
と表す)による壊食
【0118】
【数2】
【0119】
【数3】
【0120】
MaskA’およびMaskB’は、MaskAおよびMaskBに最も近く最も類似したマスクであり、公差Rを持つプリンタで印刷することができよう。例えば、プリンタの仕様書を所与として、MaskAおよび/またはMaskBから、印刷されたときにそれらが物理的に接触しないように、それらの境界において最少量の材料が除去され、これは、プリンタ、および材料が除去されたことを所与として、MaskA’がMaskAに最も類似したマスクであることを意味し得る。本明細書で説明した他の変更と同様に、これは、一般に、物体を定義しているデータ構造(群)(例えば、マスク(群))を修正することを意味する。一実施形態において、以下のような演算が使用されてよい。
【0121】
Matlab関数にしたがって、DistX=bwdist(MaskX)を定義し、これは、MaskXのエッジから距離マップDistXを生成する。Bwdist(間の距離)は、バイナリ画像BWのユークリッド距離変換を計算することができる。この距離変換は、BW中の各画素に対し、BWの当該画素と最近接の非ゼロ画素との間の距離である数値を割り当てることができる。
【0122】
Rは、プリンタの公差であってよい(全方向に等しいと仮定している)。
【0123】
MaskAおよびMaskBは、距離Rに分離されるべき2つのマスクである。Rに分離されている2つのマスクMaskA’およびMaskB’を生成するために、以下のような演算を行う。
【0124】
DistA=bwdist(MaskA)
【0125】
DistB=bwdist(MaskB)
【0126】
MaskA’=MaskA&DistB>R/2(&は「AND」演算である)
MaskB’=MaskB&DistA>R/2
【0127】
ボイド/薄細化の生成
【0128】
一実施形態において、区分化310または初回処理320は、3Dプリンタ入力データを生成することを含むことが可能で、該データは、例えば、プリンタ定義データにしたがって、固体領域中にボイドまたは中空領域を、またはプリンタ定義データ中の領域の薄細化を生成すること、あるいは別途に材料を除去することを含んでよい。通常、材料の使用量を削減する(例えば、コストの削減、浪費の削減、印刷の高速化)ために、または重量を低減するために、または他の理由で、材料が除去される。材料は、最大で、強度または安定性が損なわれない点まで除去することができる。
【0129】
中空にされるべき、またはボイドを有すべき領域は、連結コンポーネント領域を識別するための既知のアルゴリズムを使って、検出または識別することが可能で、この領域は、マスクの他のチャンクまたは領域に接触していない、3D物体のどのチャンクまたは領域を含んでもよい。一実施形態では、いずれのかかるチャンクまたは領域も中空化される必要がある。
【0130】
区分化域、マスク、または3Dプリンタ入力データの或る領域が固体であるかまたは完全に充填されていて、材料の該固体領域が不必要な場合、その内部領域で印刷材料が浪費されている。通常、かかる不必要なまたは冗長な充填領域は内部にあり、印刷物体の外部領域に対する境界を有していない。かかるモデルが印刷に使われることになることが判明している場合、その充填された領域は穴を開けるか、または生成されたボイドまたは(構築材料のない)空所を包有させ、したがって、構築材料を、例えば以下のようにして最小の厚さまで除去することができよう。
【0131】
CompleteMaskは、小さな境界厚さ(例えば、InitThick(初期厚さ))を備えた外部殻マスク(例えば、ShellMask)に変えるまたは変換することができる。
【0132】
CompleteMaskは、「通常の」区分化の後のマスクであってよく、中空にすることが望まれている。ShellMask(例えば、ブールマスクまたはマトリックス)は、CompleteMaskの外部殻であり、例えば、CompleteMaskの外部殻部だけが真(例えば1)である。ShellMaskは、処理の開始時にInitThick(例えば1mm)の壁厚さを有してよい。ShellMaskは、(例えば、StrAnなどの強度解析の如何によって)必要な場合、拡張され、または幅広化、または増厚されてよい。
【0133】
次いで、ShellMaskに対し、強度解析(例えばStrAn)を行うことができる。
【0134】
いくつかの実施形態において、薄細化および評価(例えば、オペレーション330)の後、モデルが、弱すぎるまたは印刷不可能であると判断された場合、例えば、DilationFun関数による拡張、本明細書で開示したプリンタ入力データのセクションの厚さを増加するための方法、または他の方法を使って是正部厚化または拡張を行ってよいが、但し、通常はマスクの内部部分(例えば、外部世界に面していないモデルの部分)だけにである。
【0135】
どれがモデルの内部部分であるかを把握するための1つのオプションは、CompleteMaskを取り、そのエッジからの距離変換上の勾配を計算することである。
【0136】
D=bwdist(~CompleteMask)(例えば、CompleteMaskの負数のMatlab、bwdist関数を用いる)。
【0137】
Gradient(D)-距離変換のMatlab勾配関数は、外側方向を与えることになる。他の方向は内向きである。
【0138】
一実施形態は、モデルの構造に対して重要でない、内部マスクの部分を除去することを含み、これは印刷材料を低減するが、同時にモデルの強度も維持する。さらに、材料の除去、材料の追加、または他の処理は、どの位多くの材料を除去するかを決めるために、品質、印刷性、または強度の評価に関連させて繰り返してまたは反復的に行うことが可能である。このような仕方で、「シミュレーション」が行われてよい。例えば、初期のモデルまたはマスクによって充填されている大動脈は、その内部部分のセクションを除去することができる。これは、前述のオペレーション330にフィードバックすることが可能で、上記のアウトプットまたはマスクは、例えば、強度について評価することができる。これは、モデルの強度が閾値の下まで低減されるまで、例えば、少なくとも1つのHeatmap<StrThresの領域が生ずるまで繰り返して、または反復的に行うことが可能である。かかる実施形態において、その前の繰り返しまたはステップの(例えば、全てのヒートマップがまだ≧StrThresであるときの)バージョンが、必要な強度および構造を保った可能な最少量の材料によるモデルである。プリンタ定義データは、ボイド生成プロセス中に、または部厚化もしくは薄細化プロセス中に入力し(したがって、これらの処理はプリンタ定義データにしたがって行うことができる)、ボイド生成、部厚化または薄細化処理の後に行われる強度解析または印刷性解析でそのプリンタ定義データを使用することが可能である。
【0139】
いくつかの実施形態において、除去(例えば、薄細化、ギャップ生成またはボイド生成)時の繰り返しは、評価(例えば、上記のオペレーション330)でモデルまたはマスクが脆弱すぎると判断され、モデルとして印刷可能であると判断された前回の繰り返しを使用するまで、繰り返すことを含んでよい。他の実施形態において、除去時の繰り返しは、評価でモデルまたはマスクが脆弱すぎると判断され、次いで、評価プロセスと相まって部厚化処理を使って印刷可能なマスクまたはモデルが生成されるまで、繰り返すことを含んでよい。
【0140】
他の方法も使用されてよい。
【0141】
本明細書では本発明の特定の特徴を図示し説明してきたが、多くの修改、代替、変更、および等価物が当業者には思い浮かぶであろう。したがって、当然のことながら、添付の特許請求の範囲は、本発明の真の趣旨内に含まれる、かかるすべての修改および変更を網羅することが意図されている。様々な実施形態を提示してきた。これらの実施形態の各々は、当然ながら、提示された他の実施形態からの特徴を含み得、具体的に説明されなかった諸実施形態も本明細書で説明された様々な特徴を含むことが可能である。
図1
図2
図3
図4A
図4B
図5A
図5B
図6A
図6B
図7A
図7B
図7C