How to create a new dicom image with annotations from other?How can I safely create a nested directory?How to randomly select an item from a list?How to remove an element from a list by index?How do you read from stdin?Efficiently re-shaping a numpy ndarray from 2-D to 3-D based on elements from 2-DConvert DICOM to TIFFHow to remove a key from a Python dictionary?Representing and solving a maze given an imagehow to replace pixel data on same dicom file using pydicom to read it again with any dicom viewer?Using dicom Images with OpenCV in Python
Is there a method for differentiating informative comments from commented out code?
What's it called when the bad guy gets eaten?
Swapping "Good" and "Bad"
Can a landlord force all residents to use the landlord's in-house debit card accounts?
How to build up towards a "Moment of Reckoning" when my story is told in the first person?
What does the multimeter dial do internally?
What happens to unproductive professors?
Write a function
What is the problem here?(all integers are irrational proof...i think so)
When did "&" stop being taught alongside the alphabet?
Why is a mixture of two normally distributed variables only bimodal if their means differ by at least two times the common standard deviation?
What is the identity for Tuples?
VHF 50 Ω Antenna Over 75 Ω TV Coax
My previous employer committed a severe violation of the law and is also being sued by me. How do I explain the situation to future employers?
How does the Melf's Minute Meteors spell interact with the Evocation wizard's Sculpt Spells feature?
Performance issue in code for reading line and testing for palindrome
Bold and Colored Image Caption
No Torah = Revert to Nothingness?
Need a non-volatile memory IC with near unlimited read/write operations capability
How was the Shuttle loaded and unloaded from its carrier aircraft?
Did the Ottoman empire suppress the printing press?
What was this character's plan?
Distance between horizontal tree levels
Is it ok for parents to kiss and romance with each other while their 2- to 8-year-old child watches?
How to create a new dicom image with annotations from other?
How can I safely create a nested directory?How to randomly select an item from a list?How to remove an element from a list by index?How do you read from stdin?Efficiently re-shaping a numpy ndarray from 2-D to 3-D based on elements from 2-DConvert DICOM to TIFFHow to remove a key from a Python dictionary?Representing and solving a maze given an imagehow to replace pixel data on same dicom file using pydicom to read it again with any dicom viewer?Using dicom Images with OpenCV in Python
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I would like to create two pydicom file from one. But I can't save file in *.dcm format with annotations.
import pydicom
from pydicom.data import get_testdata_files
# read the dicom file
ds = pydicom.dcmread(test_image_fps[0])
# find the shape of your pixel data
shape = ds.pixel_array.shape
# get the half of the x dimension. For the y dimension use shape[0]
half_x = int(shape[1] / 2)
# slice the halves
# [first_axis, second_axis] so [:,:half_x] means slice all from first axis, slice 0 to half_x from second axis
data = ds.pixel_array[:, :half_x]
print('The image has x '.format(data.shape[0],
data.shape[1]))
# print the image information given in the dataset
print(data)
data.save_as("/my/path/after.dcm")
'numpy.ndarray' object has no attribute 'save_as
python pydicom
add a comment |
I would like to create two pydicom file from one. But I can't save file in *.dcm format with annotations.
import pydicom
from pydicom.data import get_testdata_files
# read the dicom file
ds = pydicom.dcmread(test_image_fps[0])
# find the shape of your pixel data
shape = ds.pixel_array.shape
# get the half of the x dimension. For the y dimension use shape[0]
half_x = int(shape[1] / 2)
# slice the halves
# [first_axis, second_axis] so [:,:half_x] means slice all from first axis, slice 0 to half_x from second axis
data = ds.pixel_array[:, :half_x]
print('The image has x '.format(data.shape[0],
data.shape[1]))
# print the image information given in the dataset
print(data)
data.save_as("/my/path/after.dcm")
'numpy.ndarray' object has no attribute 'save_as
python pydicom
add a comment |
I would like to create two pydicom file from one. But I can't save file in *.dcm format with annotations.
import pydicom
from pydicom.data import get_testdata_files
# read the dicom file
ds = pydicom.dcmread(test_image_fps[0])
# find the shape of your pixel data
shape = ds.pixel_array.shape
# get the half of the x dimension. For the y dimension use shape[0]
half_x = int(shape[1] / 2)
# slice the halves
# [first_axis, second_axis] so [:,:half_x] means slice all from first axis, slice 0 to half_x from second axis
data = ds.pixel_array[:, :half_x]
print('The image has x '.format(data.shape[0],
data.shape[1]))
# print the image information given in the dataset
print(data)
data.save_as("/my/path/after.dcm")
'numpy.ndarray' object has no attribute 'save_as
python pydicom
I would like to create two pydicom file from one. But I can't save file in *.dcm format with annotations.
import pydicom
from pydicom.data import get_testdata_files
# read the dicom file
ds = pydicom.dcmread(test_image_fps[0])
# find the shape of your pixel data
shape = ds.pixel_array.shape
# get the half of the x dimension. For the y dimension use shape[0]
half_x = int(shape[1] / 2)
# slice the halves
# [first_axis, second_axis] so [:,:half_x] means slice all from first axis, slice 0 to half_x from second axis
data = ds.pixel_array[:, :half_x]
print('The image has x '.format(data.shape[0],
data.shape[1]))
# print the image information given in the dataset
print(data)
data.save_as("/my/path/after.dcm")
'numpy.ndarray' object has no attribute 'save_as
python pydicom
python pydicom
edited Mar 26 at 0:45
Badum
asked Mar 25 at 23:38
BadumBadum
407 bronze badges
407 bronze badges
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Info on this can be foud in the pydicom documentation.
Remark on "your" ;) code: data = ds.pixel_array[:, :half_x]
assigns a view of the numpy.ndarray that is ds.pixel_array to data
. Calling data.save_as()
expectedly fails because that is an attribute of ds
not data
. As per the documentation you need to write to the ds.PixelData
attribute like so:
ds.PixelData = data.tobytes() # where data is a numpy.ndarray or a view of an numpy.ndarray
# if the shape of your pixel data changes ds.Rows and ds.Columns must be updated,
# otherwise calls to ds.pixel_array.shape will fail
ds.Rows = 512 # update with correct number of rows
ds.Columns = 512 # update with the correct number of columns
ds.save_as("/my/path/after.dcm")
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55347918%2fhow-to-create-a-new-dicom-image-with-annotations-from-other%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Info on this can be foud in the pydicom documentation.
Remark on "your" ;) code: data = ds.pixel_array[:, :half_x]
assigns a view of the numpy.ndarray that is ds.pixel_array to data
. Calling data.save_as()
expectedly fails because that is an attribute of ds
not data
. As per the documentation you need to write to the ds.PixelData
attribute like so:
ds.PixelData = data.tobytes() # where data is a numpy.ndarray or a view of an numpy.ndarray
# if the shape of your pixel data changes ds.Rows and ds.Columns must be updated,
# otherwise calls to ds.pixel_array.shape will fail
ds.Rows = 512 # update with correct number of rows
ds.Columns = 512 # update with the correct number of columns
ds.save_as("/my/path/after.dcm")
add a comment |
Info on this can be foud in the pydicom documentation.
Remark on "your" ;) code: data = ds.pixel_array[:, :half_x]
assigns a view of the numpy.ndarray that is ds.pixel_array to data
. Calling data.save_as()
expectedly fails because that is an attribute of ds
not data
. As per the documentation you need to write to the ds.PixelData
attribute like so:
ds.PixelData = data.tobytes() # where data is a numpy.ndarray or a view of an numpy.ndarray
# if the shape of your pixel data changes ds.Rows and ds.Columns must be updated,
# otherwise calls to ds.pixel_array.shape will fail
ds.Rows = 512 # update with correct number of rows
ds.Columns = 512 # update with the correct number of columns
ds.save_as("/my/path/after.dcm")
add a comment |
Info on this can be foud in the pydicom documentation.
Remark on "your" ;) code: data = ds.pixel_array[:, :half_x]
assigns a view of the numpy.ndarray that is ds.pixel_array to data
. Calling data.save_as()
expectedly fails because that is an attribute of ds
not data
. As per the documentation you need to write to the ds.PixelData
attribute like so:
ds.PixelData = data.tobytes() # where data is a numpy.ndarray or a view of an numpy.ndarray
# if the shape of your pixel data changes ds.Rows and ds.Columns must be updated,
# otherwise calls to ds.pixel_array.shape will fail
ds.Rows = 512 # update with correct number of rows
ds.Columns = 512 # update with the correct number of columns
ds.save_as("/my/path/after.dcm")
Info on this can be foud in the pydicom documentation.
Remark on "your" ;) code: data = ds.pixel_array[:, :half_x]
assigns a view of the numpy.ndarray that is ds.pixel_array to data
. Calling data.save_as()
expectedly fails because that is an attribute of ds
not data
. As per the documentation you need to write to the ds.PixelData
attribute like so:
ds.PixelData = data.tobytes() # where data is a numpy.ndarray or a view of an numpy.ndarray
# if the shape of your pixel data changes ds.Rows and ds.Columns must be updated,
# otherwise calls to ds.pixel_array.shape will fail
ds.Rows = 512 # update with correct number of rows
ds.Columns = 512 # update with the correct number of columns
ds.save_as("/my/path/after.dcm")
answered Mar 27 at 12:56
g_uintg_uint
97611 silver badges24 bronze badges
97611 silver badges24 bronze badges
add a comment |
add a comment |
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55347918%2fhow-to-create-a-new-dicom-image-with-annotations-from-other%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown