Category: Python

  • blank mp3 만들기

    Bing 에 물어봤더니 친절히 다음 코드를 알려 주었다. 아쉬운 점은 ffmpeg 가 설치된 환경에서 정상적으로 동작한다는 것을 알려주지는 않았다.

    from pydub import AudioSegment
    
    # create 1 second of blank audio
    blank = AudioSegment.silent(duration=1000)
    
    # export the blank audio as an mp3 file
    blank.export("blank.mp3", format="mp3")

  • HU로 변환하기

    DICOM 이미지의 값을 HU로 변환하는 방법.

    import pydicom
    dicom = pydicom.dcmread(filepath)
    dicom_hu = dicom.pixel_array * dicom.RescaleSlope + dicom.RescaleIntercept

    CT의 경우 slope 이 1이고 intercept 가 -1024이다. 즉, 수직 이동만 하는 것이다. 하지만 이렇게 변환해서 하는게 훨씬 더 academic 한 것 같다.

  • numpy 3d array, matplotlib

    2d array라면 matplotlib에서 plot이 잘 그려진다. 그런데 3d array라면 오류가 발생한다. 1차원 값으로 분리해줘야 한다. 여러 방법을 시도해 봤는데 numpy.nonzero를 이용한 방법이 간결하게 먹힌다. 색상 정보는 나에게 중요한게 아니라서 이 방법이 좋았다.

    dcm_x,dcm_y,dcm_z = blk.nonzero()
    dcm_color = numpy.random.rand(len(dcm_x))
    
    fig = plt.figure(figsize=(10, 10))
    
    ax = fig.add_subplot(projection='3d')
    ax.set_zlim3d(-600, 0)
    ax.view_init(30, 145)
    ax.scatter(dcm_x,dcm_y,-dcm_z,c=dcm_color)
    plt.savefig("/root/" + i +".png")
  • Jupyter 에서 bash 기본 사용하기

    Jupyter에서 terminal을 실행시키면 기본적으로 sh을 사용한다. 이것을 bash로 바꾸어 본다.

    ~/.jupyter/jupyter_lab_config.py 파일에서 다음의 내용을 추가한다.

    c.ServerApp.terminado_settings = {'shell_command': ['/bin/bash']}